Tvoje webová brána je otevřená. A ty to možná nevíš

Bezpečnost webu nezačíná u hesla, ale u útočného povrchu

V praxi se nejčastěji neselhává kvůli „hackerskému zázraku“, ale kvůli kombinaci drobných slabin: zastaralý plugin, veřejně přístupný administrátorský endpoint, chybně nastavená práva souborů nebo slabě zabezpečený hosting. Útočník nepotřebuje prolomit celý web, stačí mu najít jednu otevřenou cestu dovnitř. Podle dlouhodobých statistik bezpečnostních firem patří mezi nejčastější cíle automatizovaných útoků právě WordPress instalace, protože jsou masivně rozšířené a často špatně udržované.

Pokud chcete zjistit, jak široká je vaše „brána“, začněte jednoduchým auditem: jaké máte veřejné URL adresy, jaké pluginy a šablony používáte, zda je dostupné /wp-admin, /xmlrpc.php, login formuláře, staging subdomény, staré zálohy nebo testovací soubory. Každá z těchto věcí může být vstupní bod. Nástroje jako WPScan, WhatWeb nebo BuiltWith vám rychle ukážou technologický profil webu a často i zranitelné komponenty.

Nejčastější slabiny, které otevírají web bez povšimnutí

Pokud bych měl vybrat pět nejčastějších problémů z praxe, vypadají takto:

  • Zastaralý CMS, pluginy nebo šablona – i několik měsíců stará verze může obsahovat známou zranitelnost.
  • Přílišná práva v souborovém systému – například 777 u adresářů je skoro vždy špatně.
  • Slabé nebo opakovaně používané přihlašovací údaje – zejména u administrátorů a FTP účtů.
  • Veřejně dostupné zálohy a testovací prostředí – backup.zip, old/, dev/ nebo staging bez ochrany.
  • Chybně nastavený hosting nebo server – otevřené porty, slabé TLS, chybějící izolace účtů.

Typický scénář: web běží na WordPressu, majitel používá 18 pluginů, z nichž 4 nebyly aktualizované déle než rok. Z nich jeden má veřejně známou zranitelnost pro vzdálené spuštění kódu. Útočník automatizovaným skenerem najde verzi, pošle exploit a během minut může měnit obsah, přesměrovávat návštěvníky nebo vkládat spamové odkazy. To už není teorie — podobné útoky se dějí ve velkém měřítku každý den.

Praktická rada: udržujte počet pluginů na minimu. Každý další modul je další kus kódu, který musíte aktualizovat, testovat a hlídat. V běžném firemním webu často stačí 10–15 kvalitních pluginů, ne 30 různých doplňků s překryvem funkcí.

Rychlý bezpečnostní audit: co zkontrolovat během 30 minut

Nemusíte být pentester, abyste odhalili základní rizika. Stačí systematický postup. Začněte na úrovni účtů a přístupů: zkontrolujte, kdo má administrátorská práva, zda existují neaktivní účty a jestli někdo nepoužívá stejný login na více systémech. Zapněte 2FA pro administraci, FTP, hosting i e-mail. E-mail je kritický, protože reset hesla často vede právě přes něj.

Další krok je technický:

  • ověřte, že web běží na HTTPS a TLS certifikát je platný;
  • zjistěte, zda je aktivní WAF nebo bezpečnostní firewall;
  • projděte logy přihlášení a neúspěšné pokusy;
  • zkontrolujte, zda nejsou veřejně dostupné citlivé soubory jako .env, wp-config.php.bak, phpinfo.php nebo exporty databází;
  • otestujte, zda sitemap, robots.txt a veřejné adresáře neprozrazují interní strukturu webu.

Pro WordPress je velmi užitečný Wordfence nebo iThemes Security, pro serverovou úroveň pak monitoring přes UptimeRobot, Pingdom nebo Better Stack. Pokud máte přístup k serveru, sledujte i integritu souborů. Podezřelá změna v functions.php, .htaccess nebo v kořenovém indexu často znamená injektovaný malware.

U větších projektů se vyplatí pravidelný scan přes OWASP ZAP nebo profesionální penetrační test. Zkušený test odhalí nejen známé chyby, ale i logické slabiny: obejití formulářových kontrol, špatně zabezpečené API nebo chyby v oprávněních uživatelů.

