Sicherheits-Header-Check

Sicherheits-Header sind Anweisungen, die Ihr Server jeder HTTP-Antwort beifügt und die dem Browser sagen, Schutzfunktionen einzuschalten, die er standardmäßig nicht anwendet: injizierte Skripte blockieren, HTTPS erzwingen, Framing verweigern, MIME-Sniffing stoppen. Geben Sie eine URL ein, und dieser Prüfer holt die endgültige Antwort, bewertet sechs Header mit 100 Punkten, zeigt den exakt gefundenen Wert für jeden, erklärt das Risiko in einer Zeile und gibt Ihnen die Nginx- oder Apache-Konfiguration zum Einfügen, wenn ein Header fehlt oder schwach ist. Wenn Sie nur die Kurzversion wollen: Der Website-Gesundheitscheck enthält bereits eine Teilpunktzahl für Sicherheits-Header in seinem Gesamtbericht — diese Seite ist die Tiefenanalyse: Noten und Korrekturen pro Header, sonst nichts.

Zuletzt aktualisiert:

Soll das laufend überwacht werden? Kostenlos mit myeventwatch überwachen — Ablauf- und Ausfallwarnungen, keine Karte nötig.

Die Tiefenanalyse, neben der Kurznote des Gesundheitschecks

Der Website-Gesundheitscheck beantwortet eine breite Frage — ist diese Website insgesamt gesund? — und faltet die Sicherheits-Header als eine Teilpunktzahl unter vielen in diese Antwort. Das ist die richtige Form für eine Routineuntersuchung, aber er kann Ihnen nicht sagen, welcher Header die Punkte verloren hat, welchen Wert Ihr Server tatsächlich gesendet hat oder was Sie in Ihre Konfiguration einfügen müssen, um es zu beheben. Diese Seite existiert für die Folgearbeit: ein Abruf, sechs bewertete Header, eine Buchstabennote und für jeden fehlenden oder schwachen Header die genauen Nginx- und Apache-Zeilen, die ihn hinzufügen oder stärken. Nichts hier ist eine Blackbox — die vollständige Bewertungstabelle ist im Faktenabschnitt unten veröffentlicht, und es ist genau die Tabelle, nach der der Prüfer bewertet.

So läuft die Prüfung: Der Prüfer fordert die eingegebene URL an, folgt Weiterleitungen und bewertet die Header der endgültigen Antwort — der Antwort, aus der ein Browser die Seite tatsächlich aufbauen würde. Es ist ein einfacher HTTP-Abruf, kein Browser: Es wird kein JavaScript ausgeführt, keine Subressourcen geladen, und Header, die nur auf anderen Pfaden oder nach einer Anmeldung erscheinen, werden nicht gesehen. Die Punktzahl misst eine bestimmte Schicht — ob diese sechs browsergerichteten Schutzmaßnahmen vorhanden und stark sind — und nichts weiter. Eine Website kann 100 Punkte erreichen und trotzdem einen Anwendungsfehler haben; eine Website kann ein F bekommen und nie kompromittiert worden sein. Behandeln Sie die Note als Härtungs-Checkliste mit Gewichten, nicht als Urteil über die Gesamtsicherheit der Website.

Beheben, in Reihenfolge der Wirkung

Die meisten Punkte sind billig zurückzuholen. X-Content-Type-Options, Frame-Schutz und Referrer-Policy sind je eine Zeile und brechen auf einer normalen Website nichts. Strict-Transport-Security ist ebenfalls eine Zeile, aber senden Sie ihn erst, wenn jede Seite und Subdomain wirklich über HTTPS funktioniert — ein max-age von einem Jahr ist ein Versprechen, an das Browser Sie halten werden. Permissions-Policy braucht zehn Minuten Nachdenken darüber, welche Browserfunktionen Ihre Seiten wirklich nutzen. Content-Security-Policy trägt die meisten Punkte und das größte Risiko: Setzen Sie sie zuerst als Content-Security-Policy-Report-Only ein, beobachten Sie die Verletzungsberichte, beheben Sie, was bricht, und erzwingen Sie sie erst dann. Der Begleitartikel Sicherheits-Header erklärt geht durch, was jeder Header tatsächlich stoppt und warum die Korrekturreihenfolge diese Reihenfolge ist.

Benachbarte Prüfungen: Transportsicherheit ist die andere Hälfte dieser Geschichte — der SSL-Bewerter benotet die TLS-Konfiguration selbst, während diese Seite benotet, was der Server über diese Verbindung sagt. Für die breite Routineuntersuchung, die Header neben Verfügbarkeit, DNS und Zertifikatsablauf enthält, gehen Sie zurück zum Website-Gesundheitscheck.

Eine Anmerkung zur Methode: Ergebnisse sind eine Momentaufnahme eines Abrufs zu einem Zeitpunkt. CDNs und Setups mit mehreren Servern können auf unterschiedliche Anfragen mit unterschiedlichen Header-Sätzen antworten, also verdient ein überraschendes Ergebnis eine erneute Prüfung, bevor Sie die Konfiguration ändern — und eine weitere nach der Änderung, denn ein am Ursprung hinzugefügter Header überlebt den davorstehenden Proxy nicht immer.

