SlideShare une entreprise Scribd logo
1  sur  24
HTTP Strict Transport Security
Michal Špaček
www.michalspacek.cz @spazef0rze
https://commons.wikimedia.org/wiki/File:Kozovazy,_Muzeum_socialistick%C3%BDch_voz%C5%AF_(13).jpg
HTTP Strict Transport Security (HSTS) zajistí zabezpečený „převoz“
informací bez možnosti odstranění HTTPS. (Tyto slajdy obsahují
moje poznámky nejen pro ty, kteří na přednášce nebyli.)
Při přípravě přednášky jsem narazil na tenhle nejmenovaný web.
Všimněte si té věty nahoře. Na dalším slajdu je zvětšená.
HTML verze NULA
Tomuhle se říká HTML verze nula. To je HTML bez HT.
http://www.mojedatovaschranka.cz/
Uvedenou adresu jsem tedy zkusil zadat do prohlížeče. Jako každý normální
člověk jsem při zadávání to https:// na začátku zapomněl napsat.
http://www.mojedatovaschranka.cz/
Browser protokol doplnil za mě. Doplnil sice jenom http://, ne https://,
ale to nevadí, určitě se dostanu tam, kam chci, web mě nejspíš přesměruje.
LOLWUT?
Super
Hmm
OK
Do Not Perform Redirects from
Non-TLS Page to TLS Login Page
Ten vynález asi pochází ze zastaralého doporučení OWASPu, které říká, že
přihlašovací stránku nemáte přesměrovávat z HTTP na HTTPS.
This recommendation has been
removed.
Ale tohle doporučení už bylo 16. října 2011 odstraněno.
Nicméně i kdyby nebylo odstraněno, tak v doporučení se píše, že se nemá
přesměrovávat. Jenže datové schránky návštěvníka nakonec přesměrují.
Tato gramatická chyba je taková symbolická třešnička na tom zkaženém dortu.
Browser
Mizera
Server
HTTP HTTPS
SSL STRIP
Radou k vytvoření záložky se snaží řešit tento problém. Říká se tomu útok SSL Strip
a je to typ útoku Man-in-the-Middle. Uživatel chce načíst nějaký web, do prohlížeče
napíše adresu www.example.com bez https://, jeho prohlížeč pošle nešifrovaný
požadavek na server, ten odpoví přesměrováním na https://www.example.com.
Ten úvodní požadavek může zachytit mizera, na server ho přepošle, server tedy
odpoví přesměrováním jemu. To přesměrování ale mizera nevrátí prohlížeči, ale
místo toho pošle HTTPS požadavek na server sám. Server dostal požadavek po
HTTPS a je spokojený, takže mizerovi pošle šifrovanou stránku. Mizera ji přijme,
rozšifruje, změní všechny odkazy a formuláře z https:// na http:// a pošle
prohlížeči. Uživatel vidí stránku, kterou chtěl, doména také souhlasí. Jen si
nevšimne, že stránka není na HTTPS, možná totiž ani neví, že má být, napíše jméno
a heslo a browser ho nešifrovaně odešle na server, mizera nešifrované spojení
odposlechne a získá přihlašovací údaje. Ukázku útoku najdete na YouTube.
Řešit to doporučením vytvořit záložku nebo nepřesměrováváním je hloupé.
Správně je to udělat pomocí HTTP Strict Transport Security (HSTS). HSTS umí
Firefox i Chrome od verze 4, IE od verze Superman/12. (Aktualizace: IE 11
podporuje HSTS na Windows 7 a výše od počátku června 2015.)
H TSH TS
HSTS zajistí, že browser vůbec nebude posílat požadavek na HTTP, ale místo toho
vygeneruje interní přesměrování a rovnou půjde na HTTPS. Takto to vypadá v
Chrome. Podívejte se třeba na můj web, ten HSTS používá, rozdíl běžně nepoznáte.
Strict-Transport-Security: max-age=31536000; includeSubDomains
HSTS je HTTP hlavička, kterou posílá server. Browser poté bude interně
přesměrovávat http:// na https:// po X sekund, podle nastavení
direktivy max-age. Direktiva includeSubdomains říká, že HSTS má platit
i pro všechny subdomény. Nezapomeňte tuto hlavičku nastavovat i pro
doménu example.com, nejenom pro www.example.com.
TOFU
Trust-On-First-Use
HSTS hlavička může přijít jen po HTTPS, jinak ji browsery musí ignorovat. Musíme
tedy věřit, že přesměrování z odpovědi na první požadavek zaslaný po HTTP nikdo
nestripne. Tomuto modelu se říká Trust-On-First-Use.
https://www.chromium.org/hsts
PRELOAD
Abychom se nemuseli obávat ani toho prvního požadavku, tak můžeme využít tzv.
preload list. Dodává se s prohlížečem při instalaci a zajistí, že prohlížeč už bude od
začátku vědět, že váš web je na HTTPS a rovnou tam bude posílat požadavky.
Strict-Transport-Security: max-age=…; includeSubDomains; preload
https://hstspreload.appspot.com/
Abyste se dostali do preload listu, tak musíte k HSTS hlavičce přidat direktivu
preload a o přidání webu ručně požádat. Tento preload list používá Chrome,
Firefox a bude ho používat i IE. Ale jakmile tam jednou web dostanete, tak není
rychlé cesty zpět, pozor na to. O odstranění ze seznamu sice můžete požádat, ale
nějakou dobu to bude trvat.
max-age=60
bez preload
Proto pro testování nastavte malý počet vteřin, třeba jen pár minut a nepoužívejte
preload. Fakt, nedělejte to. Jinak si z vás někdo vystřelí a požádá o přidání na
seznam za vás.
~2000 domén
35 .cz domén
V preload listu z 11. 4. 2015 je necelých 2000 domén, z toho 35 českých, včetně
Slevomatu, Mallu a Alzy. Těžko říct, jak se to bude řešit, až ten seznam trochu
nabobtná, ale zatím moc místa nezabírá a pár let to ještě vydrží. Váš web se po
zařazení na seznam dostane do prohlížeče s některou z jeho dalších verzí.
ŽádnáŽádná
bankabanka
V preload listu není žádná česká banka. V ČR je 60 bank, spořitelen a záložen, z
toho 10 jich používá HSTS v bankovnictví a 3 i na normálním webu. Ale v preload
listu není žádná.
„Veškerá komunikace probíhá
šifrovaně pomocí stejného
systému, který používají banky.“
– fakturoid.cz
Proto jsou docela vtipná tvrzení podobná tomuto od Fakturoidu. Žádná banka totiž
nemá HTTPS udělané tak dobře, jako Fakturoid. Raději tedy přestaňte tyhle
hlouposti tvrdit a prostě to udělejte dobře. Tedy jinak, než většina bank.
HSTS má ještě jeden důležitý úkol. Když dojde k nějaké chybě při připojování k
zabezpečenému webu, tak uživateli nedovolí pokračovat. Tady je ukázka připojení,
kdy útočník podvrhnul certifikát vydaný neznámou certifikační autoritou. Web
vpravo podporuje HSTS a nedovolí uživateli web načíst, tlačítko Pokračuj chybí.
Michal ŠpačekMichal Špaček
www.michalspacek.czwww.michalspacek.cz @spazef0rze@spazef0rze
Mimochodem, nainstalujte si do browseru toto rozšíření, díky němu se vám po
HTTPS budou načítat i weby, které ho defaultně nenabízí, třeba Wikipedia. Je to
takové lokální HSTS. (Aktualizace: Wikipedia se načítá od června 2015 pouze na
HTTPS a to včetně HSTS, ale toto rozšíření si přesto nainstalujte, weby si do něj
můžete přidávat také ručně.)