Co má být nastavené automaticky, ne „až bude čas“

Bezpečnost webu není jednorázová akce. Musí fungovat jako proces. Nejvíce se osvědčuje několik automatických vrstev ochrany:

  • Automatické aktualizace pro core systém, bezpečnostní záplaty a kritické pluginy.
  • Denní zálohy s retencí alespoň 14–30 dní a uložením mimo hlavní hosting.
  • Limitování pokusů o přihlášení a ochrana proti brute-force útokům.
  • Monitoring změn souborů a upozornění na nečekané úpravy.
  • Oddělené přístupy pro administraci, hosting, databázi a e-mail.

U záloh je důležitý detail: záloha, kterou neumíte rychle obnovit, je prakticky k ničemu. Ověřte si obnovu alespoň jednou za kvartál. Mnoho firem zjistí při incidentu, že backup existuje, ale je poškozený, neúplný nebo chybí databáze. Ideální je mít kombinaci lokální zálohy, off-site kopie a možnost obnovy na staging.

Na hostingu sledujte, zda máte izolaci účtů, pravidelné záplaty PHP a webserveru, možnost změny verzí PHP a přístup k logům. Levný hosting bez izolace může znamenat, že kompromitace jednoho webu ohrozí i další projekty na stejném serveru. To je v malých firmách častý, ale podceňovaný problém.

SEO dopad bezpečnosti: proč kompromitovaný web ztrácí viditelnost

Bezpečnost není jen IT téma. Má přímý dopad na SEO, důvěru i konverze. Jakmile Google detekuje malware, phishing nebo podezřelé přesměrování, může zobrazit varování v SERPu, snížit důvěryhodnost domény nebo ji dočasně vyřadit z výsledků. V praxi to znamená propad organické návštěvnosti, ztrátu leadů a často i reputační škodu, která trvá déle než samotné odstranění závady.

Google Search Console umí upozornit na bezpečnostní problémy a ruční zásahy. Vyplatí se kontrolovat i sekci Bezpečnostní problémy a Ruční akce. Pokud se na webu objeví spamový obsah, skryté odkazy nebo doorway stránky, bývá to signál, že byl narušen obsahový systém. U e-commerce je navíc riziko přesměrování platební brány nebo vložení škodlivého JavaScriptu do košíku, což okamžitě snižuje důvěru zákazníků.

Bezpečný web má i nepřímý SEO přínos: stabilní dostupnost, nižší riziko výpadků a lepší uživatelskou zkušenost. Když web není zahlcený malwarem, nebývá ani pomalý kvůli zbytečným skriptům a přesměrováním. To se pozitivně promítá do Core Web Vitals, zejména do LCP a INP.

Jak si nastavit dlouhodobou ochranu bez zbytečné složitosti

Nejúčinnější bezpečnostní model je ten, který se dá dlouhodobě udržet. Pro menší a střední web doporučuji jednoduchý rámec: jednou týdně kontrola aktualizací a logů, jednou měsíčně bezpečnostní scan, jednou za čtvrtletí obnova zálohy na testovacím prostředí a jednou ročně externí audit. Tohle není přehnané — je to minimum, které významně snižuje riziko průšvihu.

Pokud chcete jít dál, přidejte:

  • Content Security Policy pro omezení škodlivých skriptů;
  • HTTP bezpečnostní hlavičky jako HSTS, X-Frame-Options a X-Content-Type-Options;
  • omezení přístupu do administrace podle IP, pokud to provoz umožňuje;
  • oddělení produkce a testovacího prostředí;
  • pravidelnou kontrolu DNS a doménového registrátora, protože útok nemusí mířit jen na web, ale i na přesměrování domény.

V momentě, kdy máte tyto vrstvy zavedené, přestává být web „otevřenou bránou“ a stává se kontrolovaným systémem. Neznamená to absolutní imunitu, ale dramaticky to zvyšuje náklady útoku a zmenšuje pravděpodobnost, že si vás vybere automatizovaný skript nebo méně sofistikovaný útočník. A právě to je v běžné praxi rozhodující rozdíl.