HTTP Strict Transport Security

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

HTTP Strict Transport Security (HSTS) je v informatice bezpečnostní mechanismus, který chrání síťovou komunikaci mezi webovým prohlížečem a webovým serverem před downgrade útoky a zjednodušuje ochranu proti únosu spojení (tzv. cookie hijacking). Mechanismus umožňuje, aby webový server vynutil v prohlížeči komunikaci pouze pomocí šifrovaného url=HTTPS]připojení a vyloučil tím přenos dat nezabezpečeným [[Hypertext Transfer Protocol|HTTP protokolem[/url]]. HSTS definuje RFC 6797. Webový server aktivuje HSTS pomocí HTTP hlavičky Strict-Transport-Security, která svou hodnotou definuje časový úsek, po který může prohlížeč přistupovat k serveru výhradně zabezpečeně.

Historie

Specifikace HSTS byla schválena 2. října 2012 a následně publikována 19. +more listopadu 2012 jako RFC 6797. Původně autoři odeslali návrh jako Internet-Draft 17. června 2010. V rámci diskuze nad návrhem bylo jméno změněno ze „Strict Transport Security“ (STS) na „HTTP Strict Transport Security“ (HSTS). Důvodem pro změnu bylo, že jde o specifickou záležitost HTTP protokolu (název v HTTP hlavičce zůstal Strict-Transport-Security).

HSTS mechanismus

Server implementuje HSTS politiku tím, že odesílá hlavičku přes HTTPS připojení (HSTS hlavičky odeslané pomocí HTTP jsou ignorovány). Server může například odeslat hlavičku, která určí, že všechny budoucí dotazy na danou doménu budou používat jen HTTPS připojení po dobu jednoho roku: Strict-Transport-Security: max-age=31536000; includeSubDomains; preload.

Pokud webová aplikace poskytne HSTS politiku user agentovi, agent se chová následovně:

# Automaticky převede všechny nezabezpečené odkazy, které odkazují na webovou aplikaci, na zabezpečené. (

bude převedeno na

předtím, než přistoupí na server. ) # Pokud nemůže být navázáno zabezpečené připojení (např. +more pokud TLS certifikát je podepsaný sám sebou), zobrazí se chybová hláška a uživateli bude zamezen přístup do webové aplikace.

HSTS pomáhá chránit webové aplikace proti některým pasivním (odposlechy) a aktivním síťovým útokům. Díky HSTS mechanismu má útočník, který využívá man-in-the-middle útok, velmi sníženou šanci, že odchytí nějaké žádosti či požadavky odeslané mezi uživatelem a webovou aplikací.

Využití

Technologie HSTS dokáže odstranit problémy se SSL-stripping [url= připojení. Uživatel uvidí, že jeho připojení je nezabezpečené, ale v zásadě neví, zda by připojení mělo být zabezpečené nebo ne. +more Mnoho stránek nevyužívá TLS/SSL, proto není žádný způsob jak zjistit, zda je připojení v nezabezpečeném[/url]url= kvůli útoku nebo jen proto, že stránky nevyužívají TLS/SSL.

HSTS řeší tento problém tak, že prohlížeči sdělí, že by připojení k serveru mělo vždy využívat TLS/SSL. HSTS hlavička může být útočníkem odstraněna, pokud uživatel na stránku přistupuje poprvé. +more Prohlížeče [[Google Chrome[/url]url= cookies][Man in the middle|man-in-the-middle]] útokem, který byl poprvé publikován Moxie Marlinspikem v roce 2009 na BlackHat Federal talk pod názvem „New Tricks For Defeating SSL In Practice“. SSL-stripping útoky (na SSL a TLS) transparentně převádějí zabezpečené url=HTTPS]připojení na nezabezpečené[/url]] a Mozilla Firefox se snaží tomuto předcházet tak, že poskytuje předem načtený seznam HSTS sítí. Toto řešení bohužel nelze použít pro všechny stránky v Internetu. Více níže v kapitole „Omezení“.

HSTS také pomáhá předcházet [[HTTP cookie#Cookie theft and session hijacking|krádeži přihlašovacích[/url]] pomocí rozšířeného nástroje Firesheep (plugin pro Firefox).

Jelikož je HSTS časově omezeno, je citlivý například na útoky, které posouvají systémový čas cílového počítače využitím falešných NTP paketů.

Omezení

Původní požadavek zůstává nechráněn proti aktivním útokům, pokud se použije nezabezpečený protokol (HTTP) nebo pokud URI pro původní požadavek byla získána přes nezabezpečený kanál. To samé platí v případě, kdy poprvé přistupujeme na stránky po uplynutí doby stanovené HSTS politikou

(tato doba by měla být nastavena na několik dní nebo měsíců v závislosti na aktivitě a chování uživatele). Google Chrome a Mozilla Firefox řeší toto omezení pomocí „STS preloaded list“, což je seznam obsahující známé sítě, které podporují HSTS. +more Tento seznam je distribuován s prohlížečem, díky čemuž využívá zabezpečené připojení pro sítě v seznamu již při prvním přístupu. Avšak, jak již bylo zmíněno, toto řešení nedokáže pokrýt všechny stránky na internetu. Možným řešením by mohlo být využití DNS záznamů pro deklarování HSTS politiky a přistupovat k nim zabezpečeně pomocí DNSSEC.

Ani využitím „STS preloaded list“ nemůže HSTS předcházet pokročilým útokům proti TLS jako je například BEAST nebo CRIME.

Podpora v prohlížečích

Chromium a Google Chrome od verze 4. +more211. 0 * Mozilla Firefox od verze 4; společně s Firefox 17, Mozilla integruje seznam stránek podporujících HSTS. * Opera od verze 12 * Safari od OS X Mavericks * Internet Explorer HSTS podporuje díky aktualizaci KB3058515 ze dne 9. června 2015 (pro MSIE 11).

Důsledky nesprávného nastavení nebo opomenutí

Při nasazení HSTS je nutné udržovat platný certifikát, v opačném případě se webová stránka může stát nedostupnou. Poté, co kvůli neschválení rozpočtu USA muselo asi 800 000 zaměstnanců nastoupit dovolenou, do 21. +more ledna 2019 nebylo obnoveno přes 130 TLS certifikátů vládních webů, přičemž stránky, které jsou v seznamu STS preloaded list se tak staly úplně nedostupnými, protože v tomto případě prohlížeč neumožní přidání výjimky.

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top