Contenu connexe

Tendances

Základy webové bezpečnosti pro PR a marketing
Základy webové bezpečnosti pro PR a marketingZáklady webové bezpečnosti pro PR a marketing
Základy webové bezpečnosti pro PR a marketingMichal Špaček
 
HTTPS (a šifrování) všude
HTTPS (a šifrování) všudeHTTPS (a šifrování) všude
HTTPS (a šifrování) všudeMichal Špaček
 
Víceúrovňová obrana vysvětlená na Cross-Site Scriptingu
Víceúrovňová obrana vysvětlená na Cross-Site ScriptinguVíceúrovňová obrana vysvětlená na Cross-Site Scriptingu
Víceúrovňová obrana vysvětlená na Cross-Site ScriptinguMichal Špaček
 
Bezpečnost na mobilních zařízeních
Bezpečnost na mobilních zařízeníchBezpečnost na mobilních zařízeních
Bezpečnost na mobilních zařízeníchMichal Špaček
 
Minulé století volalo (Cross-Site Scripting + BeEF + CSP demo)
Minulé století volalo (Cross-Site Scripting + BeEF + CSP demo)Minulé století volalo (Cross-Site Scripting + BeEF + CSP demo)
Minulé století volalo (Cross-Site Scripting + BeEF + CSP demo)Michal Špaček
 
