Come aggiornare Server 5 a TLS 1.2?

7

Nell'ultima versione dell'app per Apple Server versione 5.0.4 in esecuzione su El Capitan (10.11.2), i siti Web SSL utilizzano TLS versione 1.0. Ma, come un Ivan Ristic dice ," La linea di fondo è che TLS 1.0 non è sicuro e dobbiamo migrare lontano da esso ». Come raggiungerlo con il Server 5?

    
posta JYF 16.10.2015 - 12:42
fonte

1 risposta

3
  1. Vai a link e invia feedback chiedendo di aggiornare Server e OS X per supportare TLS 1.2. È ridicolo che non lo faccia, specialmente considerando che in iOS 9 e El Capitan richiedono che gli sviluppatori Apple rilasciano software che parla solo con i server TLS 1.2. Anche se è possibile applicare patch al server per operare con TLS 1.2, cosa succede quando Apple aggiorna nuovamente il server e ancora non supporta TLS 1.2? Quando installi quell'aggiornamento, sovrascriverà tutto ciò che hai posto?

  2. Nel frattempo, suppongo, l'unica vera opzione che hai, è installare OpenSSL 1.0.1 o successivo, scaricare il codice sorgente di Apache e quindi costruirlo collegandolo a OpenSSL 1.0.1, e poi sostituisci l'Apache di OS X con quello appena creato. Questo richiederà quasi certamente di disabilitare la protezione dell'integrità del sistema perché non è possibile modificare i file del sistema operativo principale come apache2. Potresti essere in grado di farla franca semplicemente cambiando mod_ssl.so dopo aver fatto la tua build. Ma è ridicolo che dovremmo anche ricorrere a questo! Apple ha bisogno di risolvere questo !!! (vedi link )

  3. Scarica VirtualBox e installa CentOS o un altro ambiente Linux avanzato per la sicurezza, ed esegui il tuo server su Mac. Perché, evidentemente, l'Apple CBA si masturba e cammina allo stesso tempo.

UPDATE:

Ecco i passaggi esatti che ho fatto per ottenere (2.) sopra per funzionare.

In questo modo OS X Server 5 funziona con TLS 1.2 e inoltra la segretezza su 10.11.1, rendendo ATS perfettamente felice (specialmente se sei uno sviluppatore, questo è davvero interessante).

  1. Installa Homebrew e prepara installsl, installa PCRE
  2. Scarica l'ultima versione di Apache, apr e apr-util
  3. Estrai il sorgente di Apache in /usr/local/src/httpd-2.4.17
  4. Estrai gli archivi apr e apr-util a /usr/local/src/httpd-2.4.17/srclib/apr e /usr/local/src/httpd-2.4.17 / srclib / apr-util
  5. Sostituisci il carattere "+" con la parola "apache2" nel file config.layout all'interno delle directory apr e apr-util
  6. In Terminale, esegui i seguenti comandi:

    cd /usr/local/src/httpd-2.4.17
    CFLAGS="-arch x86_64"
    ./configure --prefix=/usr/local/apache-2.4.17 --with-included-apr --with-included-apr-util -with-mpm=prefork --with-ssl=/usr/local/opt/openssl --enable-mods-shared=reallyall --enable-layout=Darwin
    make
    make install
    
  7. Copia mod_hfs_apple.so, mod_authnz_ldap.so e mod_ldap.so da / usr / libexec in /usr/local/apache-2.4.17/libexec/apache2/

  8. Disabilita SIP: riavvia in modalità Ripristina (comando-R), apri Terminale e digita csrutil disable . (Questo ti permette di essere in grado di apportare modifiche all'interno delle directory / usr / sbin e / usr, necessarie per sostituire l'Apache predefinito non sicuro con il nuovo sicuro che creerai.)
  9. Riavvia in modalità normale, apri Terminale e digita i seguenti comandi:

    sudo mv /usr/sbin/httpd /usr/sbin/httpd.old
    sudo mv /usr/libexec/apache2 /usr/libexec/apache2.old
    sudo ln -s /usr/local/apache-2.4.17/sbin/httpd /usr/sbin/httpd
    sudo ln -s /usr/local/apache-2.4.17/libexec/apache2/ /usr/libexec/apache2
    
  10. Riattiva SIP: riavvia in modalità Ripristina, apri Terminale e digita csrutil enable .
  11. Riavvia la modalità normale e scarica la sorgente più recente per PHP, quindi estraila in /usr/local/src/php-5.6.16 (o in qualsiasi altra versione; 7.0 è appena uscito, woot , ma non so se romperebbe gli usi di PHP di OS X Server
  12. Configura PHP con il seguente comando (modifica se necessario, ma ha funzionato per il mio stack LAMP con OS X Server 5):

    ln -s /usr/local/opt/openssl /usr/local/openssl
    cd /usr/local/src/php-5.6.16
    CFLAGS="-arch x86_64" 
    ./configure --with-openssl=/usr/local/opt/openssl --with-pcre-regex=/usr/local/opt/pcre --with-curl=/usr/bin/curl --enable-exif --with-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-pdo-mysql --enable-opcache --with-apxs2=/usr/local/apache-2.4.17/bin/apxs --prefix=/usr/local/apache-2.4.17/php/ --enable-sockets --enable-zip --with-pear=/usr/local/apache-2.4.17/lib/php --enable-mbstring --with-mysqli
    make
    make install
    
  13. In un editor di testo, modifica il file: /Library/Server/Web/Config/Proxy/servermgr_serviceproxy_customsites.plist A partire dalla riga 65, esegui questi cambiamenti (linee per cancella , nuove linee ):

    SSLCipherSuite "ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM"

    SSLCipherSuite "ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS"

    SSLHonorCipherOrder On

    SSLProtocol -ALL +TLSv1

    SSLProtocol -SSLv2 -SSLv3

    SSLProxyProtocol -ALL +TLSv1

    SSLProxyProtocol -SSLv2 -SSLv3

  14. Successivamente, apporta una modifica simile in apache_serviceproxy_customsites.conf, iniziando dalla riga 13 (linee per elimina , nuove linee ):

    SSLCipherSuite "ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM"

    SSLHonorCipherOrder On

    SSLCipherSuite "ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS"

    SSLProtocol -ALL +TLSv1

    SSLProtocol ALL -SSLv2 -SSLv3

    SSLProxyProtocol -ALL +TLSv1

    SSLProxyProtocol ALL -SSLv2 -SSLv3

  15. Quindi, esegui esattamente le stesse modifiche del punto 14., in apache_serviceproxy.conf, a partire dalla riga 198.

  16. Avvia il server OS X ed esegui il seguente comando per verificare che tu abbia avuto successo: / usr / bin / nscurl --ats-diagnostics https: // [[https del tuo sito personalizzato url]] Nota: l'URL dovrà ovviamente essere formattato correttamente. Metto uno spazio in più prima dei due punti perché altrimenti questo post verrà inviato a moderazione.

Nel mio caso TUTTI i test sono tornati con un "PASS".

Posso fornirti un file di patch git per apportare le modifiche ai tuoi file .conf presumendo che tu abbia ancora un'installazione vergine e che tu sia sulla stessa versione di me.

    
risposta data 07.12.2015 - 04:33
fonte

Leggi altre domande sui tag