Jak správně využít SSL certifikát - díl čtvrtý
17. 1. 2013 | Jindřich Zechmeister
V této části cyklu o použití SSL certifikátů se dozvíte o technologii HTTP Strict Transport Security, šifrování cookies a jiných aspektech návrhu a nasazení SSL certifikátu na server.
Samotným nainstalováním certifikátu práce na zabezpečení webu nekončí. Důležitá je i správná konfigurace serveru, šifrování a dalších parametrů. Ve čtyřdílném cyklu projdeme tyto aspekty z pohledu současných bezpečnostních doporučení a vy si můžete ověřit, zda-li využíváte certifikát správně a bezpečně.
Posledním čtvrtým tématem je návrh aplikace a implementace SSL certifikátu.
Šifrujte 100 % webového provozu
Skutečnost, že je SSL šifrování volitelné, je jedním z největších problémů současnosti. Největší bezpečnostní problémy jsou tyto:
- Na stránkách, které SSL potřebují, zabezpečení není
- Weby mají k dispozici SSL certifikát, ale nepoužívají ho
- Stránky mají smíšený obsah - zabezpečený i nezabezpečený, někdy i na stejné stránce
Většině z těchto problémů je možné předejít pokud přesně víte, co znamenají a co vy děláte pro prevenci. Nejlepším způsobem zabezpečení webu je šifrování veškeré komunikace bez výjimek.
Přesvědčte se, že jsou cookies šifrované
Bezpečený web má všechny cookies označeny jako zabezpečené. Selhání v tomto aspektu a nezabezpečení cookies umožňuje snadno provést Man-in-the-middle (MITM) útok, získat citlivé informace a obejít přihlášení na server. V takovém případě nepomůže ani jinak 100% zabezpečení webu, protože útočník získal stejnou relaci (session), jak přihlášený uživatel.
Neměl by se kombinovat zabezpečený obsah s nezabezpečeným
Stránky se smíšeným obsahem jsou takové, které kombinují data přenesená přes SSL s daty přenesenými nezabezpečeně. Obvykle jsou takto opomenuty například obrázky ve webové prezentaci nebo skripty a CSS soubory.
Taková stránka není bezpečná, což dá návštěvníkovi vědět i jeho prohlížeč varováním a doporučením odchodu z webu. Útočník může díky jednomu nezabezpečenému javascriptu obejít zabezpečení a s pomocí MITM útoku získat celou relaci (session) návštěvníka.
Povolte zabezpečení HTTP Strict Transport Security
HTTP Strict Transport Security (HSTS) je bezpečnostní technologie navržená za účelem zachování neporušené bezpečnosti pro weby přístupné pouze přes HTTPS (HTTPS strict). Neumožňuje útočníkům využít chyb v implementaci SSL nebo přepínání návštěvníků do nechráněného spojení HTTP. HSTS také řeší problém smíšeného obsahu, který je zmíněn v předchozím odstavci. Útočník ho může využít, ať už se jedná o záměr, nebo chybu programátora, a může přes HTTP na stránku nahrávat nezabezpečeně škodlivý obsah. HSTS též zamezuje krádežím cookies obsahující přihlašovací údaje.
HSTS pomáhá také zabránit útokům MITM, jelikož není možné změnit šifrovanou komunikaci na nezabezpečený HTTP protokol.
Návštěvníkovi je při návštěvě zabezpečeného serveru poslána informace o tom, že jiné než HTTPS spojení není možné. Drobný problém je v tom, že při první návštěvě prohlížeč nezná toto nastavení serveru a první spojení je nezabezpečené. Moderní prohlížeče, jako například Google Chrome, znají seznam největších webů, které tuto technologii využívají a už s tím počítá. Jedná se například o samotný Google nebo Twitter, PayPal a jiné velké služby. Facebook zatím využívá pouze HTTPS strict a HSTS zatím nepodporuje.
Citlivý obsah "nekešujte"
S citlivým obsahem a informacemi by mělo být vždy citlivě nakládáno a tudíž by se měly přenášet pouze v případě potřeby a zabezpečeně. Měli byste být schopní tento důležitý obsah rozlišit a zabezpečit. Šifrovaná data jsou zabezpečena a cizím očím nedostupná i při cestě neznámými kanály (jako například proxy), ale vzhledem k rychle rostoucímu odvětví cloudových služeb je lepší tomuto riziku předcházet. Vzdáleně přistupujeme ke stále většímu množství dat, včetně těch citlivých.
Přesvědčte se, že na serveru nejsou žádné jiné zranitelnosti
Samotná instalace a používaní SSL certifikátu nezaručí absolutní bezpečnost serveru jako takového. SSL certifikát zabezpečuje jedno konkrétní hledisko bezpečnosti - důvěryhodnost a integritu dat přenášených mezi serverem a návštěvníkem. Existuje však mnoho ostatních rizik, se kterými si musíte poradit. Obecně byste se měli ujistit, že webové stránky nemají žádná známá bezpečnostní rizika.
Ověřte bezpečnost a důvěryhodnost nástrojů třetích stran
Webové stránky obvykle používají služby třetích stran - třeba JavaScript stažený z jiného serveru. Příkladem takové služby je oblíbený systém Google Analytics. Použití kódu třetí strany na stránce dává možnost plné kontroly nad vaším webem. Kód třetí strany nemusí být škodlivý, ale velcí poskytovatelé služeb jsou častým terčem útoků. Pokud je velký poskytovatel kompromitován, útočník automaticky získá přístup ke všem stránkám používajících tuto službu.
Cyklus Jak správně využít SSL certifikát se zakládá na bezpečnostních doporučeních společnosti Qualys, lídra na poli cloudové bezpečnosti a jejich dokumentu SSL/TLS Deployment Best Practices.
Další díly seriálu:
Specialista pro bezpečnostní SSL certifikáty
DigiCert TLS/SSL Professional
e-mail: jindrich.zechmeister(at)zoner.cz