TLS-Feststellungen: was jede bedeutet und wie man sie behebt
Jede Feststellung, die eine TLS-Prüfung melden kann, mit ihrer Bedeutung, ihrer Behebung und den Richtlinien, die sie zählen. Feststellungen zur Verfügbarkeit setzen den Status der Prüfung, gleich was Sie gewählt haben; Feststellungen zur Konfiguration zählen gegen die gewählten Richtlinien und werden sonst erfasst und bewertet. Die Ergebnisansicht verlinkt jede Feststellung auf ihren Eintrag hier.
Verfügbarkeit
Feststellungen dazu, ob echte Clients sich verbinden können. Sie setzen bei jeder Prüfung den Status.
Zertifikat abgelaufen expired
Das Zertifikat oder eines in seiner Kette ist abgelaufen, und jeder Client lehnt die Verbindung ab. Erneuern Sie es und spielen Sie das neue Zertifikat mit seinen Zwischenzertifikaten ein; ist die Erneuerung automatisiert, prüfen Sie, warum sie stehen geblieben ist.
Setzt den Status auf Fehler.
Zertifikat läuft innerhalb der Fehlerfrist ab expiry_error
Ein Zertifikat der Kette läuft innerhalb Ihres Fehlerfensters ab. Erneuern Sie es jetzt: Die automatische Erneuerung ist zu diesem Zeitpunkt schon mindestens einmal gescheitert.
Setzt den Status auf Fehler.
Zertifikat läuft innerhalb der Warnfrist ab expiry_warning
Ein Zertifikat der Kette läuft innerhalb Ihres Warnfensters ab. Die automatische Erneuerung greift normalerweise früher; prüfen Sie, ob sie noch läuft.
Setzt den Status auf Warnung.
Zertifikat noch nicht gültig not_yet_valid
Die Gültigkeit des Zertifikats beginnt erst in der Zukunft. Entweder wurde es zu früh eingespielt, oder die Uhr des ausstellenden Systems geht falsch; spielen Sie ein Zertifikat ein, das jetzt gültig ist.
Setzt den Status auf Fehler.
Kette nicht vertrauenswürdig untrusted
Die Kette führt zu keinem vertrauenswürdigen Root-Zertifikat. Meist lässt der Server sein Zwischenzertifikat weg: Konfigurieren Sie die vollständige Kette der CA. In nginx nimmt ssl_certificate das Zertifikat gefolgt von den Zwischenzertifikaten.
Setzt den Status auf Fehler.
Name nicht vom Zertifikat abgedeckt hostname_mismatch
Kein Name im Zertifikat deckt den Host ab, mit dem sich die Prüfung verbindet. Stellen Sie das Zertifikat für diesen Namen aus, oder setzen Sie den Servernamen der Prüfung auf den Namen des Zertifikats.
Setzt den Status auf Fehler.
Zertifikat widerrufen revoked
Die CA hat das Zertifikat widerrufen, und Clients, die den Widerruf prüfen, lehnen es ab. Stellen Sie ein neues aus und spielen Sie es ein; klären Sie, warum es widerrufen wurde, denn meist war der Schlüssel offengelegt.
Setzt den Status auf Fehler.
Certificate-Transparency-Nachweise fehlen ct_non_compliant
Dem Zertifikat fehlen die Certificate-Transparency-Nachweise, die Browser verlangen. Lassen Sie es von der CA neu ausstellen; öffentlich vertrauenswürdige CAs fügen die Nachweise standardmäßig hinzu.
Setzt den Status auf Fehler.
Kein Schlüssel passt zu den gepinnten Schlüsseln pin_mismatch
Kein Schlüssel der ausgelieferten Kette passt zu den gesetzten Pins. Entweder wurde das Zertifikat mit einem neuen Schlüssel erneuert, was mobile Apps mit diesen Pins bricht, oder die Pins der Prüfung sind veraltet. Halten Sie einen Reserve-Pin für den nächsten Schlüssel bereit.
Setzt den Status auf Fehler.
CAA-Einträge schließen die ausstellende CA aus caa_forbids_issuer
Die CAA-Einträge des Namens erlauben die CA nicht, die das aktuelle Zertifikat ausgestellt hat; seine Erneuerung wird also abgelehnt. Nehmen Sie diese CA in die Einträge auf, oder wechseln Sie die CA vor der Erneuerung.
Setzt den Status auf Warnung.
Handshake abgelehnt handshake_refused
Der Server lehnt ab, was aktuelle Clients anbieten, oder der Port spricht gar kein TLS. Prüfen Sie den Port und die TLS-Einstellungen des Servers; das Ergebnis nennt, was der Server geantwortet hat.
Setzt den Status auf Fehler.
Nur veralteter Schlüsselaustausch legacy_kex_only
Der Server schließt einen Handshake nur mit veraltetem Schlüsselaustausch ab, den viele aktuelle Clients nicht mehr anbieten. Aktivieren Sie ECDHE-Cipher-Suites.
Setzt den Status auf Warnung.
TLS 1.1 oder älter ausgehandelt legacy_protocol
Der Server handelt TLS 1.1 oder älter aus, was aktuelle Browser ablehnen. Aktivieren Sie TLS 1.2 und 1.3.
Setzt den Status auf Fehler.
Private oder reservierte Adresse blocked_target
Der Host löst auf eine private oder reservierte Adresse auf, zu der Prüfungen keine Verbindung aufbauen. Prüfen Sie den Hostnamen, oder überwachen Sie den Dienst aus Ihrem eigenen Netz.
Setzt den Status auf Fehler.
Keine TLS-Antwort unreachable
Auf drei Versuche kam keine TLS-Antwort. Das Ergebnis ist unbekannt und beurteilt nichts; ob der Server läuft, ist Aufgabe einer HTTP- oder Ping-Prüfung.
Macht das Ergebnis unbekannt.
Protokollversionen
SSL 3 akzeptiert accepts_ssl3
Der Server antwortet noch auf SSL 3, das gebrochen ist. Schalten Sie es ab. In nginx: ssl_protocols TLSv1.2 TLSv1.3; In Apache: SSLProtocol -all +TLSv1.2 +TLSv1.3.
Gefordert von: Mozilla (tls_versions), BSI (§3.2), NIST (§3.1), NCSC-NL (Table 1: Insufficient).
TLS 1.0 akzeptiert accepts_tls10
Der Server antwortet noch auf TLS 1.0, das aktuelle Browser nicht mehr verwenden. Schalten Sie es ab wie SSL 3.
Gefordert von: Mozilla (tls_versions), BSI (§3.2), NIST (§3.1), NCSC-NL (Table 1: Insufficient).
TLS 1.1 akzeptiert accepts_tls11
Der Server antwortet noch auf TLS 1.1, das aktuelle Browser nicht mehr verwenden. Schalten Sie es ab wie SSL 3.
Gefordert von: Mozilla (tls_versions), BSI (§3.2), NIST (§3.1 (should not)), NCSC-NL (Table 1: Insufficient).
TLS 1.2 über sein Enddatum hinaus akzeptiert accepts_tls12
Der Server akzeptiert TLS 1.2 über das Datum hinaus, bis zu dem die Richtlinie es erlaubt. Planen Sie, nur noch TLS 1.3 anzubieten, sobald Ihre Clients es zulassen.
Gefordert von: BSI (§3.2 Table 2 (TLS 1.2 up to 2031)).
Kein TLS 1.3 no_tls13
Der Server handelt kein TLS 1.3 aus. Aktivieren Sie es; es ist schneller und lässt alles Schwache von vornherein weg. Jede aktuelle Serversoftware unterstützt es.
Gefordert von: NIST (§3.1).
Bricht bei neueren TLS-Versionen ab version_intolerant
Der Server bricht einen Handshake ab, der eine neuere TLS-Version als seine eigene anbietet, statt eine ältere auszuhandeln. Das bricht Clients, sobald neue Versionen kommen; aktualisieren Sie die Serversoftware oder das Gerät davor.
Gefordert von: NIST (§3.1).
Cipher-Suites
Null-Cipher akzeptiert accepts_null
Der Server akzeptiert Cipher-Suites, die nichts verschlüsseln. Entfernen Sie sie aus der Cipher-Liste des Servers.
Gefordert von: Mozilla (ciphers), BSI (not in Tables 3–5), NIST (§3.3.1), NCSC-NL (Tables 6, 8: Insufficient).
Anonymer Schlüsselaustausch akzeptiert accepts_anon
Der Server akzeptiert anonymen Schlüsselaustausch, den jeder auf dem Weg abfangen kann. Entfernen Sie diese Suites.
Gefordert von: Mozilla (ciphers), BSI (not in Tables 3–5), NIST (§3.3.1), NCSC-NL (Table 2: Insufficient).
Export-Cipher akzeptiert accepts_export
Der Server akzeptiert Export-Suites, die gebrochen sind. Entfernen Sie sie.
Gefordert von: Mozilla (ciphers), BSI (not in Tables 3–5), NIST (§3.3.1), NCSC-NL (Table 2: Insufficient).
RC4 akzeptiert accepts_rc4
Der Server akzeptiert RC4, das gebrochen ist. Entfernen Sie es aus der Cipher-Liste.
Gefordert von: Mozilla (ciphers), BSI (not in Tables 3–5), NIST (§3.3.1), NCSC-NL (Table 8: Insufficient).
DES oder 3DES akzeptiert accepts_3des
Der Server akzeptiert DES oder 3DES, die zu schwach sind. Entfernen Sie sie aus der Cipher-Liste.
Gefordert von: Mozilla (ciphers), BSI (not in Tables 3–5), NIST (§3.3.1.1), NCSC-NL (Table 8: Insufficient).
Schlüsselaustausch ohne Forward Secrecy accepts_static_kex
Der Server akzeptiert Schlüsselaustausch ohne Forward Secrecy; ein später gestohlener Schlüssel entschlüsselt dann vergangenen Verkehr. Bieten Sie nur ECDHE-Suites (und TLS 1.3) an.
Gefordert von: Mozilla (ciphers), BSI (RSA key transport, not in Tables 3–5; §3.3.1.2 Table 4 (up to 2026)), NCSC-NL (Table 6: Insufficient).
CBC-Suiten mit SHA-1-MAC akzeptiert accepts_sha1_mac
Der Server akzeptiert CBC-Suites mit SHA-1 zur Nachrichtenauthentisierung. Bevorzugen Sie AES-GCM- und ChaCha20-Suites und entfernen Sie diese.
Gefordert von: Mozilla (ciphers), BSI (not in Tables 3–5), NCSC-NL (Table 9: Insufficient).
CBC-Suiten akzeptiert accepts_cbc
Der Server akzeptiert CBC-Suites, die seit Langem für Padding-Angriffe anfällig sind. Bieten Sie nur AEAD-Suites (AES-GCM, ChaCha20) an.
Gefordert von: Mozilla (ciphers), NCSC-NL (Table 8: To be phased out).
DHE-Suiten über endlichen Körpern akzeptiert accepts_dhe
Der Server akzeptiert DHE-Suites mit endlichen Körpern, die langsam sind und ausgemustert werden. Bieten Sie stattdessen ECDHE-Suites an.
Gefordert von: Mozilla (ciphers), BSI (§3.3.1.1 Table 3 (TLS 1.2 DHE up to 2029)), NCSC-NL (Table 6: To be phased out).
TLS-1.2-Suiten außerhalb der Richtlinie suite_not_allowed
Der Server akzeptiert TLS-1.2-Suites, die die Richtlinie nicht aufführt, je nach Richtlinie etwa ChaCha20, CCM, Camellia oder ARIA. Die Feststellung nennt sie; entfernen Sie sie, wenn die Richtlinie für Sie zählt.
Gefordert von: Mozilla (ciphers), BSI (not in Tables 3–5), NIST (§3.3.1.1), NCSC-NL (Table 8: Insufficient).
TLS-1.3-Suiten außerhalb der Richtlinie tls13_suite_not_allowed
Der Server akzeptiert TLS-1.3-Suites, die die Richtlinie nicht aufführt: bei BSI und NIST ChaCha20, bei Mozilla und NCSC-NL die CCM-Suites. In OpenSSL-basierten Servern werden TLS-1.3-Suites getrennt gesetzt, in nginx etwa mit ssl_conf_command Ciphersuites.
Gefordert von: Mozilla (ciphersuites), BSI (§3.4.4 Table 13), NIST (§3.3.1.2), NCSC-NL (Table 8: Insufficient).
Schlüsselaustausch
Schlüsselaustauschgruppen außerhalb der Richtlinie kex_group_not_allowed
Der Server akzeptiert Schlüsselaustauschgruppen, die die Richtlinie nicht aufführt, etwa X25519 bei BSI oder NIST. Setzen Sie die Gruppen ausdrücklich: ssl_ecdh_curve in nginx, SSLOpenSSLConfCmd Curves in Apache.
Gefordert von: Mozilla (tls_curves), BSI (§3.3.2 Table 6, §3.4.2 Table 10), NIST (§3.3.1, §3.4.2.2), NCSC-NL (Tables 3, 6, 7: Insufficient).
Geforderte Schlüsselaustauschgruppe fehlt no_required_kex_group
Der Server handelt keine der Gruppen aus, die die Richtlinie verlangt, bei NIST P-256 oder P-384. Nehmen Sie eine davon in die Gruppen des Servers auf.
Gefordert von: BSI (§3.3.2 Table 6, §3.4.2 Table 10), NIST (§3.4.2.2).
Kein hybrider Post-Quanten-Schlüsselaustausch no_pq_hybrid
Der Server handelt keinen hybriden Post-Quanten-Schlüsselaustausch aus, den die Richtlinie ab ihrem Datum erwartet. Aktuelle Versionen von OpenSSL und BoringSSL bieten einen an.
Gefordert von: BSI (§3.1.3 (classical key agreement alone up to 2031)).
Schwache DH-Gruppe weak_dh
Die DH-Gruppe des Servers ist kleiner, als die Richtlinie erlaubt, oder keine der Standardgruppen nach RFC 7919. Verwenden Sie eine Standardgruppe mindestens der genannten Größe, oder verzichten Sie auf DHE.
Gefordert von: Mozilla (dh_param_size), BSI (§3.6.1 Table 14), NIST (§3.3.1, §3.3.3), NCSC-NL (Table 7: Insufficient).
Handshake
TLS-Kompression aktiv tls_compression
Der Server akzeptiert Kompression auf TLS-Ebene, die Geheimnisse verrät (CRIME). Schalten Sie sie ab.
Gefordert von: BSI (§3.3.4.3), NIST (§3.7), NCSC-NL (Table 10: Insufficient).
Keine sichere Neuverhandlung insecure_renegotiation
Der Server unterstützt keine sichere Neuverhandlung (RFC 5746). Aktualisieren Sie die TLS-Bibliothek; jede gepflegte unterstützt sie.
Gefordert von: BSI (§3.3.4.1), NIST (§3.4.1.1), NCSC-NL (Table 11: Insufficient).
Heartbeat-Erweiterung aktiv heartbeat_enabled
Der Server handelt die Heartbeat-Erweiterung aus, die Heartbleed ausgenutzt hat. Sie wird nur gemeldet, nie ausgelöst; schalten Sie sie ab.
Gefordert von: BSI (§3.3.4.6).
Verkürzter HMAC aktiv truncated_hmac
Der Server handelt verkürztes HMAC aus, das die Integrität schwächt. Schalten Sie es ab.
Gefordert von: BSI (§3.3.4.2), NIST (§3.4.2 item 8).
Kein Extended Master Secret no_extended_master_secret
Der Server handelt kein Extended Master Secret aus (RFC 7627). Aktualisieren Sie die TLS-Bibliothek oder schalten Sie es ein.
Gefordert von: BSI (§3.3.4.7), NIST (§3.4.1.3).
CBC ohne Encrypt-then-MAC cbc_without_etm
Der Server verwendet CBC-Suites ohne Encrypt-then-MAC (RFC 7366). Schalten Sie es ein, oder besser: Verzichten Sie auf CBC-Suites.
Gefordert von: BSI (§3.3.4.5), NIST (§3.4.2.7).
Downgrade nicht verhindert (TLS_FALLBACK_SCSV) no_fallback_scsv
Der Server akzeptiert trotz TLS_FALLBACK_SCSV einen herabgestuften Handshake; ein Angreifer kann Clients so auf eine ältere Version drängen. Aktualisieren Sie die TLS-Bibliothek, oder schalten Sie die älteren Versionen ab.
Gefordert von: NIST (§3.4.2.1).
Handshake mit RSA PKCS #1 v1.5 signiert pkcs1_handshake_signature
Bietet der Client nur RSA-Signaturen nach PKCS #1 v1.5 an, signiert der Server seinen Schlüsselaustausch damit. Manche Richtlinien wollen RSA-PSS; aktuelle Bibliotheken bevorzugen es, wenn Clients es anbieten.
Gefordert von: BSI (§3.3.3 Table 7 (rsa up to 2025)).
Handshake mit SHA-1 signiert weak_handshake_hash
Bietet der Client nur SHA-1 an, signiert der Server seinen Schlüsselaustausch damit. Beschränken Sie die Signaturverfahren auf SHA-256 oder stärker.
Gefordert von: BSI (§3.3.3 Table 8), NIST (§3.3.3), NCSC-NL (Table 9: Insufficient).
Zertifikat
Zertifikatsschlüssel zu kurz weak_key
Der Schlüssel des Zertifikats ist kleiner, als die Richtlinie erlaubt. Stellen Sie das nächste Zertifikat mit einem größeren Schlüssel oder als ECDSA-Zertifikat aus.
Gefordert von: Mozilla (certificate_curves; rsa_key_size), BSI (§3.6.1 Table 14), NIST (§3.2.1 Table 3-1, §3.3.3), NCSC-NL (Table 3: Insufficient; Table 4: Insufficient).
Schlüssel eines Zwischenzertifikats zu kurz weak_chain_key
Der Schlüssel eines Zwischenzertifikats ist kleiner, als die Richtlinie erlaubt. Das Zwischenzertifikat stammt von Ihrer CA; fragen Sie nach einer Kette mit stärkeren Schlüsseln, oder wechseln Sie die CA.
Gefordert von: BSI (§3.6), NIST (§3.3.3).
MD5- oder SHA-1-Signatur in der Kette weak_signature
Ein Zertifikat der Kette ist mit MD5 oder SHA-1 signiert. Lassen Sie es neu ausstellen; ist es das Zwischenzertifikat, hat Ihre CA ein aktuelles.
Gefordert von: Mozilla (certificate_signatures), BSI (§3.3.3 Table 8, §3.4.3 Table 12), NIST (§3.3.3), NCSC-NL (Table 9: Insufficient).
RSA-PKCS-#1-v1.5-Signatur in der Kette pkcs1_signature
Ein Zertifikat der Kette ist mit RSA nach PKCS #1 v1.5 signiert, was manche Richtlinien nicht mehr empfehlen. Praktisch erfüllen lassen sie sich nur mit einer ECDSA-Kette.
Gefordert von: BSI (§3.3.3 Table 7, §3.4.3 Table 12 (up to 2025)).
Schlüsseltyp außerhalb der Richtlinie cert_type_not_allowed
Der Schlüsseltyp des Zertifikats liegt außerhalb der Richtlinie, etwa DSA oder EdDSA. Stellen Sie ein RSA- oder ECDSA-Zertifikat aus.
Gefordert von: Mozilla (certificate_types), BSI (§3.3.3 Table 7), NIST (§3.2), NCSC-NL (Table 2: Insufficient).
Kurve außerhalb der Richtlinie curve_not_allowed
Die Kurve des Zertifikats liegt außerhalb der Richtlinie. Lassen Sie es mit P-256 oder P-384 ausstellen.
Gefordert von: Mozilla (certificate_curves), BSI (§3.6.2), NIST (§3.2, Table 3-1), NCSC-NL (Tables 3, 5: Insufficient).
Zertifikat zu lange gültig long_lifespan
Das Zertifikat ist länger gültig, als die Richtlinie erlaubt. Stellen Sie kürzer laufende Zertifikate aus, am besten automatisch erneuert.
Gefordert von: Mozilla (maximum_certificate_lifespan), NIST (Table 3-1).
Wildcard-Name im Zertifikat wildcard
Das Zertifikat deckt einen Wildcard-Namen ab. Den Schlüssel teilen sich alle Hosts, die es abdeckt; ein kompromittierter Host legt also alle offen. Bevorzugen Sie Zertifikate für benannte Hosts.
Gefordert von: BSI (TR-02103 (1.0) §4.1.2).
Keine Key-Usage-Erweiterung no_key_usage
Das Zertifikat hat keine Key-Usage-Erweiterung. Fragen Sie Ihre CA nach einem Zertifikat, das diese Erweiterung enthält.
Gefordert von: BSI (TR-02103 (1.0) Table 30), NIST (Table 3-1).
Key Usage nicht als kritisch markiert key_usage_not_critical
Die Key Usage des Zertifikats ist nicht als kritisch markiert. Fragen Sie Ihre CA nach einem Zertifikat, dessen Key Usage als kritisch markiert ist.
Gefordert von: BSI (TR-02103 (1.0) Table 34), NIST (Table 3-1).
Key Usage passt nicht zum Schlüsselaustausch key_usage_mismatch
Die Key Usage des Zertifikats erlaubt den Schlüsselaustausch des Servers nicht, etwa RSA-Schlüsseltransport mit einem reinen Signaturschlüssel. Entfernen Sie die Suites mit RSA-Schlüsseltransport, oder lassen Sie das Zertifikat neu ausstellen.
Gefordert von: BSI (TR-02103 (1.0) §4.1.3), NIST (Table 3-1).
Keine Extended Key Usage no_server_auth_eku
Das Zertifikat hat keine Extended Key Usage. Fragen Sie Ihre CA nach einem Zertifikat, das TLS-Serverauthentisierung nennt.
Gefordert von: BSI (TR-02103 (1.0) §4.1.4), NIST (Table 3-1).
Extended Key Usage erlaubt jeden Zweck eku_any_purpose
Die Extended Key Usage des Zertifikats erlaubt jeden Zweck. Fragen Sie Ihre CA nach einem Zertifikat, das auf TLS-Serverauthentisierung beschränkt ist.
Gefordert von: NIST (Table 3-1).
Kein Authority Key Identifier no_aki
Das Zertifikat hat keinen Authority Key Identifier, der Clients beim Aufbau der Kette hilft. Fragen Sie Ihre CA nach einem Zertifikat, das ihn enthält.
Gefordert von: BSI (TR-02103 (1.0) Table 30), NIST (Table 3-1).
Kein OCSP-Responder no_ocsp_responder
Das Zertifikat nennt keinen OCSP-Responder. Viele CAs betreiben OCSP nicht mehr; eine Feststellung ist es deshalb nur, wo eine Richtlinie es verlangt.
Gefordert von: NIST (§3.2, Table 3-1).
DNS
Keine CAA-Einträge no_caa
Der Name hat keine CAA-Einträge, also darf jede CA Zertifikate für ihn ausstellen. Veröffentlichen Sie einen CAA-Eintrag mit den CAs, die Sie nutzen.
Von keiner Richtlinie gefordert: nur erfasst und bewertet.
Kein Encrypted Client Hello no_ech
Der HTTPS-DNS-Eintrag des Namens kündigt kein Encrypted Client Hello an. Nur erfasst; es kostet nie ein Schloss, weil es ebenso von Ihrem CDN abhängt wie von Ihnen.
Von keiner Richtlinie gefordert: nur erfasst und bewertet.
Widerruf
Kein OCSP-Stapling no_ocsp_stapling
Das Zertifikat nennt einen OCSP-Responder, der Server liefert aber keine OCSP-Antwort mit, sodass jeder Client selbst bei der CA nachfragen muss. In nginx: ssl_stapling on; In Apache: SSLUseStapling on.
Gefordert von: Mozilla (ocsp_staple), NIST (§3.4.1.5).
HTTP
Kein HSTS-Header no_hsts
Die HTTPS-Antwort enthält keinen Strict-Transport-Security-Header. Ein Browser, der über eine eingetippte Adresse oder einen alten Link zunächst unverschlüsselt per HTTP ankommt, kann deshalb abgefangen werden, bevor er HTTPS erreicht. Senden Sie den Header bei jeder HTTPS-Antwort. In nginx: add_header Strict-Transport-Security "max-age=63072000; includeSubDomains" always;
Gefordert von: Mozilla (hsts_min_age).
HSTS-max-age zu kurz short_hsts
Das HSTS-max-age ist kürzer als verlangt: zwei Jahre nach Mozilla, ein Jahr für das fünfte Schloss. Browser merken sich den Header für diese Dauer; erhöhen Sie den Wert daher erst, sobald HTTPS überall unter dem Namen funktioniert.
Gefordert von: Mozilla (hsts_min_age).
HSTS ohne Subdomains hsts_no_subdomains
Der HSTS-Header lässt Subdomains aus. Eine Subdomain, die unverschlüsselt per HTTP erreicht wird, kann dann weiterhin Cookies für die ganze Domain setzen. Ergänzen Sie includeSubDomains, sobald jede Subdomain HTTPS ausliefert.
Von keiner Richtlinie gefordert: nur erfasst und bewertet.
Keine Weiterleitung auf HTTPS no_https_redirect
Port 80 antwortet, ohne Besucher auf HTTPS unter demselben Namen zu schicken: Er liefert die Seite unverschlüsselt aus, leitet auf HTTP weiter oder zuerst auf einen anderen Namen. Leiten Sie jede HTTP-Anfrage auf https:// unter demselben Namen weiter; ein Wechsel auf einen anderen Namen erfolgt erst danach, über HTTPS. Ein geschlossener Port 80 ist keine Feststellung.
Von keiner Richtlinie gefordert: nur erfasst und bewertet.
HTTPS-Weiterleitung nicht dauerhaft redirect_not_permanent
Port 80 leitet mit einem vorübergehenden Status (302, 303 oder 307) auf HTTPS weiter, sodass Browser und Suchmaschinen immer wieder unverschlüsselt anfragen. Verwenden Sie 301 oder 308. In nginx: return 301 https://$host$request_uri;
Von keiner Richtlinie gefordert: nur erfasst und bewertet.
Cookies ohne Secure insecure_cookie
Die HTTPS-Antwort setzt Cookies ohne das Attribut Secure. Ein Browser sendet sie dann auch über unverschlüsseltes HTTP, wo sie jeder auf dem Übertragungsweg mitlesen kann. Setzen Sie Secure bei jedem Cookie; die Feststellung nennt die betroffenen. Ihre Werte werden nie gespeichert.
Von keiner Richtlinie gefordert: nur erfasst und bewertet.
Veraltete Pinning-Header obsolete_pinning
Die Antwort enthält Public-Key-Pins oder Expect-CT. Browser unterstützen beides seit Jahren nicht mehr, und ein vergessener Pinning-Header kann einen Client, der ihn noch beachtet, weiterhin aussperren. Entfernen Sie die Header: Browser erzwingen Certificate Transparency ohne sie, und eine mobile App pinnt Schlüssel in ihrem eigenen Code.
Von keiner Richtlinie gefordert: nur erfasst und bewertet.
Abdeckung der Proben
Konfigurationstest unvollständig posture_incomplete
Der tägliche Konfigurationstest konnte nicht alles feststellen: Eine Probe wurde nicht gesendet oder blieb ohne Antwort, der Server nahm mehr Cipher-Suites an, als der Test aufzählt, oder ein Zertifikat war zu groß, um es aufzubewahren. Was der Test nicht gesehen hat, zählt für keine Richtlinie als erfüllt; betrifft es eine gewählte Richtlinie, bleibt die Bewertung bei drei Schlössern, sonst unter fünf. Meist ist es mit dem Test des nächsten Tages behoben; bleibt es, prüfen Sie, ob der Server jede Verbindung beantwortet, statt manche zu verwerfen. Bei aktiven HTTP-Prüfungen zählt eine HTTPS-Anfrage ohne Antwort genauso; schalten Sie sie für einen Port aus, der kein HTTP ausliefert.
Von keiner Richtlinie gefordert: nur erfasst und bewertet.