Prüfung der Sicherheits-Header

Fügen Sie die Antwort-Header einer Seite ein —curl -sI https://your-site.example/im Terminal oder den Block aus dem Netzwerk-Bereich der Browser-Entwicklerwerkzeuge — und erhalten SieBewertung A+ bis Fauf der Checkliste der sicheren OWASP-Header:Strict-Transport-Security, Content-Security-Policy, X-Content-Type-Options, Schutz gegen Einbettung,Referrer-Policy, Permissions-Policy, das Cross-Origin-Isolationstrio, Versionsangaben, veraltete Header und Cookie-Flags — jeder Befund mit dem genauennginx, Apache und ExpressZeilen, die es beheben. Alles läuft in Ihrem Browser; die Seite kontaktiert Ihre Website nie.
Die Statuszeile ist optional. Alle Zeilen Set-Cookie werden geprüft. Um überhaupt eine zu bewertende Richtlinie zu haben, erstellen Sie eine im CSP-Generator; um einen Header-Block Zeile für Zeile zu zerlegen, nutzen Sie den HTTP-Header-Parser.
Noch keine Bewertung. Fügen Sie die Antwort-Header ein und drücken Sie Header prüfen oder laden Sie ein Beispiel.
Korrekturzeilen für jeden Befund erscheinen hier nach einer Prüfung.
Umfang dieser Prüfung im Vergleich zur SSL-Sicherheitsprüfung. Diese Seite bewertet die Sicherheits-Antwort-Header (die OWASP-Liste oben). Die SSL-Sicherheitsprüfung bewertet Ihr HTTPS-Setup: Zertifikatskette, Protokollversionen, Stärke der Chiffren und gemischte Inhalte. HSTS und Cookie-Flags erscheinen auf beiden Seiten, weil beide Listen sie enthalten, aber mit unterschiedlichem Blickwinkel — führen Sie beide Prüfungen durch, um das vollständige Bild zu erhalten.
Selbsttest
Führt die Bewertung erneut gegen feste Header-Blöcke aus: die gute Vorlage mit A+, die schlechte Vorlage mit F und allen ausgelösten Abzügen, jede Regel einzeln (die Arithmetik der Bewertung), die Obergrenze bei Versionsangaben, Cookie-Hinweise, Hinweise zur CSP-Qualität, frame-ancestors als Schutz gegen Einbettung, die Notenschwellen auf beiden Seiten jeder Grenze, die Korrekturschnipsel und die Negativpfade. Nichts wird irgendwohin gesendet.
Was sind Sicherheits-Header?
In einem Satz: Sicherheits-Header sind Antwort-Header, die den Browser anweisen, einen Schutz durchzusetzen, den er nicht selbst erkennen kann — niemals Skripte von unbekannten Ursprüngen laden, niemals erneut unverschlüsseltes HTTP mit diesem Host sprechen, diese Seite niemals einbetten lassen — und jeder kostet eine einzige Konfigurationszeile.
Die Header, die diese Seite bewertet
HeaderSchützt vorVon OWASP empfohlener Wert
Strict-Transport-SecurityProtokoll-Downgrade und Diebstahl von Cookies bei der ersten unverschlüsselten HTTP-Anfragemax-age=63072000; includeSubDomains
Content-Security-PolicyCross-Site-Scripting, schädliche Einbettungen, gemischte Inhaltedefault-src 'self'; form-action 'self'; base-uri 'self'; object-src 'none'; frame-ancestors 'none'; upgrade-insecure-requests
X-Content-Type-OptionsMIME-Verwechslung (ein Skript wird als Bild ausgeliefert)nosniff
X-Frame-Options / CSP frame-ancestorsClickjacking (Ihre Seite wird von einem Angreifer eingebettet)deny / 'none'
Referrer-PolicyPreisgabe von URLs (mit Token) an Drittanbieter-Seitenno-referrer
Permissions-PolicySeiten und Einbettungen, die stillschweigend Kamera, Mikrofon und Standort nutzenalle Funktionen deaktiviert
Cross-Origin-Opener-PolicyAndere Fenster, die in Ihren Browsing-Kontext greifensame-origin
Cross-Origin-Embedder-PolicyLaden von Ressourcen, die nicht zugestimmt haben (ermöglicht Prozessisolation)require-corp
Cross-Origin-Resource-PolicyIhre Ressourcen, eingebettet von anderen Seitensame-origin
Wie die Bewertung berechnet wird

