Verschlüsselung prüfen

ELektronik-KOmpendium.de
Online

Preis auf Anfrage
Vergleichen Sie diesen Kurs mit ähnlichen Kursen
Mehr ansehen

Wichtige informationen

  • Kurs
  • Online
Beschreibung

Verschlüsselung prüfen Für den unbedarften Anwender ist es äußerst schwer, wie es um die Fähigkeiten des eigenen Browsers bezüglich Verschlüsselung bestellt ist. Noch schwerer ist es, festzustellen, welche Verschlüsselungsverfahren ein beliebiger Server verwendet, und ob das überhaupt sicher ist. Der folgende Artikel beschäftigt sich damit, wie man auf einfache Art und Weise "Verschlüsselung prüfen" kann. Dabei sind beide Seiten der Kommunikation zu berücksichtigen. Der eigene Client, in diesem Fall der Browser. Und auf der anderen Seite der Server, beispielsweise der Webserver.

Wichtige informationen

Was lernen Sie in diesem Kurs?

Verschlüsselung
Browser
Webserver
https
Server
Firefox

Themenkreis

Welche Verschlüsselungsverfahren unterstützt der eigene Browser?

Die Webseite "How's My SSL" gibt darüber Auskunft, ob der eigene Browser sichere verschlüsselte Verbindungen aufbauen kann. Dazu ruft man einfach die Webseite dieses Dienstes auf und lässt sich eine Auswertung anzeigen.

  • https://www.howsmyssl.com/

Wenn hier alles grün ist, dann befindet sich der eigene Browser auf dem aktuellen Stand. Wenn nicht, dann sollte man sich möglichst bald eine neue Version seines Browsers beschaffen.

Die Testseite der Uni Hannover gibt ein paar mehr Details aus, sagt aber nichts darüber aus, ob der eigene Browser sichere Verschlüsselungsverfahren verwendet. Das Ergebnis dieser Webseite muss man also selber richtig interpretieren.

  • https://cc.dcsec.uni-hannover.de/
Anmerkungen zum Cipher Suite Support

Auf beiden Webseiten bekommt man die Liste der Verschlüsselungsverfahren (Cipher Suites) angezeigt, die der eigene Browser unterstützt. Die kann zum Beispiel so aussehen.

TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA TLS_DHE_RSA_WITH_AES_128_CBC_SHA TLS_DHE_RSA_WITH_AES_256_CBC_SHA TLS_RSA_WITH_AES_128_CBC_SHA TLS_RSA_WITH_AES_256_CBC_SHA TLS_RSA_WITH_3DES_EDE_CBC_SHA

Jede Zeile repräsentiert eine Cipher Suite. Das ist eine Kombination aus Protokoll, Schlüsselaustausch, Authentifizierung, Verschlüsselung (Blocklänge und Cipher) und der verwendeten kryptografischen Hash-Funktion. Das bedeutet, dass die Sicherheit einer Verschlüsselung von mehreren Komponenten abhängig ist, die nahezu wahlweise miteinander kombiniert werden können. Bestimmte Kombinationen sind sicherer als andere.

Welche Verschlüsselungsverfahren unterstützt ein Webserver?

Es bringt nichts, wenn der eigene Browser sichere Verschlüsselungsverfahren beherrscht, wenn es der kontaktierte Server nicht tut. Wissen muss man, dass man zum Prüfen der Verschlüsselung eines Servers zu diesem eine Verbindung herstellen muss. Welche verwendet wird, hängt dann nur noch von den Fähigkeiten der Gegenstelle ab. Das bedeutet, vor der Verbindungsaufnahme weiß man nicht, ob eine verschlüsselte Verbindung sicher ist.

Hier muss man berücksichtigen, dass Verschlüsselung immer auch Rechenleistung seitens des Servers erfordert, was bei vielen gleichzeitigen Zugriffen eine Performance-Bremse sein kann. Aus diesem Grund konfigurieren Server-Betreiber meistens schnelle und gleichzeitig meist weniger sichere Verfahren, um Rechenleistung zu sparen.

Eine gute Anlaufstelle, um einen Webserver auf dessen Verschlüsselungsmöglichkeiten zu prüfen ist der SSL Test von Qualys, Inc. Hier gibt man die URL der Webseite ein und wartet auf das Test-Ergebnis.

  • https://www.ssllabs.com/ssltest/

Der Test braucht einige Sekunden. Die Auswertung dazu ist allerdings sehr ausführlich und zeigt Details, die andere Tools nicht verraten. Besonders schön ist die kompakte Darstellung für Nicht-Experten.

Verschlüsselung eines Webserver mit "sslscan" prüfen

