Proszę zobaczyć sekcje Edytuj w moim odpowiedź; one zawierać wyjaśnienie tej zagadki .
Próbuję wyłączyć RC4 dla serwera Apache 2.2.9 uruchomionych na CentOS 6.5 VPS i nie może wydawać się uda.
Niedawno zakupiony certyfikat potwierdzony biznesowo jest zainstalowany, a połączenia SSL działają poprawnie, ale chciałem skonfigurować wszystko tak dobrze, jak to możliwe, aby „wzmocnić bezpieczeństwo”, jak to mówią niektóre samouczki.
Sprawdzając konfigurację za pomocą Qualys SSL Labs, strona wyników pokazuje „Ten serwer akceptuje szyfr RC4, który jest słaby. Klasa ograniczona do B.”
Mam jednak umieścić to w ssl.conf:
SSLCipherSuite HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4:!SSLv2:!SSLv3
Zapisałem skrypt podany w odpowiedzi na to pytanie w pliku o nazwie test-ssl-ciphers.sh i zmieniłem adres IP na adres sprzężenia zwrotnego. Jest to wynikiem ./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)
Każdy z tych wierszy zawiera „Nie”, które, według scenariusza oznacza, że serwer nie obsługuje określonej kombinacji szyfru.
Ponadto komenda grep -i -r "RC4" /etc/httpd
daje mi tylko wyżej wymieniony plik ssl.conf.
Ponadto, działa openssl ciphers -V
na moim apartamencie szyfr RC4 szyfrów nie wykazuje w ogóle, co ma sens, biorąc pod uwagę ciąg konfiguracja.
Mam w związku z tym w jakiś sposób utracone, dlaczego strony internetowe wyboru SSL mówią mi, że „serwer akceptuje RC4”. Oni nawet wymienić następujące szyfrów jako przyjęte:
TLS_RSA_WITH_RC4_128_MD5
TLS_RSA_WITH_RC4_128_SHA
TLS_ECDHE_RSA_WITH_RC4_128_SHA
Czy ktoś ma możliwego wyjaśnienia? Co ja robię coś źle? Może jest inne miejsce, w którym można skonfigurować obsługę RC4 lub „akceptację”?
Dzięki.
[ EDIT ] Korzystanie z CentOS 6.6 w maszynie wirtualnej w domu, wpadłem skryptu ponownie przed moim VPS przy użyciu jego nazwy domeny zamiast adresu zwrotnego. Taka konfiguracja oznacza, że lista szyfrów zapewniają instancji openssl w VM: Nadal nie mam RC4 wśród szyfrów że dają tak.
źródło
Urzędy Qualys SSL wydaje się bardzo wrażliwe na domyślnych gospodarze itd. Sprawdź, czy wszystkie HTTPS VirtualHosts w tym wykorzystania adresów IP dokładną same ustawienia (oprócz plików certyfikat), miałem podobny problem, gdzie niektóre z Qualys Testy przetestowany przed moim docelowym VirtualHost i niektóre testy zdawały się wybierać domyślny VirtualHost. Mój docelowy vhost miał włączony tylko jeden szyfr, ale Qualys znajdowała znacznie większą listę od domyślnego vhosta.
Znalazłem też lepiej wyglądający skrypt , który podaje dokładniejsze informacje na temat testów SSL.
źródło
Właśnie przejrzałem jedną z moich stron. Na podstawie odpowiedzi @ AbVog odkryłem, że moje dyrektywy były w rzeczywistości tylko w domyślnym vhostie. Kiedy przeniosłem dyrektywy do globalnego kontekstu, wszystko było dobrze.
Nawiasem mówiąc, natknąłem się również na https://cipherli.st/, który ma dobrą listę konfiguracji SSL dla wielu różnych pakietów. Obecna rekomendacja dla apache jest następująca:
źródło
Na moim Fedora 25 z Apache / 2.4.25 szyfry są obsługiwane przez cryptopolicies (zobacz / etc / cryptopolicies / backendy). Domyślna konfiguracja całkowicie wyłącza RC4, więc nie ma potrzeby manipulowania szyframi w konfiguracji Apache. Z wyjątkiem zapewnienia, że używasz najnowszej ssl.conf gdyż nie jest instalowany domyślnie ale pozostawił jako ssl.conf.rpmnew w katalogu conf.d.
Aby skonfigurować SSL, musiałem tylko określić certyfikaty, ServerName i DocumentRoot. To znaczy dla Squirrelmail.
źródło