Skip to content

Security Headers ​

Der Security-Headers-Check bewertet die HTTP-Antwort-Header deiner Website anhand empfohlener Sicherheitspraktiken. Fehlende oder falsch konfigurierte Security Headers machen deine Website anfällig für Clickjacking, XSS, MIME-Sniffing und andere Angriffe.

Funktionsweise ​

Hoppla schickt eine HTTP-GET-Anfrage an die URL deines Monitors und untersucht die Antwort-Header. Jeder Security Header wird einzeln analysiert und daraus eine Gesamtbewertung (0-100) sowie eine Schulnote (A+ bis F) berechnet.

Das Ganze ist ein beratender Check -- er erzeugt Warnungen bei niedrigen Bewertungen, erstellt aber niemals Vorfälle.

Geprüfte Header ​

Hoppla bewertet die folgenden Security Headers:

Strict-Transport-Security (HSTS) -- 25 Punkte ​

Zwingt Browser, für alle zukünftigen Anfragen an deine Domain HTTPS zu verwenden. Hoppla prüft:

  • Vorhandensein -- Ist der Header gesetzt?
  • max-age -- Sollte mindestens 31.536.000 (1 Jahr) betragen. Niedrigere Werte erzeugen eine Warnung.
  • includeSubDomains -- 5 Bonuspunkte, wenn vorhanden.
  • preload -- 5 Bonuspunkte, wenn vorhanden.

Content-Security-Policy (CSP) -- 25 Punkte ​

Steuert, welche Ressourcen der Browser laden darf. Hoppla prüft:

  • Vorhandensein -- Ist der Header gesetzt?
  • default-src oder script-src -- Mindestens eine dieser Direktiven sollte für die volle Punktzahl vorhanden sein. Eine CSP ohne beide bekommt Teilpunkte (50 %).

X-Content-Type-Options -- 10 Punkte ​

Verhindert, dass Browser den Content-Type der Antwort durch MIME-Sniffing erraten.

  • Muss auf nosniff gesetzt sein, um die volle Punktzahl zu bekommen.

X-Frame-Options -- 10 Punkte ​

Verhindert, dass deine Seite in iframes auf anderen Websites eingebettet wird (Clickjacking-Schutz).

  • Muss auf DENY oder SAMEORIGIN gesetzt sein, um die volle Punktzahl zu bekommen.
  • ALLOW-FROM ist veraltet und gibt null Punkte.

Referrer-Policy -- 10 Punkte ​

Steuert, wie viel Referrer-Information mit Anfragen gesendet wird. Sichere Werte:

  • no-referrer
  • strict-origin
  • strict-origin-when-cross-origin
  • same-origin

Andere Werte (z. B. unsafe-url, no-referrer-when-downgrade) geben null Punkte.

Permissions-Policy -- 10 Punkte ​

Steuert, auf welche Browserfunktionen (Kamera, Mikrofon, Geolokalisierung usw.) deine Website zugreifen kann.

  • Jeder gültige Permissions-Policy-Header gibt die volle Punktzahl.

X-XSS-Protection (informativ) ​

Dieser Header ist in modernen Browsern veraltet und wird nicht bewertet. Hoppla zeigt sein Vorhandensein rein zu Informationszwecken an.

Bewertung und Noten ​

Die Gesamtbewertung ergibt sich aus der Summe der Punkte für jeden Header:

NotePunktebereich
A+100
A90-99
B70-89
C50-69
D30-49
F0-29

Status-Zuordnung ​

NoteCheck-Status
A+ oder Aok
B, C, D oder Fwarning

Ergebnisse ​

Jedes Security-Headers-Check-Ergebnis enthält:

  • Status -- ok oder warning
  • Note -- Buchstabennote von A+ bis F
  • Bewertung -- Numerische Bewertung von 0 bis 100
  • Header-Analyse -- Für jeden Header: Name, ob er vorhanden ist, sein Wert, Status (bestanden/Warnung/fehlgeschlagen) und eine verständliche Erklärung
  • Roh-Header -- Die vollständigen Antwort-Header (sensible Header wie Set-Cookie und Authorization werden entfernt)

Konfiguration ​

EinstellungStandardBeschreibung
PrüfintervallNach ZeitplanWie oft die Security Headers geprüft werden.

Die Bewertungsschwellen sind fest definiert und entsprechen der branchenüblichen Bewertung von Security Headers (vergleichbar mit securityheaders.com).

Alarme ​

Warnbenachrichtigung ​

Eine warning.security_headers-Benachrichtigung wird gesendet, wenn die Security-Headers-Note B oder schlechter ist. Die Benachrichtigung enthält Note und Punktzahl.

Benachrichtigungsereignisse ​

EreignisZeitpunkt
warning.security_headersSecurity-Headers-Note ist unter A gefallen
warning.clearedSecurity-Headers-Note hat sich auf A oder A+ verbessert

Deine Bewertung verbessern ​

Hier ein guter Ausgangspunkt an Security Headers, die du zu deiner Webserver-Konfiguration hinzufügen kannst:

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Content-Security-Policy: default-src 'self'; script-src 'self'
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy: camera=(), microphone=(), geolocation=()

WARNING

Die Content-Security-Policy im obigen Beispiel ist bewusst strikt. Du wirst sie wahrscheinlich für deine Anwendung anpassen müssen. Starte mit Content-Security-Policy-Report-Only, um deine Policy zu testen, bevor du sie durchsetzt.