Vollständige Beseitigung von SSLv3 auf Apache

Vollständige Beseitigung von SSLv3 auf Apache

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.

verwandte Informationen