WebTop100 Technické chyby, výkon a bezpečnost
WebTop100 Technické chyby, výkon a bezpečnostWebTop100 Technické chyby, výkon a bezpečnost
WebTop100 Technické chyby, výkon a bezpečnostMichal Špaček
 
Víte, že nevíte, že já vím, že nevíte? (WebTop100 2014)
Víte, že nevíte, že já vím, že nevíte? (WebTop100 2014)Víte, že nevíte, že já vím, že nevíte? (WebTop100 2014)
Víte, že nevíte, že já vím, že nevíte? (WebTop100 2014)Michal Špaček
 
Password manažeři detailněji – 1Password, LastPass, 2FA, sdílení
Password manažeři detailněji – 1Password, LastPass, 2FA, sdíleníPassword manažeři detailněji – 1Password, LastPass, 2FA, sdílení
Password manažeři detailněji – 1Password, LastPass, 2FA, sdíleníMichal Špaček
 
Kolik webových útoků znáš...
Kolik webových útoků znáš...Kolik webových útoků znáš...
Kolik webových útoků znáš...Michal Špaček
 
Bezpečnostní útoky na webové aplikace
Bezpečnostní útoky na webové aplikaceBezpečnostní útoky na webové aplikace
Bezpečnostní útoky na webové aplikaceMichal Špaček
 
HTTPS zdarma a pro všechny - LinuxDays 2015
HTTPS zdarma a pro všechny - LinuxDays 2015HTTPS zdarma a pro všechny - LinuxDays 2015
HTTPS zdarma a pro všechny - LinuxDays 2015tomashala
 
Lámání a ukládání hesel
Lámání a ukládání heselLámání a ukládání hesel
Lámání a ukládání heselMichal Špaček
 
Nejčastejší problémy WordPress webů
Nejčastejší problémy WordPress webůNejčastejší problémy WordPress webů
Nejčastejší problémy WordPress webůVladimír Smitka
 
Website Security & WordPress (Peter Gramantik)
Website Security & WordPress (Peter Gramantik)Website Security & WordPress (Peter Gramantik)
Website Security & WordPress (Peter Gramantik)wcsk
 
WordPress šablony a rychlost načítání (WordCamp Praha 2017)
WordPress šablony a  rychlost načítání (WordCamp Praha 2017)WordPress šablony a  rychlost načítání (WordCamp Praha 2017)
WordPress šablony a rychlost načítání (WordCamp Praha 2017)Martin Michálek
 
Bezpečnostní útoky na webové aplikace, Čtvrtkon 5
Bezpečnostní útoky na webové aplikace, Čtvrtkon 5Bezpečnostní útoky na webové aplikace, Čtvrtkon 5
Bezpečnostní útoky na webové aplikace, Čtvrtkon 5Michal Špaček
 

Tendances (20)

Medvědí služba
Medvědí službaMedvědí služba
Medvědí služba
 
Základy webové bezpečnosti pro PR a marketing
Základy webové bezpečnosti pro PR a marketingZáklady webové bezpečnosti pro PR a marketing
Základy webové bezpečnosti pro PR a marketing
 
HTTPS (a šifrování) všude
HTTPS (a šifrování) všudeHTTPS (a šifrování) všude
HTTPS (a šifrování) všude
 
Víceúrovňová obrana vysvětlená na Cross-Site Scriptingu
Víceúrovňová obrana vysvětlená na Cross-Site ScriptinguVíceúrovňová obrana vysvětlená na Cross-Site Scriptingu
Víceúrovňová obrana vysvětlená na Cross-Site Scriptingu
 
Total Cost of Pwnership
Total Cost of PwnershipTotal Cost of Pwnership
Total Cost of Pwnership
 
Bezpečnost na mobilních zařízeních
Bezpečnost na mobilních zařízeníchBezpečnost na mobilních zařízeních
Bezpečnost na mobilních zařízeních
 
Minulé století volalo (Cross-Site Scripting + BeEF + CSP demo)
Minulé století volalo (Cross-Site Scripting + BeEF + CSP demo)Minulé století volalo (Cross-Site Scripting + BeEF + CSP demo)
Minulé století volalo (Cross-Site Scripting + BeEF + CSP demo)
 
WebTop100 Technické chyby, výkon a bezpečnost
WebTop100 Technické chyby, výkon a bezpečnostWebTop100 Technické chyby, výkon a bezpečnost
WebTop100 Technické chyby, výkon a bezpečnost
 
Víte, že nevíte, že já vím, že nevíte? (WebTop100 2014)
Víte, že nevíte, že já vím, že nevíte? (WebTop100 2014)Víte, že nevíte, že já vím, že nevíte? (WebTop100 2014)
Víte, že nevíte, že já vím, že nevíte? (WebTop100 2014)
 
Hlava není na hesla
Hlava není na heslaHlava není na hesla
Hlava není na hesla
 
Password manažeři detailněji – 1Password, LastPass, 2FA, sdílení
Password manažeři detailněji – 1Password, LastPass, 2FA, sdíleníPassword manažeři detailněji – 1Password, LastPass, 2FA, sdílení
Password manažeři detailněji – 1Password, LastPass, 2FA, sdílení
 
Kolik webových útoků znáš...
Kolik webových útoků znáš...Kolik webových útoků znáš...
Kolik webových útoků znáš...
 
Bezpečnostní útoky na webové aplikace
Bezpečnostní útoky na webové aplikaceBezpečnostní útoky na webové aplikace
Bezpečnostní útoky na webové aplikace
 
HTTPS zdarma a pro všechny - LinuxDays 2015
HTTPS zdarma a pro všechny - LinuxDays 2015HTTPS zdarma a pro všechny - LinuxDays 2015
HTTPS zdarma a pro všechny - LinuxDays 2015
 
Zapomeňte vaše hesla
Zapomeňte vaše heslaZapomeňte vaše hesla
Zapomeňte vaše hesla
 
Lámání a ukládání hesel
Lámání a ukládání heselLámání a ukládání hesel
Lámání a ukládání hesel
 
Nejčastejší problémy WordPress webů
Nejčastejší problémy WordPress webůNejčastejší problémy WordPress webů
Nejčastejší problémy WordPress webů
 
Website Security & WordPress (Peter Gramantik)
Website Security & WordPress (Peter Gramantik)Website Security & WordPress (Peter Gramantik)
Website Security & WordPress (Peter Gramantik)
 
WordPress šablony a rychlost načítání (WordCamp Praha 2017)
WordPress šablony a  rychlost načítání (WordCamp Praha 2017)WordPress šablony a  rychlost načítání (WordCamp Praha 2017)
WordPress šablony a rychlost načítání (WordCamp Praha 2017)
 
Bezpečnostní útoky na webové aplikace, Čtvrtkon 5
Bezpečnostní útoky na webové aplikace, Čtvrtkon 5Bezpečnostní útoky na webové aplikace, Čtvrtkon 5
Bezpečnostní útoky na webové aplikace, Čtvrtkon 5
 

Plus de Michal Špaček

Fantom Opery, "VPN" a Secure Proxy v Opeře
Fantom Opery, "VPN" a Secure Proxy v OpeřeFantom Opery, "VPN" a Secure Proxy v Opeře
Fantom Opery, "VPN" a Secure Proxy v OpeřeMichal Špaček
 