Wenn es in aller Kürze darum geht, welcher Webserver welche Verschlüsselungsverfahren anbietet, empfiehlt sich das Kommandozeilen-Tool "sslscan" zu benutzen. Damit kann man sich Informationen über die unterstützten Verschlüsselungsverfahren anzeigen lassen.
"sslscan" ist Open Source und kann bei Sourceforge.net heruntergeladen werden. Alternativ steht es auch für Linux zur Verfügung.

  • http://sourceforge.net/projects/sslscan/

Auf der Kommandozeile kann man sslscan folgendermaßen aufrufen:

sslscan www.elektronik-kompendium.de | grep Accepted Accepted TLSv1 256 bits DHE-RSA-AES256-SHA Accepted TLSv1 256 bits AES256-SHA Accepted TLSv1 168 bits EDH-RSA-DES-CBC3-SHA Accepted TLSv1 168 bits DES-CBC3-SHA Accepted TLSv1 128 bits DHE-RSA-AES128-SHA Accepted TLSv1 128 bits AES128-SHA

Optimal wäre es, wenn hier "ECDHE-ECDSA-AES256-CBC-SHA256" oder "ECDHE-RSA-AES128-CBC-SHA256" stehen würde. In diesem Beispiel ist "DHE-RSA-AES256-SHA" als sicherste Variante aber auch OK. Eine Variante mit "ECDHE" anstatt "DHE" wäre sicherer. Aber das ist Ansichtssache. "ECDHE" steht für "Eliptic Curves Diffie Hellman Exchange".

Von "SSLv3" oder "RC4" sollte hier nichts stehen. Die werden als nicht sicher angesehen. Wenn doch, dann besteht immer die Gefahr, dass ein Angreifer, der sich als Man-in-the-Middle platzieren kann, eine verschlüsselte Verbindung versucht zu downgraden. Das heißt, er manipuliert die Verbindung so, dass eine möglichst schwache Verschlüsselung gewählt wird. Dann hat er es einfacher, die aufgezeichnete verschlüsselte Verbindung später schneller zu entschlüsseln. Aus diesem Grund sollten als unsicher angesehene Verfahren, wie SSLv3 und RC4, komplett deaktiviert werden.

Anleitung für eine sichere SSL/TLS-Server-Konfiguration

Eine gute Anleitung zur sicheren SSL-Konfiguration von Webservern liefert das Projekt Bettercrypto.org.

  • https://bettercrypto.org/
Wie steht es um die aktuelle Verbindung?

Unabhängig davon, was der eigene Browser und ein ferner Webserver können, ist es wesentlich interessanter zu sehen welche Verschlüsselung der Browser und der Webserver gerade ausgehandelt haben.
Für Linux und MacOS gibt es für die Kommandozeile die OpenSSL-Tools, mit denen man verschlüsselte Verbindungen aufbauen kann. Der folgende Befehl initiiert eine Verbindung auf dem HTTPS-Port 443 ohne Daten abzurufen.

openssl s_client -connect www.elektronik-kompendium.de:443

Die Ausgaben sind verschiedene Informationen zum verschlüsselten Verbindungsaufbau. Zum Beispiel das Zertifikat des Webservers, Informationen zum Zertifikat und der verschlüsselten Verbindung.

Alternativ kann man die Informationen auch über den eigenen Browser abfragen. Chrome zeigt die Verschlüsselungsart ohne Hilfsmittel an, Safari und Firefox nicht. Speziell für Firefox gibt es einige Addons.

SSLeuth

SSLeuth klingt sich wahlweise in die Adresszeile oder Toolbar ein. Per Klick bekommt man Informationen über die eingesetzte Cipher-Suite und eventuelle Unsicherheiten. Hier kann man auch Einstellungen am eigenen Webbrowser vornehmen, wenn man die verschlüsselten Verbindungen noch sicherer machen möchte. Beispielsweise weil man die Verschlüsselung zu einem Webserver testen will.

  • https://addons.mozilla.org/de/firefox/addon/ssleuth/
Calomel SSL Validation

Unter Firefox ist hierbei das Addon "Calomel SSL Validation" hilfreiche. Es zeigt an, was gerade benutzt wird und gibt eine Einschätzung ab, wie gut oder schlecht die Verbindung unter Sicherheitsgesichtspunkten zu bewerten ist.
Eine Ampel, die dem User anzeigt, wie sicher, die SSL/TLS Einstellungen des Servers sind.

  • https://addons.mozilla.org/de/firefox/addon/calomel-ssl-validation/
Weitere verwandte Themen:
  • Kryptografie
  • Verschlüsselung
  • SSL - Secure Socket Layer
  • TLS - Transport Layer Security
  • HTTPS / HTTP Secure

Vergleichen Sie diesen Kurs mit ähnlichen Kursen
Mehr ansehen