HTTP Security Headers: Snadný způsob, jak zvýšit zabezpečení webu

4. 7. 2022
HTTP Security Headers: Snadný způsob, jak zvýšit zabezpečení webu

HTTP Security Headers (bezpečnostní hlavičky protokolu HTTP) se vyměňují mezi webovým klientem (obvykle prohlížečem) a serverem za účelem upřesnění podrobností o komunikaci HTTP souvisejících se zabezpečením. Povolením vhodných security headers ve webových aplikacích a nastavení webového serveru lze docílit větší odolnosti webové aplikace proti mnoha běžným útokům, včetně cross-site scriptingu (XSS) a clickjackingu.

Jak mohou HTTP security headers zlepšit zabezpečení webových aplikací

HTTP secruity headers dokážou poskytnout další vrstvu zabezpečení tím, že omezí chování, které prohlížeč a server běžně podporují, když je webová aplikace spuštěna.

Security Headers je vhodné nasadit i pro jednoduché statické stránky.

Nejdůležitější HTTP security headers

1. HTTP Strict-Transport-Security (HSTS)

Hlavička Strict-Transport-Security říká prohlížeči, že má všechny požadavky (requesty) přesměrovávat z HTTP na HTTPS (zabezpečený protokol). Při definování HSTS hlavičky prohlížeč bude vždy po předem definovanou dobu (max-age) navštěvovat stránky jen přes zabezpečenou komunikaci HTTPS.

Pro použití HSTS je nutné mít k dispozici SSL certifikát (např.: Let’s Encrypt).

Header set Strict-Transport-Security "max-age=31536000; includeSubdomains"

2. Content-Security-Policy (CSP)

Pomocí hlavičky Content Security Policy lze nastavit, které zdroje se mohou na webu načíst (princip whitelistingu). Díky implementaci CSP lze výrazně zvýšit ochranu proti XSS (Cross-site scripting) a dalším code injection útokům.

Content-Security-Policy: default-src 'self'

Mezi další direktivy patří script-src, style-src a img-src k určení povolených zdrojů pro scripty, CSS styly a obrázky. Například zadání script-src ‚self‘ by povolilo pouze lokální skripty.

Při implementaci CSP musíme mít znalosti o tom, jak webová aplikace funguje a jaké všechny zdroje využívá. Nevhodná implementace může způsobit nefunkčnost různých scriptů (například Google Analytics, Google Fonts…)

Header set Content-Security-Policy "default-src 'self' www.google-analytics.com ajax.googleapis.com;"

3. X-Frame-Options (XFO)

Díky hlavičce X-Frame-Options můžeme zakázat vkládání webové stránky do HTML tagu <iframe> a zamezit tak clickjackingu.

To znamená, že na jiných (cizích) webových stránkách nepůjde vkládat obsah vaší webové aplikace skrze tag <iframe>.

Header set X-Frame-Options deny

Tuto hlavičku lze obvykle nahradit vhodnými direktivami CSP.

4. X-Content-Type-Options

Hlavička X-Content-Type-Options podporuje pouze jednu variantu zápisu. Pomocí této hlavičky říkáme prohlížeči, aby se nepokoušel uhádnout mime-type souboru.

Díky tomu můžeme zabránit útokům, kdy prohlížeč prochází všechny odkazované soubory a pokud nalezne script, pokusí se ho spustit i přes to, že nemá určený správný typ souboru. Jedná se o content-sniffing, kdy prohlížeč spustí například .js kód v textovém souboru (.txt), který umístil útočník na web.

X-Content-Type-Options při aktivaci také zapne CORB (Cross-Origin Read Blocking), více lze nalézt zde.

Header set X-Content-Type-Options: nosniff

5. Referrer Policy

Pomocí hlavičky Referrer Policy lze kontrolovat a omezit v záhlaví hodnotu Referrer při odkazování na jiné stránky. Stejného chování, jako Referrer Policy, lze docílit pomocí atributu „noreferrer“ u odkazů (tag <a noreferrer>).

Díky Referrer-Policy lze kontrolovat to, kolik informací předáte jiné webové stránce. Správním nastavením můžete chránit své uživatele před zjištěním identity na soc. sítích při sdílení odkazů nebo omezit tok informací do různých analytických služeb.

Header always set Referrer-Policy "strict-origin-when-cross-origin"

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Tato stránka je chráněna pomocí reCAPTCHA a platí zásady ochrany osobních údajů a smluvní podmínky společnosti Google.

Tato stránka je chráněna službou reCaptcha a platí zásadyochrany osobních údajů a smluvní podmínky společnosti Google.

Doporučené články