SSL im Browser sicher verwenden
Die Webseite How’s My SSL zeigt, wie gut oder schlecht euer Browser konfiguriert ist. Für den Firefox in der Version 24 ergibt sich:
Your SSL client is Bad.
Wie lässt sich der Wert nun verbessern? Ich habe untenstehend mal ein paar Hinweise zusammengestellt.
Firefox
Die Notizen beziehen sich auf den Firefox in der Version 24. In älteren Versionen hießen die entsprechenden Konfigurationspunkte teilweise anders. Eventuell ändern sich die Werte in der Zukunft wieder.
Die Konfiguration des Firefox’ muss über about:config angepasst werden. Im Menü gibt es dafür keine Möglichkeiten. Gebt also in die Adresszeile about:config ein. Firefox wird warnen, dass sich die Änderungen auf Sicherheit, Stabilität etc. auswirken können. Aus meiner Sicht sind die unten vorgestellten Änderungen unkritisch. Daher könnt ihr die Meldung bestätigen.
Im folgenden Fenster gibt es oben eine Suchzeile und unten diverse Konfigurationsoptionen. Gebt in die Suchzeile tls.v (oder auch tls.version) ein. Es erscheinen vier oder fünf Ergebnisse. Wichtig sind die Optionen security.tls.version.min und security.tls.version.max. Im letzten Eintrag auf der Zeile stehen die Zahlenwerte 0 (SSL 3.0), 1 (TLS 1.0), 2 (TLS 1.1) oder 3 (TLS 1.2). Mit einem Doppelklick auf die Zeile lassen sich die Werte ändern. Ich würde security.tls.version.min
auf 2 setzen und security.tls.version.max
auf 3. Es kann jedoch sein, dass bestimmte Seiten mit den Einstellungen nicht mehr funktionieren. In dem Fall setzt ihr den ersten Wert auf 1. Berichtet mal, welche Seiten das betrifft. Ihr solltet auch den Admin der Seite informieren. Vielleicht passt dieser die Konfiguration des Servers ja an.
Der nächste Punkt, der von der Testseite reklamiert wird, sind unsichere Algorithmen. Die Chiffre SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA wird vom Firefox noch unterstützt. Gebt in die about:config-Seite fips ein. Es dürfte nur ein Ergebnis bleiben. Ein Doppelklick ändert der Wert auf False. Brian Smith wies mich auf eine Diskussion bei Github hin. Dort gibt es einen Pull-Request nach dem SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA als nicht unsicher eingestuft werden soll. Eventuell muss diese Chiffre nicht aus den Einstellungen entfernt werden. Im Firefox ab Version 27 wird die entfernt.
Ein Reload der Seite zeigt nun das Ergebnis:
Your SSL client is Probably Okay.
Ich würde alle RC4-Chiffren ebenfalls deaktivieren. Dazu suche ich einfach rc4 und setze alle Werte auf falsch. Kai Raven hat weitere nützliche Hinweise zur Verschlüsselung im Firefox gesammelt. Seine Seite ist immer einen Blick wert.
Auf Twitter kommentierte @andiheimann, dass das Tor Browser Bundle bei dem Test durchfällt:
@qbi @netzpolitik Der #TorBrwoser fällt beim Test leider auch durch..
— andi (@andiheimann) 10. Januar 2014
In dem Fall muss Tor eine Balance zwischen Anonymität und Sicherheit finden. Vermutlich sticht ein Browser mit den Einstellungen zu stark aus der Masse heraus und gefährdet damit die Anonymität des Nutzers. Insofern ist es hier wieder sinnvoller zu warten. Immerhin hat Firefox angekündigt, ab der Version 27 die neuen TLS-Versionen standardmäßig zu aktivieren. Dann verschwindet das Problem hoffentlich von allein.
Das Tor-Projekt hat die Version 4.0 des Tor-Browser veröffentlicht. Darin wurde SSLv3 wegen der POODLE-Schwachstelle deaktiviert.
Google Chrome und Chromium
Chrome und Chromium machen laut der Seite auf Anhieb alles richtig. Falls auch RC4 deaktiviert werden soll, muss der Aufruf mit Optionen erfolgen:
chromium --cipher-suite-blacklist=0x0004,0x0005,0xc011,0xc007 deaktiviert RC4. Die Codes für den Aufruf sind in der TLS Cipher Suite Registry aufgelistet.
Im Oktober 2014 wurde eine Lücke bei SSL3 bekannt. Daher ist es sinnvoll, mindestens TLS 1.0 zu verwenden. Diese Option muss daher im Aufruf mit enthalten sein: --ssl-version-min=tls1.
Opera
Opera 12 präsentiert sich zunächst auch mit schlechten SSL/TLS-Einstellungen. Unter Windows liefert Opera die Version 18 aus. Diese wie auch Opera Next werden von der Testseite als Gut eingestuft.
Wenn ihr die alte Opera-Version habt, kommt ihr mit der Taste Strg+F12 in das Menü. Im letzten Reiter »Erweitert« gibt es den Eintrag »Sicherheit«. Mit der Schaltfläche »Sicherheitsprotokolle« öffnen sich die Einstellungen. Dort sollte nur TLS 1.2 (und ggf. TLS 1.1) aktiv sein. Bei den Einzelheiten könnt ihr die Einträge für ARC4 rausnehmen.
Mit den Einstellungen kommt der Opera auf Improvable. Problematisch sind hier noch die Session Tickets. Leider fand ich keine Möglichkeit, die Einstellungen zu ändern. Falls ihr einen Hinweis habt, hinterlasst einen Kommentar.
Safari
Der Webbrowser von Apple ist genau wie der Opera Improvable. Die Session Tickets trüben die Wertung und wie oben gilt: Wer einen Hinweis zur Konfiguration hat, möge den als Kommentar hinterlassen.
Internet Explorer
Der Internet Explorer hat standardmäßig SSLv3 noch aktiviert. Klickt auf das Zahnrad und wählt Internetoptionen. Im Reiter Erweitert müsst ihr bis ganz nach unten scrollen. Dort seht ihr dann Schaltflächen für SSLv2, SSLv3 und mehr. Deaktiviert SSLv3 und bestätigt dies. Danach verwendet der Internet Explorer kein SSLv3 mehr.
Andere
Andere Browser werde ich eventuell später noch ergänzen.
Updates:
- Felix “ href=”/blog/archives/1563-SSL-im-Browser-sicher-verwenden.html#c9071">wies darauf hin, dass er noch einen weiteren Ausschluss für den Chrome braucht.
- Vielen Dank an @mr_moosbee, @remark73 und @kampfflunder für die Safari-Hinweise.
- Ein paar Worte zum Tor Browser Bundle.
- Brian Smith schickte mir den Link zu der Diskussion auf Github und morphium erwähnte in den Kommentaren Opera.
- Verweis auf den Eintrag zum Firefox-Tuning im Wiki von Kai Raven.
- Mit der POODLE-Schwachstelle muss mindestens TLS 1.0 verwendet werden.
- Erwähnung von TBB 4.0 ohne SSLv3
- Beschreibung zum Internet Explorer
Comments
Display comments as Linear | Threaded
Stefan on :
https://calomel.org/firefox_ssl_validation.html
Das kümmert sich per GUI um solche Dinge wie “Cipher Restrictions”, z. B. “256 bit Perfect Forward Secrecy only” und passt damit die Browserkonfiguration an.
Das könnte zugänglicher sein als sich durch die about:config zu wühlen und u. U. unklare Einträge händisch zu modifizieren.
Jens Kubieziel on :
Wenn ich jetzt so die Kommentare durchlese, hat die Erweiterung immer noch UI-Probleme. Bei manchen Leuten scheint sogar der Browser nach der Installation hin zu sein.
An sich wäre es natürlich wünschenswert, wenn es ein bequem zu nutzendes Plugin für sowas gäbe.
Felix on :
Arne Babenhauserheide on :
Jens Kubieziel on :
Stefan on :
Ein security.tls.version.min höher als 1 zerlegt einige Seiten, zumindest in der Optik, selbst heise.de
Als ich nachschauen wollte, wie man hier zitiert, gab es folgendes:
An error occurred during a connection to www.phpbb.com. Cannot communicate securely with peer: no common encryption algorithm(s). (Error code: ssl_error_no_cypher_overlap)
Da liegt ja einiges im Argen.
Jens Kubieziel on :
Thomas Schramm on :
Jens Kubieziel on :
Thomas Schramm on :
Anonymous on :
Fehler?
Frage: heise.de bietet kein korrektes TLS-Zertifikat an. Oder wie baut ihr zu heise.de eine verschlüsselte Verbindung?
Jens Kubieziel on :
kessel on :
Rainer S. on :
~$ lynx --version
Lynx Version 2.8.7rel.2 (21 Jun 2010)
libwww-FM 2.14, SSL-MM 1.4.1, OpenSSL 1.0.1e, ncurses 5.9.20110404
Built on darwin13.0.0 Nov 11 2013 15:44:52
~$ lynx -dump https://www.howsmyssl.com/
(BUTTON) [1]How’s My SSL?
[2]Home
[3]About
[4]API
Your SSL client is Bad.
Check out the sections below for information about the SSL/TLS client
you used to render this page.
Yeah, we [5]really mean “TLS”, not “SSL”.
Version
Good Your client is using TLS 1.2, the most modern version of the
encryption protocol. It gives you access to the fastest, most secure
encryption possible on the web.
[6]Learn More
Ephemeral Key Support
Good Ephemeral keys are used in some of the cipher suites your client
supports. This means your client may be used to provide [7]forward
secrecy if the server supports it. This greatly increases your
protection against snoopers, including global passive adversaries who
scoop up large amounts of encrypted traffic and store them until their
attacks (or their computers) improve.
[8]Learn More
Session Ticket Support
Good Session tickets are supported in your client. Services you use
will be able to scale out their TLS connections much easier with this
feature.
[9]Learn More
TLS Compression
Bad Your TLS client supports compressing the settings that encrypt your
connection. This is really not good. It makes your TLS connections
susceptible to the [10]CRIME attack and your encrypted data could be
leaked!
[11]Learn More
BEAST Vulnerability
Good Your client is not vulnerable to the [12]BEAST attack because it’s
using a TLS protocol newer than TLS 1.0. The BEAST attack is only
possibly against clients using TLS 1.0 or earlier using
[13]Cipher-Block Chaining cipher suites that do not implement the
1/(n-1) record splitting mitigation.
[14]Learn More
Insecure Cipher Suites
Bad Your client supports cipher suites that are known to be insecure:
TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA: This cipher uses keys
smaller than 128 bits in its encryption.
TLS_DHE_DSS_WITH_DES_CBC_SHA: This cipher uses keys smaller than
128 bits in its encryption.
TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA: This cipher uses keys
smaller than 128 bits in its encryption.
TLS_DHE_RSA_WITH_DES_CBC_SHA: This cipher uses keys smaller than
128 bits in its encryption.
TLS_RSA_EXPORT_WITH_DES40_CBC_SHA: This cipher uses keys smaller
than 128 bits in its encryption.
TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5: This cipher uses keys smaller
than 128 bits in its encryption.
TLS_RSA_EXPORT_WITH_RC4_40_MD5: This cipher uses keys smaller than
128 bits in its encryption.
TLS_RSA_WITH_DES_CBC_SHA: This cipher uses keys smaller than 128
bits in its encryption.
[15]Learn More
Given Cipher Suites
The cipher suites your client said it supports, in the order it sent
them, are:
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA
TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA
TLS_DHE_DSS_WITH_AES_256_GCM_SHA384
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
TLS_DHE_RSA_WITH_AES_256_CBC_SHA
TLS_DHE_DSS_WITH_AES_256_CBC_SHA
TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA
TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_256_CBC_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA
TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA
TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA
TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA
TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA
TLS_DHE_DSS_WITH_AES_128_GCM_SHA256
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
TLS_DHE_RSA_WITH_AES_128_CBC_SHA
TLS_DHE_DSS_WITH_AES_128_CBC_SHA
TLS_DHE_RSA_WITH_SEED_CBC_SHA
TLS_DHE_DSS_WITH_SEED_CBC_SHA
TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA
TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_SEED_CBC_SHA
TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
TLS_RSA_WITH_IDEA_CBC_SHA
TLS_ECDHE_RSA_WITH_RC4_128_SHA
TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
TLS_ECDH_RSA_WITH_RC4_128_SHA
TLS_ECDH_ECDSA_WITH_RC4_128_SHA
TLS_RSA_WITH_RC4_128_SHA
TLS_RSA_WITH_RC4_128_MD5
TLS_DHE_RSA_WITH_DES_CBC_SHA
TLS_DHE_DSS_WITH_DES_CBC_SHA
TLS_RSA_WITH_DES_CBC_SHA
TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
TLS_RSA_EXPORT_WITH_DES40_CBC_SHA
TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5
TLS_RSA_EXPORT_WITH_RC4_40_MD5
* TLS_EMPTY_RENEGOTIATION_INFO_SCSV
[16]Learn More
References
1. https://www.howsmyssl.com/
2. https://www.howsmyssl.com/
3. https://www.howsmyssl.com/s/about.html
4. https://www.howsmyssl.com/s/api.html
5. https://www.howsmyssl.com/s/about.html#tls-vs-ssl
6. https://www.howsmyssl.com/s/about.html/#version
7. http://en.wikipedia.org/wiki/Forward_secrecy
8. https://www.howsmyssl.com/s/about.html/#ephemeral-key-support
9. https://www.howsmyssl.com/s/about.html/#session-ticket-support
10. http://en.wikipedia.org/wiki/CRIME_(security_exploit)
11. https://www.howsmyssl.com/s/about.html/#tls-compression
12. http://en.wikipedia.org/wiki/Transport_Layer_Security#BEAST_attack
13. http://en.wikipedia.org/wiki/Cipher_block_chaining#Cipher-block_chaining_.28CBC.29
14. https://www.howsmyssl.com/s/about.html/#beast-vulnerability
15. https://www.howsmyssl.com/s/about.html/#insecure-cipher-suites
16. https://www.howsmyssl.com/s/about.html/#given-cipher-suites
~$
Jens Kubieziel on :
Stefan on :
“Sichere Kommunikation mit der Gegenstelle ist nicht möglich: Keine gemeinsamen Verschlüsselungsalgorithmen. (Fehlercode: ssl_error_no_cypher_overlap)”
Stefan on :
Funktioniert nur mit der Einstellung:
security.tls.version.min = 0
vsnfd on :
Fluw on :
gb on :
Fehlercode: ssl_error_no_cypher_overlap
Mit security.tls.version.min=2 funktioniert es.
[Win7/FF26]
morphium on :
morphium
Jens Kubieziel on :