Per favore, vedi le sezioni EDIT nella mia risposta; contengono una spiegazione a questo enigma .
Sto cercando di disabilitare RC4 per un server Apache 2.2.9 in esecuzione su un VPS CentOS 6.5 e non riesco a riuscirci.
Viene installato un certificato convalidato dall'azienda acquistato di recente e le connessioni SSL funzionano correttamente, ma volevo configurare le cose nel miglior modo possibile, per "rafforzare la sicurezza", come affermano alcuni tutorial.
Controllando la configurazione con Qualys SSL Labs, la pagina dei risultati mostra "Questo server accetta il codice RC4, che è debole. Grado limitato a B."
Tuttavia, l'ho inserito in ssl.conf:
SSLCipherSuite HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4:!SSLv2:!SSLv3
Ho salvato lo script fornito nella risposta a questa domanda in un file chiamato test-ssl-ciphers.sh e ho cambiato l'indirizzo IP in un indirizzo di loopback. Questo è il risultato di ./test-ssl-ciphers.sh | grep -i "RC4"
:
Testing ECDHE-RSA-RC4-SHA...NO (sslv3 alert handshake failure)
Testing ECDHE-ECDSA-RC4-SHA...NO (sslv3 alert handshake failure)
Testing AECDH-RC4-SHA...NO (sslv3 alert handshake failure)
Testing ADH-RC4-MD5...NO (sslv3 alert handshake failure)
Testing ECDH-RSA-RC4-SHA...NO (sslv3 alert handshake failure)
Testing ECDH-ECDSA-RC4-SHA...NO (sslv3 alert handshake failure)
Testing RC4-SHA...NO (sslv3 alert handshake failure)
Testing RC4-MD5...NO (sslv3 alert handshake failure)
Testing RC4-MD5...NO (sslv3 alert handshake failure)
Testing PSK-RC4-SHA...NO (no ciphers available)
Testing KRB5-RC4-SHA...NO (no ciphers available)
Testing KRB5-RC4-MD5...NO (no ciphers available)
Testing EXP-ADH-RC4-MD5...NO (sslv3 alert handshake failure)
Testing EXP-RC4-MD5...NO (sslv3 alert handshake failure)
Testing EXP-RC4-MD5...NO (sslv3 alert handshake failure)
Testing EXP-KRB5-RC4-SHA...NO (no ciphers available)
Testing EXP-KRB5-RC4-MD5...NO (no ciphers available)
Ognuna di queste righe contiene "NO", che, secondo lo script, significa che il server non supporta la combinazione di cifratura specificata.
Inoltre, il comando grep -i -r "RC4" /etc/httpd
mi dà solo il file ssl.conf sopra menzionato.
Inoltre, l'esecuzione openssl ciphers -V
sulla mia suite di cifratura non mostra affatto cifrature RC4, il che ha senso data la stringa di configurazione.
Pertanto, in qualche modo mi sono perso il motivo per cui i siti Web di controllo SSL mi stanno dicendo che "il server accetta RC4". Elencano persino le seguenti cifre come accettate:
TLS_RSA_WITH_RC4_128_MD5
TLS_RSA_WITH_RC4_128_SHA
TLS_ECDHE_RSA_WITH_RC4_128_SHA
Qualcuno ha una possibile spiegazione? Cosa sto facendo di sbagliato? Forse c'è un altro posto in cui configurare il supporto di RC4 o "accettazione"?
Grazie.
[ EDIT ] Usando un CentOS 6.6 in una macchina virtuale a casa, ho eseguito di nuovo lo script sul mio VPS usando il suo nome di dominio anziché l'indirizzo di loopback. Questa configurazione implica che l'elenco di cifre sia fornito dall'istanza openssl nella VM: non ho ancora RC4 tra le cifre che danno SÌ.