Quality of Life, Multiple Lines of Defense
Quality of Life, Multiple Lines of DefenseQuality of Life, Multiple Lines of Defense
Quality of Life, Multiple Lines of DefenseMichal Špaček
 
Disclosing password hashing policies
Disclosing password hashing policiesDisclosing password hashing policies
Disclosing password hashing policiesMichal Špaček
 
Operations security (OPSEC) in IT
Operations security (OPSEC) in ITOperations security (OPSEC) in IT
Operations security (OPSEC) in ITMichal Špaček
 
HTTP Strict Transport Security (HSTS), English version
HTTP Strict Transport Security (HSTS), English versionHTTP Strict Transport Security (HSTS), English version
HTTP Strict Transport Security (HSTS), English versionMichal Špaček
 
I forgot my password – what a secure password reset needs to have and why
I forgot my password – what a secure password reset needs to have and whyI forgot my password – what a secure password reset needs to have and why
I forgot my password – what a secure password reset needs to have and whyMichal Špaček
 
The problem with the real world
The problem with the real worldThe problem with the real world
The problem with the real worldMichal Špaček
 
Defense in Depth Web Inkognito 12/2013
Defense in Depth Web Inkognito 12/2013Defense in Depth Web Inkognito 12/2013
Defense in Depth Web Inkognito 12/2013Michal Špaček
 
Bezpečnost webových aplikací Web Inkognito VŠE 05/2013
Bezpečnost webových aplikací Web Inkognito VŠE 05/2013Bezpečnost webových aplikací Web Inkognito VŠE 05/2013
Bezpečnost webových aplikací Web Inkognito VŠE 05/2013Michal Špaček
 

Plus de Michal Špaček (10)

Fantom Opery, "VPN" a Secure Proxy v Opeře
Fantom Opery, "VPN" a Secure Proxy v OpeřeFantom Opery, "VPN" a Secure Proxy v Opeře
Fantom Opery, "VPN" a Secure Proxy v Opeře
 
Quality of Life, Multiple Lines of Defense
Quality of Life, Multiple Lines of DefenseQuality of Life, Multiple Lines of Defense
Quality of Life, Multiple Lines of Defense
 
Disclosing password hashing policies
Disclosing password hashing policiesDisclosing password hashing policies
Disclosing password hashing policies
 
Operations security (OPSEC) in IT
Operations security (OPSEC) in ITOperations security (OPSEC) in IT
Operations security (OPSEC) in IT
 
HTTP Strict Transport Security (HSTS), English version
HTTP Strict Transport Security (HSTS), English versionHTTP Strict Transport Security (HSTS), English version
HTTP Strict Transport Security (HSTS), English version
 
I forgot my password – what a secure password reset needs to have and why
I forgot my password – what a secure password reset needs to have and whyI forgot my password – what a secure password reset needs to have and why
I forgot my password – what a secure password reset needs to have and why
 
HTTP/2
HTTP/2HTTP/2
HTTP/2
 
The problem with the real world
The problem with the real worldThe problem with the real world
The problem with the real world
 
Defense in Depth Web Inkognito 12/2013
Defense in Depth Web Inkognito 12/2013Defense in Depth Web Inkognito 12/2013
Defense in Depth Web Inkognito 12/2013
 
Bezpečnost webových aplikací Web Inkognito VŠE 05/2013
Bezpečnost webových aplikací Web Inkognito VŠE 05/2013Bezpečnost webových aplikací Web Inkognito VŠE 05/2013
Bezpečnost webových aplikací Web Inkognito VŠE 05/2013
 

