1. Zastaralý systém a pluginy: nejčastější vstupní brána
Nejvíc kompromitovaných webů nepadá kvůli „sofistikovanému hacku“, ale kvůli zanedbaným aktualizacím. U WordPressu, který pohání velkou část webů na trhu, jsou pravidelně zveřejňovány zranitelnosti v jádru, pluginech i šablonách. Útočníci sledují veřejné databáze jako WPScan Vulnerability Database, CVE nebo NVD a automatizovaně skenují weby, zda běží na verzích s dírou.
Praktický problém je jednoduchý: i bezpečnostní aktualizace s kritickou opravou bývá dostupná dny až týdny, ale botnety útočí během hodin. Pokud máte na webu 20 pluginů a používáte jen 8 z nich aktivně, zbylých 12 je zbytečné riziko. Každý neudržovaný doplněk je potenciální vstupní bod.
- Co dělat: aktualizovat CMS, pluginy, šablony a PHP pravidelně, ideálně s testem na stagingu.
- Co sledovat: changelog pluginů, bezpečnostní bulletiny, automatické notifikace z Wordfence nebo Patchstack.
- Co odstranit: nepoužívané pluginy, staré šablony, demo data a neaktivní účty.
Reálně se vyplatí nastavit měsíční audit rozšíření: seznam aktivních pluginů, datum poslední aktualizace, počet instalací a reputaci autora. U pluginu s tisíci instalacemi a nulovým vývojem je riziko výrazně vyšší než u aktivně spravovaného řešení.
2. Slabá autentizace: hesla, která útočník uhodne za minuty
Podle dlouhodobých bezpečnostních reportů patří kompromitovaná hesla a credential stuffing mezi nejběžnější vektory útoku. V praxi to znamená, že útočník nepřekonává zabezpečení „silou“, ale testuje už dříve uniklé kombinace e-mailů a hesel. Pokud administrátor používá stejné heslo pro web, e-mail a hosting, je problém otázkou času.
U webové administrace by dnes mělo být minimum dvoufázové ověření (2FA), silná hesla a omezení pokusů o přihlášení. U WordPressu se osvědčují pluginy jako Wordfence, iThemes Security nebo Limit Login Attempts Reloaded. Pro firemní prostředí je lepší použít centrální správu identit a přístupů než sdílené admin účty.
- Zakázat obecné účty typu admin, webmaster, test.
- Používat unikátní hesla a password manager, například 1Password, Bitwarden nebo Dashlane.
- Zapnout 2FA pro administrátory, hosting i e-mailové schránky.
- Omezit počet administrátorů na skutečné minimum.
Praktický test: projděte seznam uživatelů a u každého si položte otázku, zda daný přístup opravdu potřebuje plná práva. Ve většině projektů lze 30 až 50 % přístupů bezpečně snížit.
3. Hosting a server: bezpečnost začíná pod webem
Mnoho firem řeší jen obsah a pluginy, ale skutečný základ bezpečnosti je hostingová infrastruktura. Slabě nastavený server, sdílené prostředí bez izolace, staré verze PHP nebo špatně nakonfigurované oprávnění souborů mohou otevřít cestu k celé instalaci. Pokud běží web na neudržovaném hostingu, nepomůže ani perfektní SEO ani kvalitní obsah – web může být offline, přesměrovaný nebo zneužitý k rozesílání spamu.
Důležité je ověřit, zda hosting podporuje aktuální verze PHP, má oddělené účty, WAF a monitoring. U kvalitních providerů je dnes standardem izolace účtů, denní zálohy, ochrana proti brute-force útokům a možnost obnovy jedním klikem. Z pohledu bezpečnosti je rozdíl mezi levným sdíleným hostingem a spravovanou platformou často zásadní.
- Kontrolujte: verzi PHP, podporu HTTPS, izolaci účtů a přístupová práva k souborům.
- Požadujte: denní zálohy, logy přístupů, možnost obnovy a anti-malware skenování.
- Nastavte: práva souborů typicky 644 pro soubory a 755 pro adresáře, pokud je to pro dané řešení vhodné.
U kritických webů je dobré mít i nezávislou zálohu mimo hosting. Praktické pravidlo je 3-2-1: tři kopie dat, na dvou různých médiích, jedna mimo hlavní infrastrukturu.
4. Zbytečně otevřené plochy: formuláře, API a uploady
Velká část útoků nejde přes „admina“, ale přes veřejné funkce webu. Kontaktní formuláře, nahrávání souborů, JSON API, komentáře nebo integrace třetích stran bývají podceňované. Pokud formulář neomezuje typ a velikost souboru, může útočník zkusit nahrát škodlivý skript. Pokud API vrací příliš mnoho dat, může pomoci s mapováním systému.
U e-shopů a webů s více integracemi je typickým problémem také zbytečně otevřený webhook nebo špatně zabezpečené napojení na CRM, platební bránu či mailing nástroj. Každé propojení je třeba ošetřit tokenem, logováním a pravidelnou kontrolou.
- Validujte všechny vstupy na straně serveru, ne jen v prohlížeči.
- Omezte typy uploadovaných souborů a přejmenovávejte je na serveru.
- Chraňte formuláře proti spamu a botům pomocí rate limiting, honeypotu nebo reCAPTCHA/Turnstile.
- Auditujte API endpointy a pravidelně testujte, co vracejí nepřihlášeným uživatelům.
Pro rychlou kontrolu je užitečný nástroj OWASP ZAP, který dokáže odhalit běžné slabiny ve formulářích a API. U větších projektů dává smysl i pravidelný penetrační test.
5. Chybějící monitoring: útok poznáte až ve chvíli, kdy je pozdě
Bez monitoringu je bezpečnost spíš pocit než systém. Mnoho webů je kompromitováno týdny a vlastník si toho všimne až ve chvíli, kdy Google začne varovat uživatele, e-mailová doručitelnost spadne nebo v Search Console přibudou podezřelé stránky. U SEO je to obzvlášť citlivé: napadený web může generovat spamové URL, přesměrování nebo skryté odkazy, které poškodí indexaci i důvěryhodnost.
Praktický monitoring by měl zahrnovat změny souborů, změny v databázi, dostupnost webu, bezpečnostní logy a upozornění na neobvyklé přihlášení. U WordPressu pomáhá například Wordfence, Sucuri nebo serverové monitorovací nástroje typu UptimeRobot, Better Stack a Datadog. Pro větší weby je vhodné napojit alerty do Slacku nebo e-mailu.
- Hlídajte změny v systémových souborech a šablonách.
- Sledujte přihlášení z nových zemí, IP adres a neobvyklých časů.
- Kontrolujte Search Console kvůli bezpečnostním problémům a ručním zásahům.
- Testujte pravidelně obnovu ze zálohy, ne jen existenci zálohy.
Důležitý detail: záloha bez otestované obnovy je jen naděje, ne pojistka. V praxi bývá problém spíš v tom, že záloha je poškozená, nekompletní nebo se neobnoví kvůli chybě verze databáze.
6. Lidský faktor a procesy: bezpečnost není jen technická otázka
Největší slabinou bývá často proces, ne software. Kdo má přístup k hostingu, kdo schvaluje pluginy, kdo hlídá změny na webu a co se děje při odchodu zaměstnance? Bez jasných pravidel se bezpečnost rozpadá na improvizaci. Útočník nepotřebuje porazit celý systém, stačí mu přesvědčit někoho z týmu, aby otevřel škodlivou přílohu, klikl na falešný odkaz nebo sdílel přístup.
U menších firem stačí jednoduchý bezpečnostní režim: seznam přístupů, pravidelné revize, oddělené role a povinné 2FA. U větších týmů je vhodné zavést interní pravidla pro změny na webu, správu hesel, schvalování pluginů a reakci na incident. Každý měsíc by měl někdo projít logy, aktualizace a stav záloh.
- Onboarding/offboarding: při nástupu i odchodu zaměstnance změnit přístupy a zkontrolovat sdílené účty.
- Schvalování změn: žádný plugin ani integrace bez ověření zdroje a přínosu.
- Incident plán: kdo vypne web, kdo komunikuje s hostingem, kdo obnovuje zálohu.
Bezpečnost webu není jednorázová instalace pluginu, ale opakovatelný proces. Kdo má jasné role, pravidelné audity a základní monitoring, výrazně snižuje pravděpodobnost útoku i rozsah škod.
