Zkuste si představit, že byste si na vchodové dveře pověsili cedulku s přesnou značkou, typem a rokem výroby zámku. Zloději by pak nemuseli nic zkoušet – stačilo by jim vygooglit, jestli má zrovna tenhle model nějakou známou slabinu, a rovnou by věděli, kudy dovnitř. Zní to absurdně? Přesně tohle ale dělá spousta firemních webů – jen místo zámku prozrazují verzi PHP, redakčního systému nebo pluginu. A útočníci to vědí líp než majitelé webů.

Jak web sám prozradí, co běží pod kapotou

Prohlížeč i server si při každé návštěvě webu vymění spoustu technických informací, které běžný návštěvník nikdy nevidí – ale útočník ano. Stačí se podívat do zdrojového kódu stránky, do hlaviček odpovědi serveru nebo do adres, na kterých se načítají soubory pluginů a šablon.

Redakční systémy jako WordPress často do kódu stránky automaticky vypíší svou verzi, verzi použité šablony i každého pluginu. Server zase v hlavičce běžně prozradí verzi PHP nebo webového serveru. Pro člověka je to nezajímavá technická poznámka pod čarou. Pro automatizovaného robota, který prohledává internet a sbírá tyhle údaje po tisících webech najednou, je to hotový seznam adres se štítky „zkus tady, tahle verze má díru“.

Proč je přesná verze zlatý důl pro útočníka

Ke každé rozšířenější verzi softwaru – ať je to CMS, plugin nebo přímo PHP – se dřív nebo později najde bezpečnostní chyba. Ta se zaeviduje ve veřejné databázi pod označením CVE (je to prostě katalogové číslo konkrétní díry) a popíše se, jak přesně se dá zneužít. Jakmile útočník zjistí přesnou verzi softwaru na vašem webu, stačí mu dohledat, jestli pro ni existuje známá a nezalepená díra – a použít hotový, často veřejně dostupný postup, jak jí projít dovnitř. Nemusí nic objevovat sám, jen spojit dvě veřejně dostupné informace: verzi vašeho webu a katalog známých chyb.

A tady je ta klíčová věc, kterou si majitelé malých webů málokdy uvědomí: většina útoků vůbec necílí konkrétně na ně. Útočníci nechají běžet automatizované roboty, které během pár hodin obejdou statisíce webů, zkontrolují si jejich verze a nabídnou seznam těch, které mají otevřenou konkrétní, dobře zdokumentovanou díru. Firma s webem za pár tisíc korun se tak ocitne ve stejném hledáčku jako velký e-shop – ne proto, že by ji někdo cíleně vybral, ale proto, že se prostě ozvala na sken.

Čísla, která mluví jasně

Podle analýzy webu Zdroják pochází až 97 % bezpečnostních zranitelností ve WordPressu z pluginů a šablon, nikoli ze samotného jádra systému – tedy přesně z těch součástek, které si majitelé webů nejčastěji zapomenou aktualizovat. A podle dat citovaných Technickým týdeníkem používá zastaralý software 94 % webů a průměrná použitá komponenta je s aktualizacemi pozadu zhruba čtyři roky. Jinými slovy: naprostá většina webů má na dveřích pověšenou přesně tu cedulku, které se chtěl bát náš zloděj ze začátku.

Podobně je to s PHP, jazykem, na kterém běží drtivá většina redakčních systémů. Každá jeho verze má jasně daný konec podpory – po něm už výrobce nevydává žádné bezpečnostní záplaty, ani na nově objevené vážné chyby. Web na doživotí nepodporované verzi PHP tak zůstává se všemi budoucími dírami otevřený navždy, protože je nikdo už nikdy nezalepí. A protože takový web dál běží, funguje a vypadá navenek stejně jako předtím, majitel často roky netuší, že se z něj tiše stal jeden z nejsnazších cílů v okolí.

Na co si dát pozor

  • Ve zdrojovém kódu stránky (klávesa Ctrl+U v prohlížeči) se objevuje značka „generator“ s přesnou verzí redakčního systému.
  • Adresy souborů pluginů a šablon obsahují v URL číslo verze (např. …?ver=4.2.1).
  • Přihlašovací stránka administrace webu je volně dostupná na standardní adrese bez jakékoli ochrany.
  • Web běží na hostingu, který nabízí jen starší, dobíhající verze PHP.
  • Na webu jsou aktivní pluginy nebo doplňky, které se roky neaktualizovaly nebo je autor přestal vyvíjet.
  • Nikdo ve firmě přesně neví, kdo a jak často aktualizace webu vlastně řeší.

Co s tím

Žádný z těchto kroků nevyžaduje vlastní IT oddělení ani velký rozpočet – většinu zvládne správce webu nebo hosting během pár desítek minut, pokud ví, kde přesně hledat.

  • Aktualizujte pravidelně. Redakční systém, šablonu i všechny pluginy – ideálně automaticky nebo podle pevného měsíčního plánu, ne „až bude čas“.
  • Hlídejte konec podpory. U PHP i u CMS má každá verze daný termín, kdy přestanou chodit bezpečnostní záplaty. Před tímto datem je potřeba přejít na novější verzi.
  • Odstraňte, co nepoužíváte. Neaktivní pluginy, staré šablony nebo zapomenuté doplňkové skripty jsou zbytečné riziko – smažte je, i když je zrovna nemáte zapnuté.
  • Omezte, co web zbytečně prozrazuje. Skrytí čísla verze v kódu stránky útočníkovi práci neznemožní, ale výrazně mu ji ztíží a odradí to automatizované roboty hledající snadné cíle.
  • Nechte si web pravidelně zkontrolovat zvenčí. Podobně jako auto potřebuje STK, i web potřebuje občasnou nezávislou kontrolu – jestli něco neprozrazuje víc, než by mělo, a jestli něco není za hranou podpory.

Revize WebRevize přesně tohle dělá – pasivně, jen z veřejně dostupných informací, bez jakéhokoli zásahu do vašeho webu. Podíváme se, jaké verze softwaru web prozrazuje, jestli něco z toho už není bez podpory, a pošleme vám srozumitelný přehled, co stojí za opravu.

Projde váš web technickou kontrolou?

Zjistěte zdarma, jestli váš web netrpí některým z problémů z tohoto článku. Uděláme mu revizi bezpečnosti, rychlosti i viditelnosti a pošleme přehledný report — bez závazků.

Chci revizi webu zdarma →

Zdroje: Zdroják – 97 % zranitelností WordPressu je v pluginech a šablonách, Technický týdeník – zastaralý software má 94 % webů, Active24 – proč nepoužívat staré verze PHP, Bezpečný kód – zranitelné a zastaralé komponenty (OWASP)


Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *