Devel.cz Lupa Měšec Podnikatel Root Zdroják.cz DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Jak vynutit přenos po HTTPS pomocí hlavičky

Mozilla Firefox implementuje (ve verzi 4) HTTP hlavičku Strict-Transport-Security , která vynutí komunikaci přes rozhraní HTTPS. Pomocí této hlavičky může web dát prohlížeči najevo, že má být kontaktován přes HTTPS, takže prohlížeč může přímo případné „http://“ opravit na „https://“ dřív než pošle dotaz. Podrobnosti přináší Mozilla Hacks.

Předchozí zprávička Následující zprávička        
.
. (neregistrovaný) ---.net.upcbroadband.cz
30. 8. 2010 20:57 Nový

Jinak

celé vlákno

Na to se dá použít $_SERVER[‚HTTPS‘] a 301 Moved permanently, a je to.

MilanK
MilanK (neregistrovaný) ---.din.cz
30. 8. 2010 21:47 Nový

Re: Jinak

celé vlákno

Ne, kvůli tomu to není.

301 z HTTP na HTTPS se dělá běžně, ta hlavička Strict-Transport-Security ale slouží něčemu jinému.

Představte si server www.banka.cz. Když se do této banky přihlašujete poprvé, zadáte www.banka.cz, browser nejprve zkusí HTTP, dostane 301, přejde na HTTPS a dostane Strict-Transport-Security, tj. obdobu cookie, která nastaví, že od této chvíle do budoucna bude server www.banka.cz vždy kontaktovat rovnou přes HTTPS.

Za měsíc, když se díváte znovu do banky, zadáte opět www.banka.cz, ale browser rovnou přejde na HTTPS.

Hlavička Strict-Transport-Security chrání proti MITM útoku, který se ale koná až po tom měsíci. Je to jistě častější scénář: útočník se na Vás zaměří v době, kdy už jste server www.banka.cz aspoň jednou navštívil.

Normálně (bez Strict-Transport-Security) by při druhém a dalším přístupu (po měsíci a pod.) uživatel opět zadal www.banka.cz a browser by zkusil nejprve HTTP. Požadavek (request) se ale nedostane až k serveru banka.cz, zachytí ho útočník a sám se místo toho kontaktuje s bankou přes HTTPS (udělá jakousi proxy HTTP->HTTPS). Pokud si nevšimnete, že Váš broser nepřešel na HTTPS (např. nezežloutl adresní řádek), tak komunikujete celou dobu s bankou přes tohoto útočníka, který vidí veškerou komunikaci. Hlavička Strict-Transport-Security Vás proti takovému útoku ochrání, předpokladem ale je (znovu opakuji) že alespoň jedno předchozí spojení s bankou musí být bez MITM.

Strict-Transport-Security je jistě konečně významným krokem správným směrem, já bych tam ale ještě doplnil informace o certifikátu, kterým si přeje banka.cz být autorizována, tím by se eliminovaly i útoky, kde MITM zfalšuje certifikát (jak se před pár dny diskutovalo tady na Rootu – hledejte např. Certificate Patrol).

Aby tato opatření fungovala, je nezbytné, aby přes HTTPS byla přístupná a šifrovaná celá session s bankou. Selhávají totiž v případě, že uživatel pro přístup do banky používá URL nějakého HTTP serveru a z něj se teprve kliknutím dostává do „zabezpečené zóny“ (příklad: www.banka.cz jsou normální HTTP stránky banky, na kterých je klik na „Přihlášení na účet“, který uživatele přivede na HTTPS server secure-praha-312.banka.cz, kde teprve vyplňuje jméno/heslo). Uživatel to druhé delší URL nepoužije, bude přistupovat k účtu přes www.banka.cz a MITM si bude mnout ruce…

Zasílat nově přidané příspěvky e-mailem        

Přehled názorů

Jinak
. 30. 8. 2010 20:57
└ 
Re: Jinak
MilanK 30. 8. 2010 21:47