Beginnen Sie bei 100 und ziehen Sie ab: −25 fehlende CSP, −20 fehlendes HSTS, −10 jeweils für fehlendes X-Content-Type-Options, Referrer-Policy oder fehlenden Schutz gegen Einbettung, −5 jeweils für das Cross-Origin-Trio und Permissions-Policy, −5 für Versionsangaben in Server/X-Powered-By (begrenzt), und −5 für ein X-XSS-Protection ungleich null. Buchstabennoten: 100 = A+, 90+ = A, 80+ = B, 70+ = C, 60+ = D, darunter = F. Hinweise (Cookie-Flags, Cache-Steuerung, Qualität der CSP) werden nicht abgezogen.

Häufige Fehler
  • Header auf den falschen Antworten setzen. Fügen Sie sie jeder Antwort hinzu, einschließlich Fehlerseiten und Weiterleitungen — genau dafür ist das always in add_header ... always; (nginx) und Header always set (Apache) gedacht.
  • Nur die Startseite zu prüfen. Proxys, Caches und ältere Anwendungen entfernen oder überschreiben Header oft nur auf bestimmten Pfaden. Prüfen Sie die Seiten, auf die es ankommt: Anmeldung, Kasse, API-Endpunkte.
  • Beibehalten von X-XSS-Protection. Der Auditor, den er antrieb, verursachte eigene Sicherheitslücken; Browser haben ihn entfernt. Ein Wert ungleich null kostet jetzt bewusst Punkte — entfernen Sie ihn und überlassen Sie die Arbeit der CSP.
  • Zu glauben, X-Frame-Options sei aktuell. Der Header kann keine bestimmten Ursprünge erlauben und ist nicht im CSP-Standard enthalten; frame-ancestors ist der moderne Ersatz. Während der Umstellung beide zu behalten ist in Ordnung — diese Seite akzeptiert beides.
  • Versionsbanner ausliefern. Server: Apache/2.4.58 (Unix) verengt die Suche eines Angreifers nach bekannten Fehlern ohne jeden Nutzen für Sie. Entfernen Sie die Version; halten Sie die Zeilenzahl klein.
FAQ

Warum sind COOP/COEP/CORP nur je 5 Punkte wert? Das Trio ist die neueste Schicht und vor allem dort nötig, wo Prozessisolation gewünscht ist (SharedArrayBuffer, Schutz gegen Spectre). Eine Website ohne sie hat weiterhin ihre Kernschutzmechanismen; mit ihnen müssen manche domänenübergreifenden Einbettungen angepasst werden — deshalb wiegen sie weniger als CSP oder HSTS.

Bedeutet eine hohe Bewertung, dass die Website sicher ist? Nein — sie bedeutet, dass die Antwort-Header gesetzt sind. Sicherheits-Header sind eine Schicht: Die TLS-Konfiguration, die Sitzungsverwaltung, die Eingabevalidierung und das Patchen entscheiden weiterhin, ob die Website tatsächlich sicher ist. Führen Sie die SSL-Sicherheitsprüfung für die TLS-Schicht durch.

Warum ist mein Wert für Permissions-Policy so lang? Die OWASP-Grundlinie schaltet jede Funktion ausdrücklich ab, damit ein Browser, der neue Funktionen hinzufügt, sie nicht stillschweigend wieder aktiviert. Ein kürzerer Wert wie camera=(), microphone=(), geolocation=() ist ein Anfang — wissen Sie nur, was er eingeschaltet lässt.

Kann ich von hier aus die Header jeder beliebigen Website prüfen? Diese Seite stellt niemals Netzwerkanfragen — sie bewertet genau den Text, den Sie einfügen. Dadurch funktioniert sie hinter Firewalls und auf internen Hosts, und nichts, was Sie prüfen, verlässt Ihren Rechner. Die Header abzurufen ist ein curl -sI in Ihrem Terminal.

Was ist mit Clear-Site-Data und X-Permitted-Cross-Domain-Policies? Nützlich in engen Szenarien (Antworten beim Abmelden; ältere PDF-/Flash-Betrachter). Hier sind sie beratend und fließen nicht in die Bewertung ein — Clear-Site-Data bei jeder Antwort würde den Speicher Ihrer Nutzer bei jedem Seitenaufruf leeren.