HTTP-Sicherheitsheader
Kurzdefinition
HTTP-Sicherheitsheader sind kleine Serveranweisungen an den Browser, die bestimmte Angriffsarten von vornherein verhindern.
Beim Laden einer Seite sendet der Server neben dem Inhalt auch eine Reihe unsichtbarer Header. HTTP-Sicherheitsheader sind der Teil davon, der dem Browser sagt, was auf dieser Seite nicht erlaubt sein soll.
Content-Security-Policy blockiert das Ausführen schädlicher Skripte, Strict-Transport-Security verhindert das Zurückfallen auf eine unverschlüsselte Verbindung, X-Frame-Options verhindert, dass die Seite unbemerkt in eine andere eingebettet wird. Jeder Header verriegelt eine andere Art von Angriff.
Ein SSL-Zertifikat verschlüsselt die Daten, aber ohne diese Header bleiben andere Türen über das Browserverhalten offen, beide ergänzen sich, keines ersetzt das andere.
Welche Sicherheitsheader eine Seite tatsächlich sendet, lässt sich ohne jede Codeänderung prüfen, indem man die Entwicklertools des Browsers öffnet, zum Netzwerk-Tab wechselt und die Antwortheader einer beliebigen Anfrage ansieht. Das ist ein schneller, nicht technisch anspruchsvoller Kontrollweg, taucht ein bestimmter Header dort nie auf, wurde er auf dem Server einfach nie gesetzt.
Warum es wichtig ist
Fehlende Sicherheitsheader geben Angreifern Raum, Code einzuschleusen oder die Seite zu imitieren, und das bleibt meist monatelang unbemerkt. Richtig konfigurierte Header schließen diese Türen ohne zusätzliche Serverkosten.
Beispielszenario
Ein Zahlungsdienstleister stellte bei einer Sicherheitsprüfung fest, dass der Content-Security-Policy-Header nie gesetzt worden war, das Hinzufügen dauerte eine Stunde und veränderte das gesamte Prüfergebnis.
