Security Headers (česky bezpečnostní hlavičky) nastavují bezpečnostní pravidla mezi klientským prohlížečem a webovým serverem.
Některé hlavičky slouží k ochraně návštěvníka např. před phishingem – podvodnému získávání přihlašovacích údajů, některé zas zvýší bezpečnost vašeho serveru.
Zde je příklad bezpečnostních hlaviček, které mám nastavené u většiny webů.
Header set X-XSS-Protection "1; mode=block"
Header set X-Content-Type-Options nosniff
Header set X-Frame-Options SAMEORIGIN
Header set Referrer-Policy "strict-origin-when-cross-origin"
Header set X-Download-Options: noopen
Header set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
Header set Content-Security-Policy "upgrade-insecure-requests; frame-ancestors 'self';"
S takto nastavenými HTTP headers bez problému funguje i WordPress. Pokud nastavíte hodnotu X-Frame-Options na DENY a hodnotu frame-ancestors na none, nebudou se správně zobrazovat podrobnosti pluginů a detaily při aktualizacích.
Přehled hlaviček
Feature-Policy dovolí webu kontrolovat jaké API může prohlížeč používat.
X-XSS-Protection ochrání proti cross-site scriptingu.
X-Content-Type-Options vynutí kontrolu MIME.
X-Frame-Options zakáže vkládání vašeho webu do cizích.
Referrer-Policy upravuje informace při odkazování na jiné weby.
Strict-Transport-Security si vynutí načítání pouze přes bezpečný HTTPS protokol.
Content-Security-Policy mino jiné definuje, které zdroje se mohou načítat z jiných serverů.
Detailní informace a význam security headers doporučuji prostudovat na přehledně a česky psaném webu SecurityHeaders.cz.
Přednáška o HTTP hlavičkách
Ověřujte
Správné nastavení security headers u svého webu si můžete otestovat online službou.