Was sind Security Headers?
Security Headers sind kurze Zeilen, die Ihr Server mit jeder Seite sendet. Sie sagen dem Browser, wie er Ihre Besucher schützen soll: bei HTTPS bleiben, keine Dateitypen raten, fremde Websites nicht einrahmen lassen und so weiter.
Sie kosten nichts und ändern fast nie das Aussehen der Seite. Trotzdem senden viele Websites keinen einzigen. In unserer Demo fehlten bei einer neuen Website alle sechs, daher bekam der Browser keine Regeln.
Schritt 1: Prüfen, was Ihre Seite sendet
Lassen Sie zuerst unseren kostenlosen HTTP Header Checker über Ihre Live-Website laufen. Er bewertet jeden Sicherheits-Header und zeigt, was fehlt.
Danach schreibt er die Lösung für Sie. Wählen Sie Ihren Server, etwa Apache oder Nginx, und kopieren Sie die Zeilen. So müssen Sie nie einen Header von Hand tippen.
Die fünf sicheren Header
Diese fünf zerstören fast nie etwas, deshalb kann fast jede Website sie heute hinzufügen.
Strict-Transport-Security
Er hält Besucher auf HTTPS, auch wenn sie http tippen. Beginnen Sie mit einem kurzen max-age, wie unsere HSTS-Anleitung erklärt.
X-Content-Type-Options
Der Wert nosniff verhindert, dass der Browser Dateitypen rät. Folglich kann eine als Bild hochgeladene Datei nicht plötzlich als Skript laufen.
X-Frame-Options
Der Wert SAMEORIGIN verhindert, dass fremde Websites Ihre Seiten in einem Frame zeigen. Das stoppt Clickjacking, bei dem ein versteckter Frame Menschen zum Klicken verleitet.
SAMEORIGIN oder DENY
Nutzen Sie DENY, wenn keine Ihrer Seiten je in einem Frame erscheint. Nutzen Sie dagegen SAMEORIGIN, wenn Ihre eigene Website ihre Seiten einrahmt, etwa in einer Vorschau oder einem eingebetteten Formular.
Referrer-Policy
Der Wert strict-origin-when-cross-origin begrenzt, was andere Websites über die Herkunftsseite erfahren. Sie sehen Ihre Domain, aber nicht den ganzen Pfad.
Permissions-Policy
Er schaltet Funktionen wie Kamera, Mikrofon und Standort für Seiten ab, die sie nicht brauchen. Versucht ein Skript sie trotzdem zu nutzen, lehnt der Browser ab.
So setzen Sie sie in Apache
Öffnen Sie die Datei .htaccess im Hauptordner Ihrer Website und fügen Sie diese Zeilen am Ende ein:
Header always set Strict-Transport-Security "max-age=300"
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()" 
Speichern Sie die Datei. Der Server liest sie bei der nächsten Anfrage, daher muss nichts neu starten. Zeigt die Seite einen 500-Fehler, ist vielleicht das Header-Modul aus; bitten Sie Ihren Hoster, mod_headers zu aktivieren.
So setzen Sie sie in Nginx und Cloudflare
Bei Nginx gehören dieselben Header als add_header-Zeilen in den HTTPS-Server-Block. Laden Sie Nginx danach neu:
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always; Bei Cloudflare setzen Sie sie mit einer Transform Rule für Antwort-Header. Sendet Ihr Server sie jedoch schon, fügen Sie sie nicht doppelt hinzu, denn doppelte Header verwirren Browser.
Warum CSP zuletzt kommt
Der sechste Header, Content-Security-Policy, fehlt hier mit Absicht. Eine falsche Richtlinie kann die Seite zerstören, weil sie Skripte und Stile blockiert, die nicht auf ihrer Liste stehen.
Deshalb bekommt sie einen eigenen Ablauf: im Report-Only-Modus beginnen, die Konsole lesen und nur Nötiges erlauben. Unsere Anleitung zur Content Security Policy zeigt das Schritt für Schritt.
So testen Sie nach der Änderung
Lassen Sie den HTTP Header Checker erneut laufen. In unserer Demo bestanden fünf der sechs Header nach einer einzigen Änderung.
Öffnen Sie danach die Website und klicken Sie sich durch. Alles sollte laden und gleich aussehen, nur mit mehr Schutz. Wiederholen Sie die Prüfung schließlich nach jedem Serverumzug oder neuen Plugin, denn beides kann Header ohne Warnung entfernen.
Häufige Fehler
- HSTS mit einem max-age von einem Jahr starten, bevor HTTPS stabil läuft.
- Denselben Header doppelt senden, vom Server und von einem Plugin oder CDN.
alwaysvergessen, sodass Fehlerseiten ohne Header ausgeliefert werden.- X-Frame-Options DENY setzen, obwohl Ihre eigene Website Frames nutzt, etwa ein eingebettetes Buchungsformular.
- Eine strenge Content-Security-Policy von einer anderen Website kopieren, ohne sie zu testen.
Kurz gesagt: prüfen, die fünf sicheren Header setzen, erneut prüfen und CSP getrennt angehen. Die ganze Liste der Header und Werte finden Sie in der MDN-Referenz zu HTTP-Headern.
Fragen und Antworten
Was sind Security Headers?
Antwort-Header, die dem Browser sagen, wie er Besucher schützt, etwa bei HTTPS zu bleiben oder fremdes Einrahmen abzulehnen.
Welche Security Headers braucht jede Website?
Strict-Transport-Security, X-Content-Type-Options, X-Frame-Options, Referrer-Policy und Permissions-Policy. Content-Security-Policy kommt danach, nach sorgfältigem Testen.
Machen Security Headers meine Website langsamer?
Nein, denn es sind nur ein paar kurze Textzeilen, und HSTS spart wiederkehrenden Besuchern sogar eine Weiterleitung.
Wie prüfe ich meine Security Headers?
Lassen Sie unseren kostenlosen HTTP Header Checker über Ihre URL laufen. Er bewertet jeden Header und schreibt die fehlenden Zeilen für Ihren Server.
Wo setze ich Security Headers in Apache?
In der Datei .htaccess im Hauptordner der Website, mit Zeilen der Form Header always set.
Wie setze ich Security Headers in Nginx?
Nutzen Sie add_header-Zeilen mit always im HTTPS-Server-Block und laden Sie Nginx danach neu.
Kann ich Security Headers bei Cloudflare setzen?
Ja, mit einer Transform Rule für Antwort-Header. Senden Sie sie dann aber nicht auch vom Server, sonst erscheinen sie doppelt.
Was macht X-Content-Type-Options nosniff?
Es verhindert, dass der Browser Dateitypen rät, sodass eine Datei nicht als anderer Typ laufen kann.
Was macht X-Frame-Options?
Es verhindert, dass fremde Websites Ihre Seiten in einem Frame zeigen, und stoppt damit Clickjacking.
Welche Referrer-Policy ist gut?
strict-origin-when-cross-origin. Andere Websites sehen also Ihre Domain, aber nicht den ganzen Pfad.
Was macht Permissions-Policy?
Sie schaltet Browser-Funktionen wie Kamera, Mikrofon und Standort für Seiten ab, die sie nicht brauchen.
Warum steht Content-Security-Policy nicht in der Schnellliste?
Eine falsche Richtlinie kann die Seite zerstören, deshalb braucht sie zuerst einen Test im Report-Only-Modus. Sie hat eine eigene Anleitung.
Helfen Security Headers der SEO?
Nicht direkt. Sie schützen jedoch Besucher, und HSTS spart einen Weiterleitungs-Sprung, was der Geschwindigkeit hilft.
Warum erscheinen meine Header nicht?
Vielleicht ist das Apache-Modul headers aus, ein CDN entfernt sie, oder eine Seite aus dem Cache wird ausgeliefert. Leeren Sie daher die Caches und prüfen Sie erneut.
Was ist X-XSS-Protection?
Ein alter Header für einen Filter, den moderne Browser entfernt haben. Sie brauchen ihn nicht; eine Content-Security-Policy erledigt die echte Arbeit.
Können WordPress-Plugins Security Headers setzen?
Ja, trotzdem ist eine Server-Regel schneller und deckt auch Dateien außerhalb von WordPress ab. Nutzen Sie nur eine Quelle.
Beeinflussen Security Headers meine Bilder oder Schriften?
Die fünf sicheren nicht. Nur die Content-Security-Policy kann Dateien blockieren, deshalb muss sie getestet werden.
Wie oft sollte ich meine Header prüfen?
Nach jedem Serverumzug, CDN-Wechsel oder neuen Sicherheits-Plugin, denn jedes kann Header entfernen oder verdoppeln.
Prüft der SEO Checker Security Headers?
Ja. Unser SEO Checker zeigt jeden Header und verlinkt diese Anleitung, wenn einer fehlt.
Braucht man X-Frame-Options noch mit einer CSP?
frame-ancestors in der CSP ersetzt ihn in modernen Browsern. Beide zu behalten schadet jedoch nicht und deckt ältere Browser ab.