HTTP Strict Transport Security (HSTS)

  • 1. HTTP Strict Transport Security Michal Špaček www.michalspacek.cz @spazef0rze https://commons.wikimedia.org/wiki/File:Kozovazy,_Muzeum_socialistick%C3%BDch_voz%C5%AF_(13).jpg HTTP Strict Transport Security (HSTS) zajistí zabezpečený „převoz“ informací bez možnosti odstranění HTTPS. (Tyto slajdy obsahují moje poznámky nejen pro ty, kteří na přednášce nebyli.)
  • 2. Při přípravě přednášky jsem narazil na tenhle nejmenovaný web. Všimněte si té věty nahoře. Na dalším slajdu je zvětšená.
  • 3. HTML verze NULA Tomuhle se říká HTML verze nula. To je HTML bez HT.
  • 4. http://www.mojedatovaschranka.cz/ Uvedenou adresu jsem tedy zkusil zadat do prohlížeče. Jako každý normální člověk jsem při zadávání to https:// na začátku zapomněl napsat.
  • 5. http://www.mojedatovaschranka.cz/ Browser protokol doplnil za mě. Doplnil sice jenom http://, ne https://, ale to nevadí, určitě se dostanu tam, kam chci, web mě nejspíš přesměruje.
  • 8. Do Not Perform Redirects from Non-TLS Page to TLS Login Page Ten vynález asi pochází ze zastaralého doporučení OWASPu, které říká, že přihlašovací stránku nemáte přesměrovávat z HTTP na HTTPS.
  • 9. This recommendation has been removed. Ale tohle doporučení už bylo 16. října 2011 odstraněno.
  • 10. Nicméně i kdyby nebylo odstraněno, tak v doporučení se píše, že se nemá přesměrovávat. Jenže datové schránky návštěvníka nakonec přesměrují.
  • 11. Tato gramatická chyba je taková symbolická třešnička na tom zkaženém dortu.
  • 12. Browser Mizera Server HTTP HTTPS SSL STRIP Radou k vytvoření záložky se snaží řešit tento problém. Říká se tomu útok SSL Strip a je to typ útoku Man-in-the-Middle. Uživatel chce načíst nějaký web, do prohlížeče napíše adresu www.example.com bez https://, jeho prohlížeč pošle nešifrovaný požadavek na server, ten odpoví přesměrováním na https://www.example.com. Ten úvodní požadavek může zachytit mizera, na server ho přepošle, server tedy odpoví přesměrováním jemu. To přesměrování ale mizera nevrátí prohlížeči, ale místo toho pošle HTTPS požadavek na server sám. Server dostal požadavek po HTTPS a je spokojený, takže mizerovi pošle šifrovanou stránku. Mizera ji přijme, rozšifruje, změní všechny odkazy a formuláře z https:// na http:// a pošle prohlížeči. Uživatel vidí stránku, kterou chtěl, doména také souhlasí. Jen si nevšimne, že stránka není na HTTPS, možná totiž ani neví, že má být, napíše jméno a heslo a browser ho nešifrovaně odešle na server, mizera nešifrované spojení odposlechne a získá přihlašovací údaje. Ukázku útoku najdete na YouTube.
  • 13. Řešit to doporučením vytvořit záložku nebo nepřesměrováváním je hloupé. Správně je to udělat pomocí HTTP Strict Transport Security (HSTS). HSTS umí Firefox i Chrome od verze 4, IE od verze Superman/12. (Aktualizace: IE 11 podporuje HSTS na Windows 7 a výše od počátku června 2015.) H TSH TS
  • 14. HSTS zajistí, že browser vůbec nebude posílat požadavek na HTTP, ale místo toho vygeneruje interní přesměrování a rovnou půjde na HTTPS. Takto to vypadá v Chrome. Podívejte se třeba na můj web, ten HSTS používá, rozdíl běžně nepoznáte.
  • 15. Strict-Transport-Security: max-age=31536000; includeSubDomains HSTS je HTTP hlavička, kterou posílá server. Browser poté bude interně přesměrovávat http:// na https:// po X sekund, podle nastavení direktivy max-age. Direktiva includeSubdomains říká, že HSTS má platit i pro všechny subdomény. Nezapomeňte tuto hlavičku nastavovat i pro doménu example.com, nejenom pro www.example.com.
  • 16. TOFU Trust-On-First-Use HSTS hlavička může přijít jen po HTTPS, jinak ji browsery musí ignorovat. Musíme tedy věřit, že přesměrování z odpovědi na první požadavek zaslaný po HTTP nikdo nestripne. Tomuto modelu se říká Trust-On-First-Use.
  • 17. https://www.chromium.org/hsts PRELOAD Abychom se nemuseli obávat ani toho prvního požadavku, tak můžeme využít tzv. preload list. Dodává se s prohlížečem při instalaci a zajistí, že prohlížeč už bude od začátku vědět, že váš web je na HTTPS a rovnou tam bude posílat požadavky.
  • 18. Strict-Transport-Security: max-age=…; includeSubDomains; preload https://hstspreload.appspot.com/ Abyste se dostali do preload listu, tak musíte k HSTS hlavičce přidat direktivu preload a o přidání webu ručně požádat. Tento preload list používá Chrome, Firefox a bude ho používat i IE. Ale jakmile tam jednou web dostanete, tak není rychlé cesty zpět, pozor na to. O odstranění ze seznamu sice můžete požádat, ale nějakou dobu to bude trvat.
  • 19. max-age=60 bez preload Proto pro testování nastavte malý počet vteřin, třeba jen pár minut a nepoužívejte preload. Fakt, nedělejte to. Jinak si z vás někdo vystřelí a požádá o přidání na seznam za vás.
  • 20. ~2000 domén 35 .cz domén V preload listu z 11. 4. 2015 je necelých 2000 domén, z toho 35 českých, včetně Slevomatu, Mallu a Alzy. Těžko říct, jak se to bude řešit, až ten seznam trochu nabobtná, ale zatím moc místa nezabírá a pár let to ještě vydrží. Váš web se po zařazení na seznam dostane do prohlížeče s některou z jeho dalších verzí.
  • 21. ŽádnáŽádná bankabanka V preload listu není žádná česká banka. V ČR je 60 bank, spořitelen a záložen, z toho 10 jich používá HSTS v bankovnictví a 3 i na normálním webu. Ale v preload listu není žádná.
  • 22. „Veškerá komunikace probíhá šifrovaně pomocí stejného systému, který používají banky.“ – fakturoid.cz Proto jsou docela vtipná tvrzení podobná tomuto od Fakturoidu. Žádná banka totiž nemá HTTPS udělané tak dobře, jako Fakturoid. Raději tedy přestaňte tyhle hlouposti tvrdit a prostě to udělejte dobře. Tedy jinak, než většina bank.
  • 23. HSTS má ještě jeden důležitý úkol. Když dojde k nějaké chybě při připojování k zabezpečenému webu, tak uživateli nedovolí pokračovat. Tady je ukázka připojení, kdy útočník podvrhnul certifikát vydaný neznámou certifikační autoritou. Web vpravo podporuje HSTS a nedovolí uživateli web načíst, tlačítko Pokračuj chybí.
  • 24. Michal ŠpačekMichal Špaček www.michalspacek.czwww.michalspacek.cz @spazef0rze@spazef0rze Mimochodem, nainstalujte si do browseru toto rozšíření, díky němu se vám po HTTPS budou načítat i weby, které ho defaultně nenabízí, třeba Wikipedia. Je to takové lokální HSTS. (Aktualizace: Wikipedia se načítá od června 2015 pouze na HTTPS a to včetně HSTS, ale toto rozšíření si přesto nainstalujte, weby si do něj můžete přidávat také ručně.)

