Stellen Sie sich vor, Sie reservieren auf der Website eines Restaurants einen Tisch. Sie öffnen die Seite, wählen eine Uhrzeit, melden sich an und leisten über einen eingebetteten Zahlungsdienst eine Anzahlung. Dieser hypothetische Besuch läuft durch mehrere verbundene Systeme und bleibt für Sie trotzdem ein einziger, einfacher Vorgang.
TLS und Security-Header schützen diesen Besuch auf zwei Ebenen. TLS baut die verschlüsselte Verbindung auf und weist die Identität des Servers nach. Die Header der Antwort geben dem Browser Anweisungen für Inhalte, Cookies und spätere Besuche.
Was dieser Leitfaden abdeckt
Der Leitfaden erklärt TLS und Security-Header. Der kostenlose Snapshot mit acht passiven Prüfungen ist kein Penetrationstest. Er meldet nur das ausgehandelte TLS-Protokoll, prüft Header vor allem auf Vorhandensein, Cookies nicht auf SameSite und die HTTPS-Weiterleitung nur bei http://-Adressen.
1. Die Rolle des Zertifikats verstehen
Baut ein Browser eine HTTPS-Verbindung auf, handelt TLS die Verschlüsselung aus. Dabei prüft der Browser, ob das Zertifikat für den angefragten Hostnamen gilt und über eine Kette vertrauenswürdiger Aussteller bestätigt ist. Das Zertifikat nennt die abgedeckten Namen, seinen Gültigkeitszeitraum und die Angaben, mit denen sich die Vertrauenskette aufbauen lässt. TLS ist der Nachfolger von SSL; im Alltag ist trotzdem meist vom „SSL-Zertifikat“ die Rede.
Legen Sie eine Liste der öffentlichen Namen an: Stammdomain, www und Subdomains für Dienste wie Shop, Kundenportal oder Statusseite. Prüfen Sie jeden vorgesehenen Namen und notieren Sie, welcher Anbieter das jeweilige Zertifikat verwaltet. CDN und Ursprungsserver können getrennte Zertifikate mit eigenen Erneuerungswegen haben. Halten Sie außerdem fest, welches Protokoll eine Verbindung tatsächlich aushandelt, etwa TLS 1.3. Das ist eine konkrete Beobachtung, verrät aber nicht, welche älteren Versionen der Server zusätzlich annimmt. Die OWASP-Empfehlungen zu TLS helfen bei der Auswahl der unterstützten Protokolle und bei der Pflege der Konfiguration.
Die Erneuerung verdient besondere Aufmerksamkeit, weil die Laufzeiten kürzer werden. Öffentlich vertrauenswürdige TLS-Zertifikate, die seit dem 15. März 2026 ausgestellt werden, dürfen höchstens 200 Tage gültig sein. Nach dem Beschluss des CA/Browser Forums sinkt die Grenze ab dem 15. März 2027 auf 100 und ab dem 15. März 2029 auf 47 Tage. Let's Encrypt verschickt seit dem 4. Juni 2025 keine Ablauferinnerungen mehr per E-Mail. Automatische Erneuerung und eine davon unabhängige Ablaufüberwachung gehören deshalb zusammen.
2. Sehen, wie die Schutzschichten zusammenwirken
| Schicht | Nutzen | Praktisches Vorgehen |
|---|---|---|
| TLS-Zertifikat | Eine authentifizierte, verschlüsselte Verbindung | Öffentliche Namen, Laufzeit und Zuständigkeit für die Erneuerung erfassen |
| Content Security Policy | Ausdrückliche Regeln für die Ressourcen und das Verhalten einer Seite | Die Richtlinie aus den tatsächlich genutzten Ressourcen ableiten |
| HSTS | Durchgängig HTTPS bei späteren Besuchen | Laufzeit und Abdeckung der Subdomains bewusst wählen |
| Cookie-Attribute | Sitzungscookies, die nur per HTTPS übertragen werden und für Seitenskripte nicht lesbar sind | Anmeldung, eingebettete Dienste und Rücksprünge von außen testen |
| Frame-Schutz | Kontrolle darüber, wer die Seite einbetten darf | frame-ancestors setzen, X-Frame-Options als Rückfall |
Diese Maßnahmen ergänzen sich. Das Zertifikat sichert die Verbindung, die Header beschreiben, wie sich eine bestimmte Antwort im Browser verhalten soll. Verschiedene Seiten haben verschiedene Aufgaben: Ein öffentlicher Artikel, eine Kontoseite und ein bewusst einbettbares Widget brauchen jeweils Regeln, die zu ihrer Rolle passen. Header wie CSP oder Frame-Schutz wirken auf Antworten, die der Browser darstellt. Bei einer API, die nur JSON zurückgibt, bringen sie laut OWASP wenig.
3. CSP aus den tatsächlich genutzten Ressourcen aufbauen
Eine Content Security Policy (CSP) legt fest, aus welchen Quellen eine Seite Ressourcen laden darf und welches Verhalten erlaubt ist. Vor allem begrenzt sie die Folgen von Cross-Site-Scripting. Laut MDN ist sie aber kein Ersatz für eine saubere Behandlung von Eingaben. Beginnen Sie mit einer Bestandsaufnahme von Skripten, Bildern, Schriften, Netzwerkverbindungen und Frames. Gehen Sie dafür den gesamten Ablauf durch, damit auch Zahlungs-, Anmelde- und Supportressourcen auf der Liste landen, die erst nach einer Interaktion nachgeladen werden.
Mit dem Header Content-Security-Policy-Report-Only beobachten Sie, wie eine geplante Richtlinie zur tatsächlichen Nutzung passt: Verstöße werden gemeldet, aber nicht blockiert. Werten Sie die Browserkonsole oder den konfigurierten Berichtsempfänger aus, ordnen Sie jede Meldung einer Ressource zu und entscheiden Sie, welche Regel gelten soll. Eine Report-Only-Richtlinie funktioniert nur als HTTP-Header, nicht in einem <meta>-Element. Beide Header lassen sich parallel senden, sodass Sie eine strengere Fassung testen können, während die bisherige Richtlinie weiter gilt. Sind repräsentative Abläufe geprüft, setzen Sie die getestete Richtlinie durch.
Für Skripte empfiehlt MDN eine sogenannte strikte CSP, die einzelne Skripte über Nonces oder Hashes erlaubt, statt lange Listen erlaubter Hosts zu pflegen. Auf 'unsafe-inline' sollten Sie verzichten, weil es laut MDN einen Großteil des Nutzens einer CSP aufhebt. Mit Skripten von Drittanbietern, die ihrerseits weitere Skripte nachladen, ist eine strikte CSP allerdings schwer umzusetzen; planen Sie dafür Zeit ein. Eine dokumentierte Ressourcenliste macht spätere Ergänzungen leichter und erklärt jede einzelne Erlaubnis.
4. HTTPS für den Browser zur festen Regel machen
Mit dem Header Strict-Transport-Security (HSTS) weist eine Website den Browser an, einen Host für einen festgelegten Zeitraum nur noch per HTTPS aufzurufen und spätere HTTP-Aufrufe automatisch umzustellen. Der Browser übernimmt die Regel nur aus einer gültigen HTTPS-Antwort; kommt der Header über unverschlüsseltes HTTP, wird er ignoriert. Die Weiterleitung von HTTP auf HTTPS soll den Header laut MDN deshalb gar nicht enthalten; maßgeblich ist die HTTPS-Antwort. Wählen Sie für max-age (in Sekunden) zunächst eine kurze Dauer, prüfen Sie das Verhalten und verlängern Sie dann schrittweise. Die Preload-Seite hstspreload.org schlägt Stufen von fünf Minuten, einer Woche und einem Monat vor. Als Endwert nennt die OWASP-Übersicht zu HTTP-Headern max-age=63072000, also zwei Jahre.
Bedenken Sie eine Folge: Auf einem HSTS-Host lassen sich Zertifikatsfehler nicht wegklicken. Läuft ein Zertifikat ab, erreichen wiederkehrende Besucher die Website erst wieder, wenn es erneuert ist. Die Option includeSubDomains dehnt die Regel auf alle Subdomains aus. Gleichen Sie diese Entscheidung mit Ihrer Liste der öffentlichen Namen ab und stellen Sie vorher sicher, dass jede Subdomain per HTTPS erreichbar ist. Jede Subdomain sollte den Header trotzdem selbst senden, weil ein Browser die Stammdomain womöglich nie aufruft.
Beim Preloading wird die Domain in eine Liste eingetragen, die Browser fest mitliefern, sodass HTTPS schon beim allerersten Besuch gilt. Das ist eine langfristige Entscheidung: Eine Streichung von der Liste dauert Monate. Die Betreiber von hstspreload.org empfehlen HSTS, Preloading dagegen inzwischen nicht mehr, weil Browser wie Chrome und Safari HTTP-Navigationen ohnehin automatisch auf HTTPS umstellen. Die MDN-Erklärung zu HSTS beschreibt, wie die Optionen zusammenwirken.
6. Das Ergebnis im Browser beobachten
Laden Sie eine normale Seite bei geöffneten Entwicklertools und verfolgen Sie im Netzwerkbereich die Weiterleitungen bis zur endgültigen Antwort. Sehen Sie sich Zertifikat, Header und Cookies an, die tatsächlich ausgeliefert werden. So verbinden Sie die Konfiguration mit dem, was Besucher erleben, und erkennen, welcher Dienst welche Einstellung beisteuert. Wie Sie die Header einzeln mit DevTools oder curl auslesen und mit welchen Werten Sie sicher starten, zeigt der Security Headers Check.
- Rufen Sie alle öffentlichen Hostnamen per HTTPS auf und einmal ausdrücklich mit
http://, um die Weiterleitung zu sehen. - Notieren Sie die Zertifikatsdaten und die Richtlinien der endgültigen Antwort.
- Durchlaufen Sie Anmeldung, Passwort-Wiederherstellung, eingebettete Zahlung und Rücksprünge von externen Diensten.
- Werten Sie Konsolenmeldungen und den gewählten Berichtsempfänger aus.
Prüfen Sie auch Fehlerseiten. Bei nginx sendet add_header ohne den Zusatz always die Header nur für bestimmte Statuscodes, sodass etwa eine 404-Seite ohne Security-Header ausgeliefert werden kann. Führen Sie ein datiertes Konfigurationsprotokoll und vermerken Sie, wer welche Schicht verwaltet. Ändern sich Hosting oder eine Integration, prüfen Sie das gewünschte Verhalten mit demselben Ablauf. Halten Sie die vorherige Konfiguration griffbereit, damit Sie eine Änderung schnell zurücknehmen können. Die so entstandene Checkliste hilft später allen, die die Website betreuen.
Um die Header einer Website gleich jetzt zu prüfen, nutzen Sie den kostenlosen Security Headers Checker.
7. Die Schutzübersicht nah an der Website halten
Halten Sie öffentliche Namen, Zertifikatsverantwortliche, eingebundene Ressourcen und wichtige Abläufe an einem Ort fest. Einen ersten Blick von außen liefert der kostenlose Snapshot von Sitelemetry: Er führt ohne Anmeldung acht passive Prüfungen an einer öffentlichen Adresse aus, darunter das TLS-Zertifikat und die Security-Header der Startseite, und ist kein Penetrationstest. Der Leitfaden zur Website-Sicherheit zeigt, wie diese Schichten mit Konten, Berechtigungen und der laufenden Pflege zusammenhängen.
Häufige Fragen
Wie arbeiten TLS und Security-Header zusammen?
TLS verschlüsselt die Verbindung und weist die Identität des Servers nach. Die Header der Antwort legen anschließend fest, wie der Browser mit Inhalten, Cookies und späteren Anfragen umgehen soll.
Wie führe ich CSP ein, ohne dass etwas kaputtgeht?
Erfassen Sie die Ressourcen repräsentativer Abläufe, beobachten Sie die geplante Richtlinie im Report-Only-Modus, werten Sie die Meldungen aus und setzen Sie erst dann die Regeln durch, die dem gewünschten Verhalten entsprechen.
Schützt HttpOnly ein Cookie vollständig?
Nein. HttpOnly verhindert nur, dass JavaScript auf der Seite das Cookie liest, zum Beispiel über document.cookie. Der Browser sendet es weiterhin mit passenden Anfragen, und XSS selbst verhindert HttpOnly nicht. Dass das Cookie nur über HTTPS übertragen wird, regelt Secure; ob es bei websiteübergreifenden Anfragen mitgeht, regelt SameSite.
Sollte ich HSTS-Preloading aktivieren?
Für die meisten Websites nicht. Die Betreiber von hstspreload.org empfehlen HSTS, Preloading inzwischen aber nicht mehr, und eine Streichung von der Liste dauert Monate. Wer sich trotzdem dafür entscheidet, sollte sicher sein, dass alle Subdomains dauerhaft per HTTPS erreichbar sind.
Was gehört in eine Zertifikatsübersicht?
Öffentliche Hostnamen, Zertifikatsanbieter, Gültigkeitszeitraum, Verantwortliche für die Erneuerung und die Aufteilung zwischen CDN und Ursprungsserver. Weil die maximale Laufzeit öffentlicher Zertifikate sinkt, gehört auch die Art der automatischen Erneuerung dazu. Prüfen Sie die Übersicht bei jeder Hosting- oder Domainänderung.
Quellen und weiterführende Links
- MDN: Content Security Policy (Leitfaden)developer.mozilla.org
- MDN: Content-Security-Policydeveloper.mozilla.org
- MDN: Content-Security-Policy-Report-Onlydeveloper.mozilla.org
- MDN: CSP frame-ancestorsdeveloper.mozilla.org
- MDN: Strict-Transport-Security (HSTS)developer.mozilla.org
- MDN: Set-Cookiedeveloper.mozilla.org
- MDN: X-Content-Type-Optionsdeveloper.mozilla.org
- OWASP: HTTP Headers Cheat Sheetcheatsheetseries.owasp.org
- OWASP: Session Management Cheat Sheetcheatsheetseries.owasp.org
- OWASP: Transport Layer Security Cheat Sheetcheatsheetseries.owasp.org
- HSTS Preload List Submissionhstspreload.org
- CA/Browser Forum: Ballot SC081v3 zu kürzeren Zertifikatslaufzeitencabforum.org
- Let's Encrypt: Expiration Notification Service Has Endedletsencrypt.org
Erstellt von der Sitelemetry-Redaktion. Die verlinkten Quellen bieten weiterführende Informationen.



