Anleitung - Poodle SSL 3.0 Lücke in Apache, Nginx oder Postfix deaktivieren
Posted by Guenny onSeit ein paar Tagen ist der Pudel los. Zumindest bei einigen. Gemeint ist die neue, von Google entdeckte SSLv3 Lücke. Diese erlaubt bei bestimmter Konstellationen einen Angriff auf die verwendeten Systeme. Um so einen Angriff zu verhindern haben Browserhersteller bereits vorgebeugt und wollen SSLv3 aus dem eigenen Browser verbannen (siehe Mozilla).
Ich möchte euch kurz zeigen, wie die Deaktivierung von SSLv3 unter Apache und Nginx funktioniert. Zunächst sollte aber getestet werden, ob der Server SSLv3 überhaupt freigeschaltet hat.
Apache oder Nginx auf SSLv3 Lücke testen
Es genügt ein einfacher Konsolenbefehl, um abzuprüfen, wie es mit dem Server steht
openssl s_client -connect REMOTE_SERVER:443 -ssl3
Sollte die Verbindung via SSLv3 aktiviert sein, erhaltet ihr bei einen erfolgreichen Handshake ein paar Werte zurück. Hier bei einem Apache Server
SSL handshake has read 1260 bytes and written 322 bytes
New, .../SSLv3, Cipher is DHE-RSA-AES256-SHA
Ist SSLv3 bereits deaktiviert, werden Fehlermeldungen ausgegeben
CONNECTED(00000003)
139957739407008:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1260:SSL alert number 40
139957739407008:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake failure:s3_pkt.c:596:
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
Apache Server - SSLv3 abschalten
Im Prinzip hatte ich es schon einmal beim Thema Hardening Apache Server erwähnt, wie bestimmte Protokolle festgelegt werden können. Es genügt folgende Zeile in der "default-ssl.conf" bzw. "ssl.conf" zu hinterlegen, um SSLv3 zu unterdrücken.
sudo nano /etc/apache2/mods-available/ssl.conf
SSLProtocol All -SSLv2 -SSLv3
Alternativ können auch einfach alle Protokolle außer TLS deaktiviert werden. Dazu werden mit Minus alle blockiert und mit Plus die gewünschten Protokolle hinzugefügt.
SSLProtocol -All +TLSv1 +TLSv1.1 +TLSv1.2
Alternativ dazu können mit dem Befehl "SSLCipherSuite" die gewünschten Chiffren angegeben, bzw. eine Priorisierung festlegt werden. Ich hatte dies im besagten Hardening Artikel bereits beschrieben. Weiter Details findet ihr hier.
Danach wie nach jeder Änderung der Konfiguration
sudo service apache2 restart
Nginx Server - SSLv3 deaktvieren
Für den inzwischen auf Platz 1. gelisteten Webserver (der 10 000 größten Webseiten) gilt ein ähnliches Vorgehen, wie beim Kollegen Apache. Auch hier hatte ich bereits einen Artikel verfasst.
In der Config muss lediglich SSL 3.0 entfernt werden.
sudo nano /etc/nginx/nginx.conf
sudo service nginx restartssl_protocols TLSv1 TLSv1.1 TLSv1.2;
Gleiches gilt für die hinterlegten Ciphersuites. Hier kann beim Apache Webserver nachgeschaut werden.
SSLv3 lässt sich nicht deaktivieren, was tun?
Auf manchen Servern ist es nicht möglich SSLv3 zu deaktivieren, welche Gründe es auch immer haben mag. Hier bleibt die Möglichkeit auf OpenSSL 1.0.1j, 1.0.0o bzw. 0.9.8zc zu aktualisieren. Denn in den aktuellen Versionen ist TLS_FALLBACK_SCSV aktiv, was Schutz vor Poodle bietet. Ob OpenSSL nach einem Update akutell ist , lässt sich dies mit SSL LABS prüfen.
Sollte auch ein Update auf neuere Versionen nicht möglich sein, ist es möglich schädliche ChipherSuites zu verbieten.
Folgende Cipher Suites sollen NICHT enthalten sein, wenn ein Poodle Angriff verhindert werden soll.
IDEA-CBC-SHA, EXP-DES-CBC-SHA, DES-CBC-SHA, DES-CBC3-SHA, EXP-DH-DSS-DES-CBC-SHA, DH-DSS-DES-CBC-SHA, DH-DSS-DES-CBC3-SHA, EXP-DH-RSA-DES-CBC-SHA, DH-RSA-DES-CBC-SHA, DH-RSA-DES-CBC3-SHA, EXP-DHE-DSS-DES-CBC-SHA, DHE-DSS-CBC-SHA, DHE-DSS-DES-CBC3-SHA, EXP-DHE-RSA-DES-CBC-SHA, DHE-RSA-DES-CBC-SHA, DHE-RSA-DES-CBC3-SHA, EXP-ADH-DES-CBC-SHA, ADH-DES-CBC-SHA, ADH-DES-CBC3-SHA, EXP-RC2-CBC-MD5, IDEA-CBC-SHA, EXP-DES-CBC-SHA, DES-CBC-SHA, DES-CBC3-SHA, EXP-DHE-DSS-DES-CBC-SHA, DHE-DSS-CBC-SHA, DHE-DSS-DES-CBC3-SHA, EXP-DHE-RSA-DES-CBC-SHA, DHE-RSA-DES-CBC-SHA, DHE-RSA-DES-CBC3-SHA, ADH-DES-CBC-SHA, ADH-DES-CBC3-SHA, AES128-SHA, AES256-SHA, DH-DSS-AES128-SHA, DH-DSS-AES256-SHA, DH-RSA-AES128-SHA, DH-RSA-AES256-SHA, DHE-DSS-AES128-SHA, DHE-DSS-AES256-SHA, DHE-RSA-AES128-SHA, DHE-RSA-AES256-SHA, ADH-AES128-SHA, ADH-AES256-SHA
Postfix - SSL 3.0 ausschalten
Auch auf dem bekannten Mailserver Postfix lässt sich SSL 3.0 unterbinden, hier genügt ein einfach Eingriff "/etc/postfix/main.cf"
sudo nano /etc/postfix/main.cf
sudo service postfix restartsmtpd_tls_security_level = encrypt
smtpd_tls_mandatory_ciphers = high
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_protocols = !SSLv2 !SSLv3
smtp_tls_protocols = !SSLv2, !SSLv3
smtp_tls_security_level = encrypt
smtp_tls_mandatory_ciphers = high
smtp_tls_mandatory_protocols = !SSLv2 !SSLv3
Letzendlich gilt es, die eigenen Server immer im Auge zu haben und auf aktuelle Sicherheitslücken zu scannen.
Trackbacks
Trackback specific URI for this entryThis link is not meant to be clicked. It contains the trackback URI for this entry. You can use this URI to send ping- & trackbacks from your own blog to this entry. To copy the link, right click and select "Copy Shortcut" in Internet Explorer or "Copy Link Location" in Mozilla.
No Trackbacks
Comments
Display comments as Linear | ThreadedNo comments