Die Rolle von Sicherheitsheadern
HTTP-Sicherheitsheader bieten einen standardisierten Mechanismus für Webanwendungen, um Browser anzuweisen, bestimmte Sicherheitsrichtlinien während einer Sitzung durchzusetzen [S1] [S2]. Diese Header fungieren als kritische Ebene der Tiefenverteidigung und mindern Risiken, die möglicherweise nicht vollständig durch die Anwendungslogik allein bewältigt werden.
Inhaltssicherheitsrichtlinie (CSP)
Die Inhaltssicherheitsrichtlinie (CSP) ist eine Sicherheitsschicht, die dabei hilft, bestimmte Arten von Angriffen zu erkennen und abzuschwächen, darunter Cross-Site Scripting (XSS) und Dateninjektionsangriffe [S1]. Durch die Definition einer Richtlinie, die angibt, welche dynamischen Ressourcen geladen werden dürfen, verhindert CSP, dass der Browser schädliche Skripte ausführt, die von einem Angreifer eingeschleust wurden [S1]. Dadurch wird die Ausführung nicht autorisierten Codes effektiv eingeschränkt, selbst wenn in der Anwendung eine Injektionsschwachstelle besteht.
Strenge HTTP-Transportsicherheit (HSTS)
HTTP Strict Transport Security (HSTS) ist ein Mechanismus, der es einer Website ermöglicht, Browser darüber zu informieren, dass der Zugriff nur über HTTPS und nicht über HTTP [S2] erfolgen sollte. Dies schützt vor Protokoll-Downgrade-Angriffen und Cookie-Hijacking, indem sichergestellt wird, dass die gesamte Kommunikation zwischen dem Client und dem Server verschlüsselt ist [S2]. Sobald ein Browser diesen Header empfängt, wandelt er alle nachfolgenden Versuche, über HTTP auf die Website zuzugreifen, automatisch in HTTPS-Anfragen um.
Sicherheitsauswirkungen fehlender Header
Bei Anwendungen, die diese Header nicht implementieren, besteht ein deutlich höheres Risiko einer clientseitigen Kompromittierung. Das Fehlen einer Inhaltssicherheitsrichtlinie ermöglicht die Ausführung nicht autorisierter Skripte, was zu Sitzungsentführung, unbefugter Datenexfiltration oder Verunstaltung [S1] führen kann. Ebenso macht das Fehlen eines HSTS-Headers Benutzer anfällig für Man-in-the-Middle-Angriffe (MITM), insbesondere während der ersten Verbindungsphase, in der ein Angreifer den Datenverkehr abfangen und den Benutzer auf eine böswillige oder unverschlüsselte Version der Website [S2] umleiten kann.
Wie FixVibe darauf testet
FixVibe beinhaltet dies bereits als passive Scanprüfung. headers.security-headers überprüft öffentliche HTTP-Antwortmetadaten auf das Vorhandensein und die Stärke von Content-Security-Policy, Strict-Transport-Security, X-Frame-Options oder frame-ancestors, X-Content-Type-Options. Referrer-Policy und Permissions-Policy. Es meldet fehlende oder schwache Werte ohne Exploit-Prüfungen und die Aufforderung zur Fehlerbehebung bietet Beispiele für bereitstellbare Header für gängige App- und CDN-Setups.
Sanierungsleitfaden
Um die Sicherheitslage zu verbessern, müssen Webserver so konfiguriert werden, dass sie diese Header auf allen Produktionsrouten zurückgeben. Ein robustes CSP sollte auf die spezifischen Ressourcenanforderungen der Anwendung zugeschnitten sein und Anweisungen wie script-src und object-src verwenden, um die Skriptausführungsumgebungen [S1] einzuschränken. Aus Gründen der Transportsicherheit sollte der Header Strict-Transport-Security mit einer entsprechenden max-age-Anweisung aktiviert werden, um dauerhaften Schutz über Benutzersitzungen hinweg sicherzustellen. [S2].