Notes de l'éditeur

  1. Řeknu vám něco o HSTS, zajistí zabezpečený transport informací, pro ty, co jste byli na mé přednášce o HTTP/2, tak dobrá zpráva, až bude celý web už jen šifrovaný, tak tohle nebude potřeba.
  2. Když jsem si připravoval přednášku, tak jsem narazil na tenhle web. Je to web datových schránek a až včera jsem si všiml té věty nahoře. Já vám to zvětším takhle
  3. Přečíst Tomuhle se říká HTML verze nula. To je HTML bez HT.
  4. Zkusil jsem tedy do prohlížeče zadat adresu, která tam byla uvedená a jako každý normální člověk jsem prostě to https:// na začátku neuvedl.
  5. Browser to doplnil za mě. Doplnil sice jenom http, ne https, ale to nevadí, určitě se dostanu tam, kam chci.
  6. Ejhle, WTF?
  7. Tenhle vynález asi pochází z doporučení OWASPu, kde se říká, že nepřesměrovávejte z HTTP na přihlašovací stránku na HTTPS.
  8. No jo, jenže tohle doporučení už je stejně odstraněný.
  9. Ale i kdyby tam zůstalo, tak se tam píše o tom, že se nemá přesměrovávat. Takže to mají stejně blbě, protože návštěvníka přesměrují.
  10. No a kromě toho, tahle gramatická chyba je taková symbolická třešnička na tom zkaženým dortu.
  11. Co se tou radou k vytvoření záložky snaží řešit je tenhle problém. Říká se tomu útok SSL strip. Ten funguje takto. Váš prohlížeč chce poslat požadavek na server, napíšete do browseru www bez https:// browser pošle požadavek na server, ten odpoví přesměrování na https. Ten úvodní požadavek je nešifrovaný, takže ho může zachytit mizera, přepošle ho na server, server odpoví jemu a do prohlížeče vrátí nešifrovanou stránku s přepsanými odkazy na http. Uživatel napíše jméno a heslo a browser ho nešifrovaně odešle na server, tedy vlastně mizerovi a ten ho zašifruje a pošle na server. MITM.
  12. Řešit to záložkou nebo nepřesměrováváním je pitomost. Správně je to udělat pomocí HSTS. HSTS umí Firefox i Chrome od verze 4, IE od další verze
  13. HSTS zajistí, že browser vůbec nebude posílat požadavek na HTTP, ale místo toho vygeneruje interní přesměrování a rovnou půjde na HTTPS Takto to vypadá v Chrome.
  14. HSTS je HTTP hlavička, kterou pošle server a browser pak bude interně přesměrovávat http na https po X sekund, to je to max-age. Includesubdomains pak říká, že to platí i pro všechny subdomény. Nezapomeňte tu hlavičku nastavit i pro example.com, nejenom pro www.example.com
  15. HSTS hlavička může přijít jen po HTTPS. Takže musíme věřit prvnímu požadavku. Tomu se říká TOFU.
  16. Abychom nemuseli věřit ani prvnímu požadavku, tak můžeme využít tzv. preload list. Ten se dodává rovnou s prohlížečem při instalaci a zajistí, že prohlížeč už bude od začátku vědět, že váš web je na https a rovnou bude posílat požadavky na https.
  17. Abyste se dostali do preload listu, tak musíte k HSTS hlavičce přidat preload a přidat svůj web ručně do formuláře na hstspreload. Tenhle preload list používá chrome, firefox a bude ho používat i IE. Ale jakmile tam jednou web dostanete, tak není cesty zpět, pozor na to.
  18. Proto pro testování nastave počet vteřin hodně malý, třeba pár minut a nepoužívejte preload. Fakt, nedělejte to.
  19. V aktuálním preload listu je asi 2000 domén, z toho 35 českých, slevomat, mall, alza. Těžko říct, jak se to bude řešit, až ten seznam trochu nabobtná, ale zatím je to v pohodě a pár let to ještě vydrží. Browsery mají trochu starší preload list.
  20. Žádná banka není v preload listu. U nás je 60 bank, 10 jich má HSTS v bankovnictví a 3 na normálním webu. Ale v preload listu není žádná.
  21. Proto jsou docela vtipná tvrzení jako třeba tohle od fakturoidu. Žádná banka nemá HTTPS udělané tak dobře, jako fakturoid. Přestaňte tyhle kraviny tvrdit a prostě to udělejte dobře. Ne tak jako většina bank.
  22. HSTS má ještě jeden důležitý úkol. Když dojde k nějaké chybě při připojování k zabezpečenému webu, tak uživateli nedovolí pokračovat. Tady je ukázka připojení, kdy útočník podvrhnul certifikát vydaný neznámou certifikační autoritou. Web vpravo podporuje HSTS.
  23. Mimochodem, nainstalujte si do browseru tohle rozšíření, díky němu se vám po HTTPS budou načítat i weby, které ho defaultně nenabízí, třeba wikipedia. Je to takové lokální HSTS.