Kontrola HTTPS a bezpečnostní hlavičky SEOtest.online. Kdy pouhý zelený zámek nestačí

by on

Kontrola HTTPS a bezpečnostní hlavičky SEOtest.online odhaluje mezery, které přehlédne i zkušený správce webu. Spousta lidí se spokojí s tím, že jejich web běží na HTTPS a v adresním řádku prohlížeče svítí ikonka zámku. To je sice dobrý základ, ovšem zdaleka ne celý příběh. Bezpečnostní hlavičky jsou vrstva ochrany, která na HTTPS navazuje a řeší hrozby, před kterými samotné šifrované spojení nepomůže. Co tyto hlavičky jsou, proč na nich záleží a jak zjistit, zda je váš web má správně nastavené?

Co HTTPS skutečně řeší

HTTPS šifruje přenos dat mezi prohlížečem uživatele a serverem. To znamená, že útočník, který odposlouchává síťový provoz například na veřejné Wi-Fi, neuvidí obsah přenášených dat. HTTPS také ověřuje identitu serveru prostřednictvím SSL/TLS certifikátu, takže uživatel má jistotu, že komunikuje skutečně s vámi a ne s někým, kdo se za vás vydává.

Co ale HTTPS neřeší, je chování samotné stránky v prohlížeči uživatele po načtení. Jakmile se data dostanou do prohlížeče, šifrování svou roli splnilo. Od tohoto momentu nastupují bezpečnostní hlavičky.

Kdy zelený zámek klame

Představte si situaci, kdy útočník dokáže do stránek vašeho webu vložit škodlivý skript prostřednictvím napadené reklamy nebo zranitelnosti v pluginu. HTTPS tomu nijak nebrání, přenos proběhne šifrovaně jako vždy. Škodlivý skript se načte, spustí a může odcizit přihlašovací údaje nebo platební data uživatele. Právě tady by správně nastavená bezpečnostní hlavička CSP celý útok zastavila.

Co jsou bezpečnostní hlavičky

Bezpečnostní hlavičky jsou instrukce, které server odesílá prohlížeči jako součást HTTP odpovědi. Prohlížeč je přečte a podle nich upraví své chování při vykreslování stránky. Nejde o viditelnou část webu ani o obsah pro uživatele, jde o technické direktivy pracující v pozadí.

Nastavují se na úrovni webového serveru (Apache, Nginx) nebo v konfiguraci aplikace, v závislosti na technologii, na které web běží. Ve WordPressu existují pluginy, které základní hlavičky přidají bez zásahu do konfigurace serveru. Na míru stavěné aplikace si hlavičky nastavují vývojáři přímo v kódu.

Nejdůležitější bezpečnostní hlavičky

HSTS

HTTP Strict Transport Security říká prohlížeči, že tento web komunikuje výhradně přes HTTPS. Pokud uživatel zadá adresu bez protokolu nebo klikne na http:// odkaz, prohlížeč ho automaticky přesměruje na zabezpečenou verzi bez toho, aby vůbec kontaktoval server přes nešifrované spojení. Tím se zamezí útokům typu SSL stripping, při kterých útočník degraduje spojení zpět na HTTP.

CSP

Content Security Policy je nejkomplexnější bezpečnostní hlavička a zároveň ta, která způsobuje vývojářům nejvíce práce. Definuje, ze kterých zdrojů smí prohlížeč načítat skripty, styly, obrázky a další obsah. Správně nakonfigurovaná CSP znemožní útočníkovi spustit škodlivý kód vložený do stránky, protože prohlížeč odmítne načíst cokoliv, co není na seznamu povolených zdrojů.

X-Frame-Options

Tato hlavička zabraňuje tomu, aby byl váš web vložen do rámce (iframe) na cizí stránce. Útok zvaný clickjacking funguje tak, že útočník zobrazí váš web neviditelně překrytý podvodnou stránkou a přiměje uživatele kliknout na prvky, které ve skutečnosti nevidí. X-Frame-Options tomuto scénáři předchází tím, že načtení vašeho webu v rámci jiné domény zakáže.

X-Content-Type-Options

Jednoduchá, ale účinná hlavička. Zabraňuje prohlížeči hádat typ souboru na základě jeho obsahu místo deklarovaného MIME typu. Bez ní útočník může nahrát soubor s nevinnou příponou, který prohlížeč vyhodnotí jako spustitelný skript.

Smíšený obsah je skrytý problém

Zvláštní kategorií bezpečnostních problémů je smíšený obsah (mixed content). Web běží na HTTPS, ale části stránky, typicky obrázky, fonty nebo skripty, se načítají přes nešifrované HTTP. Prohlížeče na to reagují různě: pasivní smíšený obsah jako obrázky zobrazí s varováním, aktivní smíšený obsah jako skripty zablokují úplně.

Výsledkem je web, který vypadá funkčně, ale v konzoli prohlížeče hlásí chyby a v krajních případech se části stránky vůbec nezobrazí. Po migraci z HTTP na HTTPS jde o jeden z nejčastějších přehlédnutých problémů.

Jak bezpečnostní hlavičky zkontrolovat

Ruční kontrola hlaviček je možná přes vývojářské nástroje prohlížeče nebo specializované online nástroje, ovšem vyžaduje orientaci v HTTP odpovědích. Pro rychlý přehled bez technického zázemí poslouží automatizovaná kontrola. Kontrola  s pomocí nástroje SEOtest.online prověří přítomnost HSTS, CSP, X-Frame-Options a dalších hlaviček, zkontroluje smíšený obsah a upozorní na nezabezpečené e-mailové adresy vystavené ve zdrojovém kódu. Výsledek dostanete bez registrace během několika sekund.

Pokud bezpečnostní kontrolu zařazujete do širšího auditu webu, orientační přehled toho, co SEO a technický test webu dokáže a kde naráží na své limity, pomůže správně nastavit očekávání.

Proč weby bezpečnostní hlavičky nemají

Nejčastější příčina není nedbalost, ale jednoduše to, že hosting a CMS šablony je v základu nenastavují. Výchozí instalace WordPressu, Shopify nebo jiné platformy splní HTTPS, protože ho dnes řeší i základní hosting automaticky. Bezpečnostní hlavičky si ale žádají vědomé rozhodnutí a technický zásah navíc.

Výsledkem je situace, kdy web technicky splňuje to, co uživatelé i vyhledávače vidí (zelený zámek), ovšem pod povrchem zůstávají díry, které útočníci znají a umějí využít. Pravidelná kontrola zabezpečení proto dává smysl nejen při spuštění webu, ale také po každé větší aktualizaci šablony nebo pluginů.

Jan Berky

You may also like