Wielu klientów SSL, zwłaszcza JDK 6, używa protokołu SSLv2Hello do uzgadniania z serwerem. Korzystanie z tego protokołu nie oznacza, że korzystasz z SSL 2.0 lub 3.0; jest to tylko uścisk dłoni w celu ustalenia, którego protokołu użyć. [ http://tools.ietf.org/html/rfc5246#appendix-E.2]
Jednak w Apache, jeśli wyłączysz obsługę SSLv3, najwyraźniej usunie to obsługę protokołu SSLv2Hello. Apache Tomcat ma jawne wsparcie dla SSLv2Hello; to znaczy możesz to włączyć, ale nie włączyć SSLv3.
Czy można to zrobić w Apache?
[Aktualizacja]
Oto konfiguracja mojego protokołu:
SSLProtocol +TLSv1 +TLSv1.1 +TLSv1.2 -SSLv3
apache-2.2
java
poodle
Matt Hughes
źródło
źródło
However, in Apache, if you disable SSLv3 support, this apparently removes support for the SSLv2Hello protocol.
Korzystam z Apache 2.2SSLProtocol all -SSLv2 -SSLv3
i działa uzgadnianie SSL 2. Z jakiej konfiguracji korzystasz dokładnie, że masz problem. Jedyny znany mi sposób na wyłączenie uzgadniania SSL 2 to włączenie trybu FIPS.Odpowiedzi:
Najwyraźniej mod_ssl zmienił się w ciągu ostatniego roku (nie znalazłem dokładnego zatwierdzenia do źródła, ale znalazłem „problem”). Źródło teraz to robi:
Nie ma nadpisania dla tego ustawienia. Jedyne, co możesz zrobić, to edytować źródło, skompilować własną wersję. Stworzyłem diff, aby wymusić kompatybilność SSLv2 Handshake, jeśli chcesz skompilować własny.
źródło
sslscan
oznaczania luk w zabezpieczeniach. Ale łatka wydaje się dość inwazyjna i chciałbym poprosić Chrisa o przesłanie jej do projektu Apache w celu jak najszybszego przejrzenia. Sam złożę bilet, jeśli Chris tego nie zrobi :-) Dziękuję bardzo, Chris!Okazuje się, że przez cały czas to nie był problem. Apache zaakceptuje uzgadnianie SSLv2 z dowolną konfiguracją, którą opublikowałem powyżej. Zostałem wprowadzony w błąd przez błąd uzgadniania, myśląc, że to jest problem; tak naprawdę był to tylko problem z konfiguracją, w którym serwer nie ufał urzędowi certyfikacji klienta.
źródło