SSL-Check-Tool von Qualys SSL Labs: Welche Kriterien sind relevant?
Als wir jüngst darüber berichteten, dass Google SSL-Zertifikate nun ins SEO-Ranking einbezieht, erhielten wir auf Facebook eine interessante Frage zum SSL-Check-Tool von Qualys SSL Labs: Was ist nötig, um die A-Note zu erhalten? Wir haben uns mit den Kriterien auseinandergesetzt.
Was ist das SSL-Tool von Qualys?
Qualys SSL-Labs hat ein Tool eingerichtet, das die Sicherheit Ihrer SSL-verschlüsselten Website misst. Verschiedene Parameter – beispielsweise der Einsatz von Perfect Forward Secrecy (PFS) – werden zur Bewertung herangezogen. Ratings zwischen A bis F erscheinen am Ende des Tests, für den Sie einfach die zu untersuchende Domain eingeben. Dabei steht „A+“ für „ausgezeichnet“ und „F“ für „extrem unsicher“. Um die Stufen dazwischen und vor allem um die Parameter, die zu dem Rating führen, geht es im Folgenden.
Was untersucht der Test?
Konkret untersucht der kostenlose Online-Test die SSL-Zertifikatskette von Webseiten. Das Sicherheitsprotokoll SSL dient der Verschlüsselung sensibler Daten während einer Online-Transaktion. Dass SSL-Zertifikate nützlich sind, steht außer Frage, allerdings kann es zu Problemen kommen, die eben dieser SSL-Test aufdeckt. Oftmals sind SSL-Zertifikate unzureichend konfiguriert, was im Test zu Punktabzug führt. Das Testtool führt eine umfassende Konfigurationsanalyse durch, die neben Konfigurationsproblemen auch Performance-Schwächen zutage fördert. Neben der Benotung in Buchstabenform, die auf die SSL-Konfiguration abzielt, gibt das Tool einen Zahlenwert aus, der Ihren SSL-Server in Kategorien einstuft. Diese Parameter zählen im Test:
Schritt 1: Ihr Zertifikat wird auf Vertrauenswürdigkeit und Gültigkeit überprüft.
Schritt 2: Ihre Server-Konfigurationen werden in drei Schritten geprüft:
- Protokoll-Unterstützung: (fließt zu 30 % in die Wertung ein)
- SSL 2.0: 0 %
- SSL 3.0: 80 %
- TLS 1.0: 90 %
- TLS 1.1: 95 %
- TLS 1.2: 100 %
- Schlüsseltausch: Eine Handshake-Simulation zeigt, welche Arten des Schlüsselaustauschs Ihre Seite erlaubt (PFS-, SNI-Support; fließt zu 30 % in die Wertung ein)
- Cipher Suiten: Via Handshake-Simulation erkennt das Tool akzeptierte und verwendete Cipher Suiten. Weiterführende Infos zu den Einstellungen finden Sie in unserem Blogbeitrag „Perfect Forward Secrecy konfigurieren“ (fließt zu 40 % in die Wertung ein)
Schritt 3: Diese Einzelkategorie-Einstufungen werden zu einer Gesamtnote kombiniert, die sich in einem Zahlenwert zwischen 0 – 100 widerspiegelt. Eine 0 in einer Kategorie drückt den Gesamtwert nach unten. Daraus ergeben sich folgende Scores:
- Wert 80 – 100: Score A
- Wert 65 – 79: Score B
- Wert 50 – 64: Score C
- Wert 35 – 49: Score D
- Wert 20 – 34: Score E
- Wert unter 20: Score F
Schritt 4: Weitere Aspekte der Server-Konfiguration, die nicht im Scoring ausgedrückt werden können, werden anschließend behandelt. Treten unerwünschte Funktionen auf, werden die Werte A – F reduziert, indem ein Minus angezeigt wird, z. B. A-. Treten hingegen außergewöhnlich positive Konfigurationen auf, erhalten die Scoring-Werte in Plus, z. B. A+.
Hilfreich, aber keine 100-prozentigen Aussagen
Qualys SSL Labs weist auf folgende Problematik mit dem Test hin: Das Ziel des Tests ist es, Konfigurationsfehler aufzudecken. Dies allerdings geschieht aus der Ferne, ohne dass eine manuelle Prüfung stattfinden würde. Der Test folgt einem vollautomatisierten Prozess, der SSL-Konfigurationen bewertet. Zwar existiert diese Testmöglichkeit schon einige Jahre, allerdings ändern sich die Anforderungen an sichere Webseiten. Deshalb weist der Anbieter darauf hin, seine Automatismen regelmäßig zu überarbeiten und an die aktuellen Kriterien anzupassen.
So ergibt sich beispielsweise ein Bewertungsproblem mit den verschiedenen Zertifikatsarten: Domain- und organisationsvalidierte SSL-Zertifikate werden gleichwertig behandelt, während Extended Validation-Zertifikate (EV-Zertifikate) höher gewertet werden. Aber nicht jeder kann ein EV-Zertifikat bestellen, da die Validierung wesentlich umfassender ist und eine ausführliche Prüfung der Organisation voraussetzt, die das Zertifikat bestellt hat. Daher werden EV-Zertifikate nur an in einem öffentlichen Register eingetragene Organisationen ausgestellt, Privatpersonen und kleine Firmen, die nur eine Gewerbeanmeldung haben, können somit kein EV-Zertifikat bestellen. Die Bewertungsalgorithmen des SSL-Tests besagen ausschließlich: „Domain XY verwendet ein organisationsvalidiertes Zertifikat und damit nicht das bestmögliche“, sie besagen aber nicht, dass das bestmögliche Zertifikat in dem Fall gar nicht ausgestellt werden kann. Ohne EV-Zertifikat werden Sie nie mit A+ eingestuft. Das Tool kann also nicht logisch den Zweck einer Website beurteilen. Für Ihre persönliche Einschätzung können Sie das Ampelsystem verwenden: selbst ausgestellte Zertifikate sind rot, DV-/OV-Zertifikate gelb und ein EV-Zertifikat grün (wie es auch in der Adressleiste angezeigt wird).
Verschiedene Webseiten haben also verschiedene Ansprüche. Um eine Seite wirklich 100-prozentig einschätzen zu können, müsste das Tool den Zweck Ihrer Seite in die Kalkulation mit einbeziehen – und das geschieht nicht. Es ist nicht möglich, eine Standardkonfiguration für alle Webseiten vorzuschlagen und diese dann als allgemeingültig anzusehen. Hinzu kommt: Ein SSL-Zertifikat verschlüsselt zwar Ihre Kommunikation, hält aber beispielsweise keine Malware fern. Diesen Aspekt ignoriert das Tool gänzlich.
Inspektion von Zertifikaten
Um Ihr Zertifikat einstufen zu können, gelten für den Test verschiedene Faktoren. So wird ein Zertifikat beispielsweise als glaubwürdiger eingestuft, wenn es von einer namhaften Zertifizierungsstelle (CA, certificate authority) ausgestellt wurde. Ein abgelaufenes Zertifikat bewirkt selbstredend das Gegenteil. Konkret geht es um folgende Faktoren:
- Domainname: Verrät die Domain bereits den Inhalt?
- Gültigkeit: Wie lange ist das Zertifikat noch gültig?
- Zertifizierungsstelle: Ist die CA vertrauenswürdig oder unbekannt? Gab es Fehler bei der Validierung?
- Hashalgorithmen: Werden unsichere oder sichere Signaturen (beispielsweise MD2, MD5, SHA-1 usw.) verwendet?
- Schlüssel: Wie sicher ist der Schlüssel? – Session Keys (Perfect Forward Secrecy; weitere Infos dazu in unserer Knowledgebase) werden höher gewertet als beispielsweise zu kurze und damit leicht knackbare Schlüssel
Die Schlüsselaustauschfunktionen werden im nächsten Schritt geprüft. Schlüsselaustauschverfahren ohne Authentifikation erlauben Man-in-the-middle-Attacken (MITM-Attacken), sodass hier abgestuft wird. Unter Verwendung von PFS steigt die Wertigkeit des Schlüsselaustauschverfahrens, da hierbei MITM-Attacken nicht möglich sind und der Session Key nach der Sitzung vernichtet wird. Folgendes Scoring kommt zur Anwendung:
- Schwache Schlüsselaustauschverfahren: 0 %
- Schlüsselaustausch mit Unbekannten (ohne Authentifikation): 0%
- Schlüsselstärken < 512 Bit: 20%
- Exportierbarer Schlüsselaustausch (begrenzt auf 512 Bit): 40%
- Schlüsselstärken < 1024 Bit: 40%
- Schlüsselstärken < 2048 Bit: 80%
- Schlüsselstärken < 4096 Bit: 90% Schlüsselstärken >= 4096 Bit: 100%
Als nächstes überprüft das Tool die Cipher-Suiten. Folgendes Scoring kommt zur Anwendung:
- 0 Bits (keine Verschlüsselung): 0%
- < 128 Bits: 20%
- < 256 Bits: 80% >= 256 Bits: 100%
Grundsätzliche Einstufungen
Wie erwähnt, ändern sich im Laufe der Zeit die Anforderungen. Qualys SSL Lab hat am Ende seines Rating-Guides Neuerungen dokumentiert, die grundsätzliche Einstufungen erlauben:
- SSL 2.0-Support führt zu einem „F“
- TLS 1.2-Support führt zu einem „A“, darunter ist keine A-Wertung erreichbar
- Schlüssellängen unter 2048 Bit sind zu schwach und führen maximal zu einem „B“
- Schlüssellängen unter 1024 Bit haben ein „F“ zur Folge
- Wird RC4 verwendet, erhalten Sie eine Warnung, da RC4 zu den unsicheren Algorithmen zählt
- Verzichten Sie auf PFS, erhalten Sie eine Warnung.
- A- wird für Server das Ergebnis sein, die insgesamt gut konfiguriert sind, aber mindestens eine Warnung erhalten
- A+ wird ausschließlich an Server mit exzellenter Konfiguration vergeben, die keine Warnungen hervorrufen und die HTTP Strict Transport Security als Standard nutzen
- MD5-signierte Zertifikate werden mit einem „F“ bestraft
Best Practice: So erhalten Sie das „A“
Um eine „A“-Wertung im SSL-Test zu erhalten, setzen Sie auf Private Keys mit mindestens 2048 Bit. Achtung: Setzen Sie auf zu lange Schlüssel, kann Ihre Performance einknicken. Eine bessere Performance erreichen Sie unter Verwendung von ECDSA-Schlüsseln, auf die wir in unserem PFS-Konfigurations-Artikel näher eingegangen sind. Schützen Sie Ihren privaten Schlüssel unbedingt! Generieren Sie diesen und Ihre CSRs auf einem sicheren Rechner. Einige CAs bieten an, Schlüssel für Sie zu erstellen – verzichten Sie darauf zum Schutz. Qualys SSL Labs gibt den Tipp, das Zertifikat und den privaten Schlüssel jedes Jahr zu erneuern. Haben Sie Ihr SSL-Zertifikat bei uns bestellt, sorgt unser Erinnerungsservice dafür, dass Sie rechtzeitig ein neues Zertifikat bestellen.
Stellen Sie sicher, dass Ihr Zertifikat sämtliche Namen abdeckt, die Sie für Ihre Seite verwenden möchten. Wenn Sie beispielsweise www.example.com sichern möchten, bedenken Sie in Ihrer Konfiguration auch www.example.net. Stellen Sie zudem idealerweise sicher, dass Ihr Zertifikat mit und ohne www-Präfix arbeitet. Um Ihr Scoring zu erhöhen, ist auch die Zertifizierungsstelle relevant. Bekannte und seriöse CAs haben Vorrang vor unbekannten und eventuell unsicheren CAs. In unserem Portfolio finden Sie ausschließlich SSL-Zertifikate namhafter Zertifizierungsstellen vor. Oftmals werden Server-Zertifikate zwar richtig konfiguriert, andere Zertifikate aber vergessen. Ist dem so, gibt der Browser Warnungen aus, dass die Seite unsicher wäre.
Sichere Protokolle sind ein weiteres relevantes Kriterium: Vergessen Sie SSL v2 und v3. TLS 1.0 können Sie nutzen, wenn Ihre restliche Konfiguration absolut sicher ausfällt. Idealerweise setzen Sie auf TLS 1.1 oder 1.2 (wobei hier die Browserunterstützung noch hinkt); für diese Protokollversionen sind derzeit keine Sicherheitseinschränkungen bekannt. Cipher-Suites verfolgen den Sinn, Ihre Kommunikation sicher zu gestalten. Ihr Ziel sollte es sein, nur Suiten zu verwenden, die die Authentifikation und mindestens 128 Bit unterstützen. Beispiele und konkrete Handlungsempfehlungen finden Sie wieder in unserem PFS-Konfigurations-Artikel. Beziehen Sie Perfect Forward Secrecy unbedingt mit ein, um Ihr Rating wesentlich zu optimieren. Verschlüsseln Sie Ihre Seite komplett. Oft leidet das Scoring darunter, dass Seiten, die schützenswert sind, ungeschützt im Web schlummern. Achten Sie auch auf Programmierfehler, die Ihre Bewertung negativ beeinflussen können, weil Ihr Zertifikat nicht richtig arbeiten kann. Mit komplettem Seitenschutz sind auch gemischte Inhalte gemeint. Häufig werden Inhalte wie JavaScript-Files, Bilder oder CSS-Dateien in die Seite integriert, ohne dass diese Inhalte SSL-geschützt sind. Dies ermöglicht Man-in-the-middle-Attacken und sorgt für ein abgewertetes Rating.
Um einen vollumfassenden Schutz zu erhalten, müssen auch eventuell verwendete Cookies als sicher eingestuft werden können. Fehler im Sichermachen von Cookies erlauben wieder MITM-Attacken – selbst dann, wenn die Seite zu 100 % verschlüsselt ist. Cookies sind mit sogenannten Secure-Flags ausgestattet. Damit legen Sie fest, ob Cookies ausschließlich über sichere HTTPS-Verbindungen oder auch über unsichere HTTP-Verbindungen übertragen werden. Verzichten Sie auf das Setzen des Secure-Flags, passiert verkürzt folgendes: Ein Benutzer ruft Ihren HTTPS-Bereich auf, der Cookie trackt ihn. Der Benutzer ruft später Ihre Seite über das ungeschützte HTTP auf. Sein Cookie wird allerdings weiterhin an die Webanwendung gesendet, was zur Folge hat, dass ein Angreifer den Cookie ausspähen kann. Dieser kann sich als Anwender ausgeben, wenn Sie keine weiteren Schutzmaßnahmen ergriffen haben.
Setzen Sie außerdem HTTP Strict Transport Security (HSTS) ein. HSTS-fähige Browser (Internet Explorer ab IE12, Firefox ab Version 4, Opera ab Version 12, Safari ab MacOS X 10.9 und Chrome ab Version 4.x) werden die HSTS-Nutzung erzwingen. Was bringt HSTS? Zum einen, dass (HTTP-)Server vorgeben, über verschlüsselte Verbindungen zu kommunizieren, zum anderen zwingt der Standard Anwendungsprogramme, nur über verschlüsselte Verbindungen mit Websites zu kommunizieren. HSTS hat den Sinn, von gängigen HTTP-Websites, die in aller Regel von Usern aufgerufen werden, auf verschlüsselte HTTPS-Seiten weiterzuleiten. Sinnvoll ist es dabei, wenn Sie diese Umleitung mit Ihren Webseitenbesuchern kommunizieren. Um HSTS zu aktivieren, tragen Sie die folgenden Zeilen in den Server-Abschnitt Ihres SSL-vHosts ein. Die max-age-Angabe zeigt in Sekunden, wie lange die Regel im Client gespeichert bleibt (31536000 Sekunden = 1 Jahr). Beachten Sie bitte die Erweiterung „includeSubDomains“, damit Sie auch Ihre Subdomains einschließen. Haben Sie HSTS aktiviert, starten Sie Ihren Server neu und die Header-Ergänzungen werden ausgeliefert.
ngix-Beispiel:
add_header Strict-Transport-Security: max-age=31536000; includeSubDomains
Apache HTTPd-Beispiel:
<VirtualHost *:80> ServerAlias * RewriteEngine On RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [redirect=301] </VirtualHost>
Weitere Konfigurationsdetails können Sie der Dokumentation des IETF entnehmen.
Nun ist es an Ihnen: Konfigurieren Sie Ihre SSL-Zertifikate nach diesen Parametern, werten Sie die Sicherheit und gleichzeitig das Scoring bei Qualys SSL Labs auf. Haben Sie Schwierigkeiten, steht Ihnen gerne unser Support zur Seite und unterstützt Sie. Zusammen machen wir das Web sicherer!
Schreibe einen Kommentar