Unser Sicherheitsteam bittet uns, SSLv3 auf einigen unserer Server, auf denen Apache läuft, vollständig zu deaktivieren. Ich habe versucht, dies mithilfe des SSLProtocol-Eintrags in der Datei ssl.conf (wie SSLProtocol ALL -SSLv2 -SSLv3) und verschiedener SSLCipherSuite-Einträge vollständig zu deaktivieren, aber ohne Erfolg. Ich erhalte immer noch die folgende Beispielausgabe von nmap
Starting Nmap 6.47 ( http://nmap.org ) at 2015-03-01 16:49 Mountain Standard Time
Nmap scan report for ...
Host is up (0.0045s latency).
PORT STATE SERVICE
443/tcp open https
| ssl-enum-ciphers:
| SSLv3: No supported ciphers found <----
| TLSv1.0:
| ciphers:
| TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA - strong
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA - strong
| TLS_DHE_RSA_WITH_AES_256_CBC_SHA - strong
| TLS_RSA_WITH_3DES_EDE_CBC_SHA - strong
| TLS_RSA_WITH_AES_128_CBC_SHA - strong
| TLS_RSA_WITH_AES_256_CBC_SHA - strong
| TLS_RSA_WITH_RC4_128_SHA - strong
| compressors:
| NULL
|_ least strength: strong
Auf einem Server, auf dem beispielsweise Tomcat läuft, können wir keine Spur von SSLv3 finden, wie in diesem Beispiel
Starting Nmap 6.47 ( http://nmap.org ) at 2015-03-01 16:54 Mountain Standard Time
Nmap scan report for...
Host is up (0.0022s latency).
PORT STATE SERVICE
443/tcp open https
| ssl-enum-ciphers:
| TLSv1.0:
| ciphers:
| TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA - strong
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA - strong
| TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA - strong
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong
| TLS_ECDHE_RSA_WITH_RC4_128_SHA - strong
| TLS_RSA_WITH_3DES_EDE_CBC_SHA - strong
| TLS_RSA_WITH_AES_128_CBC_SHA - strong
| TLS_RSA_WITH_RC4_128_MD5 - strong
| TLS_RSA_WITH_RC4_128_SHA - strong
| compressors:
| NULL
| TLSv1.1:
| ciphers:
| TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA - strong
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA - strong
| TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA - strong
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong
| TLS_ECDHE_RSA_WITH_RC4_128_SHA - strong
| TLS_RSA_WITH_3DES_EDE_CBC_SHA - strong
| TLS_RSA_WITH_AES_128_CBC_SHA - strong
| TLS_RSA_WITH_RC4_128_MD5 - strong
| TLS_RSA_WITH_RC4_128_SHA - strong
| compressors:
| NULL
| TLSv1.2:
| ciphers:
| TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA - strong
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA - strong
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 - strong
| TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 - strong
| TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA - strong
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 - strong
| TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - strong
| TLS_ECDHE_RSA_WITH_RC4_128_SHA - strong
| TLS_RSA_WITH_3DES_EDE_CBC_SHA - strong
| TLS_RSA_WITH_AES_128_CBC_SHA - strong
| TLS_RSA_WITH_AES_128_CBC_SHA256 - strong
| TLS_RSA_WITH_AES_128_GCM_SHA256 - strong
| TLS_RSA_WITH_RC4_128_MD5 - strong
| TLS_RSA_WITH_RC4_128_SHA - strong
| compressors:
| NULL
|_ least strength: strong
Hat es jemand geschafft, SSLv3 in Apache vollständig zu deaktivieren? Gibt es eine Möglichkeit, SSLv3 in Apache vollständig zu deaktivieren? Vielen Dank für die Zeit
Antwort1
Sie haben SSLv3 deaktiviert, aber nmap meldet dies etwas schlampig. Ich habe es gerade auf meinem Server getestet, um zu sehen, was passiert.
Mit nmap erhielt ich dieselbe Meldung, die darauf hindeutete, dass SSLv3 vorhanden war, aber keine Chiffren hatte. Wenn Sie jedoch die folgende Befehlszeile versuchen und „SSL-Warnung Nummer 40“ sehen (scrollen Sie nach rechts!), ist SSLv3 vollständig deaktiviert:
$ openssl s_client -connect www.example.com:443 -ssl3
CONNECTED(00000003)
140159193097888:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1262:SSL alert number 40
140159193097888:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake failure:s3_pkt.c:598:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 0 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : SSLv3
Cipher : 0000
Session-ID:
Session-ID-ctx:
Master-Key:
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1425297962
Timeout : 7200 (sec)
Verify return code: 0 (ok)
---
Auch wenn Sie die gleiche mehrdeutige Meldung erhalten: „Neu (KEINE), Verschlüsselung ist (KEINE)“, beachten Sie, dass der SSL-Handshake 7 Bytes umfasste. Wenn Sie eine Paketerfassung ausführen, werden Sie sehen, dass die Verbindung einfach so aussieht:
Klient:Client Hallo (SSLv3)
Server:Alarm (Stufe: Schwerwiegend, Beschreibung: Handshake-Fehler)
Behinderter kann man kaum sein.
Ich vermute, dass nmap Tomcat anders gemeldet hat, weil Tomcat mit einem umfangreicheren Protokollsatz zurückkam. Vielleicht hat Tomcat TLS1 angeboten, als SSL3 vorgeschlagen wurde, anstatt SSL3 rundweg abzulehnen. Ich versuche, einen Tomcat-basierten Host zum Testen zusammenzubekommen, um zu sehen, was unter der Haube passiert.