Die veröffentlichte Bewertungstabelle

Content-Security-Policy — 35 PunkteGut heißt eine erzwungene Policy (Report-Only zählt nicht), die Skripte von 'unsafe-inline' und 'unsafe-eval' fernhält und einschränkt, woher Ressourcen geladen werden dürfen. Das höchste Gewicht, weil CSP die Hauptabwehr gegen injizierte Skripte ist.
Strict-Transport-Security — 20 PunkteGut heißt ein max-age von mindestens einem Jahr (31536000 Sekunden), gesendet über HTTPS; includeSubDomains stärkt ihn weiter. Kurze max-age-Werte erhalten Teilpunkte.
Frame-Schutz — 15 PunkteGut heißt die CSP-Direktive frame-ancestors oder ein X-Frame-Options-Header mit DENY oder SAMEORIGIN, damit andere Websites Ihre Seiten nicht für Clickjacking in einen Frame einbetten können.
X-Content-Type-Options — 10 PunkteGut heißt der einzige Wert nosniff, damit Browser eine Antwort nicht per MIME-Sniffing in einen anderen, ausführbaren Typ verwandeln können.
Referrer-Policy — 10 PunkteGut heißt eine Policy, die die vollständige URL nie an andere Origins sendet — strict-origin-when-cross-origin oder strenger (same-origin, no-referrer).
Permissions-Policy — 10 PunkteGut heißt, der Header ist vorhanden und schaltet mächtige Browserfunktionen ab, die die Website nicht nutzt, etwa Kamera, Mikrofon und Geolokalisierung.
Cross-Origin-Opener-Policy — BonusWird neben den bewerteten Headern berichtet, ist aber keine Punkte wert: Er isoliert Ihre Seiten von Fenstern anderer Origins und liegt absichtlich außerhalb der 100, damit die veröffentlichten Gewichte genau die sechs Header oben bleiben.
Noten95 und mehr ist A+, 90+ ist A, 80+ ist B, 65+ ist C, 50+ ist D, 35+ ist E und unter 35 ist F. Punkte werden pro Header nach der Stärke des gefundenen Werts vergeben; ein fehlender Header erhält null Punkte in seiner Zeile.

Häufig gestellte Fragen

Wie wird die Punktzahl berechnet — ist das eine Blackbox?

Nein. Sechs Header tragen feste, veröffentlichte Gewichte — CSP 35, HSTS 20, Frame-Schutz 15, X-Content-Type-Options 10, Referrer-Policy 10, Permissions-Policy 10 — zusammen 100. Jeder Header erhält volle, teilweise oder keine Punkte, je nach Stärke des gefundenen Werts, und die Buchstabennote folgt den Bändern in der obigen Faktentabelle. Cross-Origin-Opener-Policy wird als Bonus berichtet und beeinflusst die Punktzahl nie.

Was unterscheidet das vom Website-Gesundheitscheck?

Der Website-Gesundheitscheck ist eine breite Untersuchung — Verfügbarkeit, DNS, TLS, Ablaufdaten und mehr —, in der Sicherheits-Header als eine schnelle Teilpunktzahl erscheinen. Diese Seite bewertet nur Header, aber in der Tiefe: den exakt gefundenen Wert für jeden, Urteil und Punkte pro Header, das Risiko in einfacher Sprache und Nginx- und Apache-Korrekturen zum Einfügen. Nutzen Sie den Gesundheitscheck, um das Problem zu finden, und diese Seite, um es zu beheben.

Welche Antwort wird bewertet — meine hat Weiterleitungen?

Bewertet werden die Header der endgültigen Antwort nach allen Weiterleitungen, weil das die Antwort ist, aus der der Browser die Seite aufbaut. Das Ergebnis zeigt die endgültige URL und den Status, damit Sie sehen, wo die Kette gelandet ist. Ein Vorbehalt: Dies ist ein statischer Abruf, kein Browser — es läuft kein JavaScript —, daher gehören Header, die ein Framework nur clientseitig hinzufügt oder die nur nach Anmeldung oder auf anderen Pfaden erscheinen, nicht zur Note.

Meine Website hat ein F bekommen. Heißt das, sie wurde gehackt?

Nein. Ein F bedeutet, dass die endgültige Antwort wenige oder keine der sechs bewerteten Header mitführte — der übliche Zustand einer Standard-Server- oder Framework-Installation. Es sagt, dass die Browser Ihrer Besucher Schutz nicht erhalten, den sie haben könnten; es sagt nichts darüber, ob die Website selbst kompromittiert wurde. Arbeiten Sie die Korrekturen in Wirkungsreihenfolge ab und prüfen Sie erneut: Die meisten Websites können an einem Nachmittag mehrere Noten aufsteigen.

Bedeutet eine Punktzahl von 100, dass meine Website sicher ist?

Nein — es bedeutet, dass diese sechs Header auf der geprüften URL vorhanden und stark sind. Header sind eine Härtungsschicht: Sie flicken keine Anwendungsfehler, schwachen Passwörter, veraltete Software oder eine kaputte TLS-Konfiguration. Kombinieren Sie diese Prüfung mit dem SSL-Bewerter für den Transport und dem Website-Gesundheitscheck für das Gesamtbild.