Manuel Killert
Ratgeber · Sicherheit · Header

Sicherheitsheader — kleine Zeilen, große Wirkung.

Sicherheitsheader sind Anweisungen, die der Server bei jeder Seite an den Browser mitschickt: Lade nur über verschlüsselte Verbindungen. Führe nur Skripte aus diesen Quellen aus. Lass dich nicht in fremde Seiten einbetten. Sie verhindern keine Lücken auf dem Server, aber sie machen viele Angriffe im Browser deutlich schwerer.

Referenzen ansehen →Projekt anfragen
Kurz gesagt

Die wichtigsten Header: erzwungene Verschlüsselung, eine Richtlinie für Inhalte, die festlegt, woher Skripte und andere Ressourcen kommen dürfen, Schutz vor Einbettung in fremde Seiten, eine Verweisrichtlinie und Berechtigungen für Kamera, Mikrofon und Standort. Die meisten sind schnell eingerichtet. Die Richtlinie für Inhalte braucht Sorgfalt, weil sie bei falscher Einstellung Funktionen blockiert.

Sofort-Hilfe

Website down oder gehackt? Schreib mir per WhatsApp oder E-Mail mit Domain und kurzer Beschreibung — ich melde mich in der Regel innerhalb weniger Stunden, auch am Wochenende, wenn es brennt. Zugangsdaten bitte nie in der ersten Nachricht, sondern erst nach Absprache über einen sicheren Weg.

Was Sicherheitsheader sind.

Bei jeder Antwort schickt der Server neben der Seite selbst Zusatzinformationen an den Browser — die Header. Einige davon steuern Sicherheitsfunktionen des Browsers. Ohne sie verhält sich der Browser großzügig; mit ihnen gelten strengere Regeln.

Sie ersetzen keine Updates und keine sichere Programmierung. Aber sie begrenzen den Schaden, wenn doch etwas durchrutscht — etwa ein eingeschleustes Skript.

Die wichtigsten im Überblick.

HeaderWirkungAufwand
Strict-Transport-SecurityNur verschlüsselte VerbindungenGering
Content-Security-PolicyErlaubte Quellen für Skripte und RessourcenHoch
X-Frame-Options / frame-ancestorsSchutz vor EinbettungGering
X-Content-Type-OptionsKein Erraten von DateitypenGering
Referrer-PolicyWas beim Verlassen der Seite weitergegeben wirdGering
Permissions-PolicyZugriff auf Kamera, Mikrofon, StandortGering

Erzwungene Verschlüsselung.

Dieser Header sagt dem Browser: Diese Website nur über verschlüsselte Verbindungen aufrufen, auch wenn jemand eine unverschlüsselte Adresse eingibt. Das verhindert Angriffe, bei denen der erste unverschlüsselte Aufruf abgefangen wird.

Vorsicht: Der Browser merkt sich die Anweisung für die angegebene Dauer. Wenn die verschlüsselte Verbindung dann nicht funktioniert, ist die Website nicht erreichbar. Deshalb erst einrichten, wenn das Zertifikat zuverlässig läuft, und mit kurzer Dauer beginnen (SSL).

Richtlinie für Inhalte.

Der mächtigste Header: Er legt fest, von welchen Quellen Skripte, Stile, Bilder, Schriften und Verbindungen geladen werden dürfen. Ein eingeschleustes Skript von einer fremden Quelle wird dann blockiert — und auch das Senden abgegriffener Daten an einen fremden Server.

Der Aufwand liegt darin, alle legitimen Quellen zu kennen: Analyse, Karten, Videos, Schriften, Zahlungsanbieter, Einwilligungswerkzeug. Fehlt eine, funktioniert etwas nicht mehr.

Bewährter Weg: zuerst im Berichtsmodus einführen. Der Browser blockiert dann nichts, meldet aber Verstöße. So lassen sich alle Quellen sammeln, bevor die Richtlinie scharf geschaltet wird. Für Shops ist sie besonders wertvoll, weil sie das Abgreifen von Zahlungsdaten erschwert (Shop-Sicherheit).

Schutz vor Einbettung.

Ohne Schutz kann eine fremde Seite deine Website unsichtbar einbetten und Besucher dazu bringen, auf etwas zu klicken, das sie nicht sehen — etwa einen Knopf in deinem Verwaltungsbereich. Ein Header verbietet die Einbettung oder erlaubt sie nur von der eigenen Domain.

Weitere Header.

Kein Erraten von Dateitypen: Der Browser behandelt Dateien so, wie der Server sie ausweist, statt selbst zu raten. Das verhindert, dass eine hochgeladene Textdatei als Skript ausgeführt wird.

Verweisrichtlinie: Legt fest, welche Information über die vorige Seite beim Klick auf einen externen Link weitergegeben wird. Eine zurückhaltende Einstellung schützt Adressen mit Parametern.

Berechtigungen: Schaltet Funktionen wie Kamera, Mikrofon oder Standort ab, die die Website nicht braucht — auch für eingebettete fremde Inhalte.

