Přejít k navigační liště

Zdroják » Zprávičky » Jak vynutit přenos po HTTPS pomocí hlavičky

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

Zprávičky Různé

Nálepky:

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.

Komentáře

Odebírat
Upozornit na
guest
2 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
Zobrazit všechny komentáře
.

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

MilanK

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 http://www.banka.cz. Když se do této banky přihlašujete poprvé, zadáte http://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 http://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 http://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 http://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 http://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: http://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 http://www.banka.cz a MITM si bude mnout ruce…

Cesta URL: co se děje, než se načte webová stránka

Když do adresního řádku prohlížeče napíšete webovou adresu a stisknete Enter, spustí se fascinující řetězec procesů, které propojují váš počítač s celým světem. Od překladu doménového jména na IP adresu, přes navázání šifrovaného spojení, až po vykreslení každého pixelu na obrazovce - to všechno se odehraje během zlomků sekundy. Pojďme se podívat, co se mezitím děje pod kapotou webu.

Stav SIMD v Rustu v roce 2025

Různé
Komentáře: 1
SIMD - neboli Single Instruction, Multiple Data - znamená, že procesor může jednou instrukcí zpracovat více datových prvků najednou. Typicky to znamená, že místo sčítání dvou čísel přičtete dvě sady čísel paralelně. To může přinést výrazné zrychlení například při zpracování obrazu, audia nebo numerických výpočtů. Pokud již SIMD znáte, tato tabulka je vše, co budete potřebovat. A pokud s SIMD teprve začínáte, tabulku pochopíte do konce tohoto článku