Hilfe Schutz-Einstellungen setzen
Schutz-Einstellungen setzen
Schutz-Einstellungen sind kurze Anweisungen, die dein Server mit jeder Seite mitschickt, damit Browser deine Website sicherer anzeigen: kein Einbetten in fremde Seiten, keine unverschlüsselten Aufrufe, keine fremden Skripte. Auf den meisten kleinen Websites fehlen sie, und das ist kein Fehler, nur eine ruhige Verbesserung. Diese Seite zeigt, was zu tun ist, mit den fertigen Zeilen zum Kopieren.
Nutze diese Seite, wenn die Sicherheit deiner Website bei Schutz-Einstellungen weniger als 6 von 6 zeigt. Die Zeilen unten sind zum Kopieren gedacht. Dauer: zehn Minuten, plus Sorgfalt bei den Inhalte-Schutzregeln (CSP), die haben ein eigenes Szenario.
Fünf Zeilen, die fast überall sicher sind
- Diese fünf Einstellungen brechen praktisch nie etwas: HTTPS erzwungen (HSTS), Klickjacking-Schutz, MIME-Sniffing-Schutz, Referrer-Schutz und Berechtigungs-Schutz. Nur die Inhalte-Schutzregeln (CSP) brauchen eigene Sorgfalt, dazu das zweite Szenario.
- Läuft die Website auf Apache (die meisten Hoster wie IONOS, Strato oder All-Inkl, dort auch Kirby und WordPress), gehören die Zeilen in die Datei
.htaccessim Hauptordner der Website:<IfModule mod_headers.c> Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains" Header always set X-Frame-Options "SAMEORIGIN" Header always set X-Content-Type-Options "nosniff" Header always set Referrer-Policy "strict-origin-when-cross-origin" Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()" </IfModule> - Läuft sie auf nginx, gehören sie in den
server-Block der Website-Konfiguration:add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Content-Type-Options "nosniff" always; add_header Referrer-Policy "strict-origin-when-cross-origin" always; add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always; - Bei WordPress geht es auch ohne Dateizugriff: viele Sicherheits-Plugins haben einen Bereich „HTTP-Header“ oder „Security Headers“ mit genau diesen Schaltern. Liegt Cloudflare vor der Website: „Rules“, dann „Transform Rules“, dann „Modify Response Header“.
- Danach unter Website bei „Sicherheit“ auf „Neu prüfen“ klicken. Die Kachel „Schutz-Einstellungen“ zeigt jetzt 5 von 6, die sechste ist die CSP.
Die Inhalte-Schutzregeln (CSP), mit Sorgfalt
- Die CSP sagt dem Browser, woher Skripte, Bilder, Schriften und Stylesheets kommen dürfen. Falsch gesetzt blockiert sie genau das, was deine Website braucht: das Karten-Widget, den Video-Player, die Webfont, das Analyse-Skript. Deshalb nie blind kopieren.
- Erst im Beobachtungs-Modus starten: derselbe Header mit dem Zusatz
-Report-Onlyblockiert nichts, er meldet nur in der Browser-Konsole, was er blockieren WÜRDE. Ein Startpunkt für eine einfache Website (Apache, für nginx entsprechend alsadd_header):Header always set Content-Security-Policy-Report-Only "default-src 'self'; img-src 'self' data: https:; style-src 'self' 'unsafe-inline'; script-src 'self'; font-src 'self' data:" - Eine Woche laufen lassen, in der Browser-Konsole (F12) alle Seiten durchklicken und jede Meldung „Refused to load“ in die Regel aufnehmen, also die betroffene Quelle erlauben.
- Meldet die Konsole nichts mehr, das
-Report-Onlyaus dem Namen streichen. Erst jetzt gilt die Regel, und erst jetzt zählt sie unter „Sicherheit“ als gesetzt. Das ist gewollt: eine Regel, die nur zuschaut, schützt noch nicht.
Wenn es hakt
- Nach dem Setzen geht etwas nicht mehr
- Fast immer die CSP. Sofort wieder auf Report-Only stellen, dann in Ruhe die Meldungen abarbeiten. Die anderen fünf Zeilen brechen praktisch nie etwas; die eine Ausnahme ist der Klickjacking-Schutz, wenn deine Website absichtlich in einer anderen Seite eingebettet wird (etwa als Buchungs-Widget). Dann
SAMEORIGINdurch die erlaubte Adresse ersetzen. - HTTPS erzwungen (HSTS) und Unteradressen
includeSubDomainsgilt für alle Unteradressen (shop., mail., intern.). Läuft eine davon noch ohne HTTPS, ist sie danach im Browser nicht mehr erreichbar. Im Zweifel den Zusatz weglassen, HSTS wirkt auch ohne.- Die Zeilen stehen drin, die Prüfung zeigt sie nicht
- Bei Apache muss das Modul
mod_headersaktiv sein; bei Hostern ist das die Regel, bei eigenen Servern nicht immer. Und ein Cache oder CDN davor liefert vielleicht noch die alte Antwort: Cache leeren, dann „Neu prüfen“. Wir lesen die Header deiner Startseite dort, wo sie nach der Weiterleitung wirklich antwortet, also etwa auf www. - Zählt das für Google?
- Nein. Schutz-Einstellungen sind kein Ranking-Faktor, deshalb führen wir sie als Empfehlung, nicht als Fehler. Sie schützen deine Besucher und deinen Ruf, das ist Grund genug.
Und danach?
Mit dem verbundenen Plugin zeigt die Sicherheit zusätzlich die echte PHP-Version deiner Website und offene Updates, also die zweite Hälfte des Sicherheits-Bilds.
Weitere Anleitungen: Dein erster Bericht · Google Search Console verbinden · WordPress- oder Kirby-Plugin installieren · Bing Webmaster Tools verbinden · Erledigt und Nachprüfen · Die Einstellungen deiner Website · So messen wir · Unsere Prüfung wird blockiert · Absender-Schutz der Mails setzen · Zertifikat prüfen und verlängern · Server-Auskunft: Versionen verstecken · PHP und Updates aktuell halten · Datenexport und Anbieterwechsel