Wo man sie einrichtet.

Header werden am besten auf Ebene des Webservers gesetzt — in dessen Konfiguration oder einer Steuerdatei im Website-Verzeichnis. Viele Hoster bieten auch Einstellungen im Kundenbereich, und Content-Delivery-Netzwerke können Header ergänzen.

In WordPress gibt es Erweiterungen dafür. Der Webserver ist aber der verlässlichere Ort, weil die Header dann auch für Dateien gelten, die nicht über WordPress ausgeliefert werden.

Testen.

  1. Online-Prüfwerkzeug für Sicherheitsheader nutzen — zeigt, was fehlt.
  2. Entwicklerwerkzeuge des Browsers: Netzwerk-Tab, Header der Antwort ansehen.
  3. Konsole auf blockierte Ressourcen prüfen.
  4. Alle Funktionen durchklicken: Formulare, Karten, Videos, Zahlung, Einwilligung.

Typische Fehler.

  • Erzwungene Verschlüsselung mit langer Dauer, bevor das Zertifikat stabil läuft.
  • Richtlinie für Inhalte direkt scharf geschaltet — Funktionen brechen.
  • Zu großzügige Richtlinie, die alles erlaubt und damit nichts schützt.
  • Header doppelt gesetzt durch Server und Erweiterung — widersprüchliche Werte.
  • Nach Änderungen an Diensten die Richtlinie nicht angepasst.

Wenn du nicht weiterkommst.

Wenn du Sicherheitsheader einrichten willst, ohne dass Funktionen deiner Website brechen. Ich sehe mir deine Website an, sage dir, wo die Risiken liegen, und setze um, was nötig ist. Die Übersicht findest du unter Website-Sicherheit; wenn es gerade brennt, hilft der Notfall-Support.

Fehleranalyse & Erste Hilfeab ~150 €

Ursache finden, Website wieder zum Laufen bringen, kurzer Bericht — meist am selben Tag.

Stundensatz~95 €

Für Anpassungen, Fehlerbehebung und Beratung nach Aufwand, abgerechnet in 15-Minuten-Schritten.

Wartungab ~49 €/Monat

Updates, Backups, Sicherheitscheck, Monitoring — Kleinigkeiten inklusive.

Orientierungswerte, keine Fixpreise — nach einem kurzen Gespräch bekommst du ein Festpreisangebot.

Wer hilft.

Ich bin Manuel Killert, Webentwickler aus Quakenbrück. Website-Sicherheit gehört zu meiner täglichen Arbeit — ich härte WordPress, TYPO3, Shopware und eigene PHP-Anwendungen, richte Sicherungen und Überwachung ein und habe zahlreiche kompromittierte Websites bereinigt. Als Dozent erkläre ich regelmäßig, wie Angriffe auf Websites tatsächlich ablaufen.

Ich bin kein zertifizierter Penetrationstester und behaupte das auch nicht. Was ich biete: die Grundlagen, die den Großteil realer Angriffe abwehren, sauber umgesetzt — und eine ehrliche Einschätzung, wann zusätzlich ein spezialisierter Prüfer sinnvoll ist.

Was du bekommst: eine Bestandsaufnahme in verständlicher Sprache, Maßnahmen nach Dringlichkeit und eine Website, die nicht beim ersten automatisierten Angriff fällt.

Häufige Fragen

FAQ — Sicherheitsheader.

Was sind Sicherheitsheader?

Anweisungen, die der Server bei jeder Seite an den Browser schickt und die Sicherheitsfunktionen des Browsers steuern.

Welcher Header ist am wichtigsten?

Die Richtlinie für Inhalte ist am wirksamsten, weil sie eingeschleuste Skripte und das Abfließen von Daten erschwert. Sie braucht aber Sorgfalt.

Warum brechen Funktionen nach dem Einrichten?

Meist blockiert die Richtlinie für Inhalte eine legitime Quelle. Deshalb erst im Berichtsmodus einführen.

Was ist bei der erzwungenen Verschlüsselung zu beachten?

Der Browser merkt sich die Anweisung. Erst einrichten, wenn das Zertifikat zuverlässig läuft, und mit kurzer Dauer beginnen.

Wo richte ich Header ein?

Am besten in der Webserver-Konfiguration. Erweiterungen in WordPress sind möglich, gelten aber nicht für alle Dateien.

Wie prüfe ich meine Header?

Mit einem Online-Prüfwerkzeug und in den Entwicklerwerkzeugen des Browsers — und danach alle Funktionen durchklicken.

Manuel Killert (rechts im Bild) mit einem FreundDas bin ich – rechts im Bild
Kontakt

Erzähl mir, was dich beunruhigt.

Schreib mir die Adresse deiner Website, das System und was dir aufgefallen ist. Wenn du glaubst, dass die Website gerade angegriffen wird oder gehackt wurde, schreib das in die erste Zeile.

Antwort meist innerhalb von 24 Stunden · hallo@manuelkillert.de