Proč malé a střední weby útočníky zajímají víc, než si myslíte
V praxi neplatí, že hackeři cílí hlavně na slavné značky. Častěji automatizovaně procházejí internet a vyhledávají slabě zabezpečené weby bez ohledu na velikost. Pro ně je rozhodující rychlost a snadnost průniku, ne prestiž oběti. Když má web zastaralý plugin, slabé heslo nebo chybně nastavený hosting, je to pro útok ideální vstupní bod.
Podle různých bezpečnostních reportů se většina útoků na CMS weby děje přes známé, už publikované zranitelnosti. To znamená, že útočník často nemusí nic „lámát“ – stačí mu, že provozovatel přehlédl aktualizaci o několik týdnů. U WordPressu je situace obzvlášť citlivá, protože právě popularita této platformy z ní dělá častý cíl automatizovaných botů.
První chyba bývá psychologická: „Náš web je malý, nikoho nezajímá.“ Ve skutečnosti se útočníci velmi často snaží zneužít web jako odrazový můstek dál – pro rozesílání spamu, vložení škodlivého kódu, přesměrování návštěvníků nebo krádež přístupů. I menší web tak může způsobit reputační i finanční škody.
Nejčastější mezery, které hackeři zneužívají
Pokud bych měl vybrat několik nejrizikovějších míst, která vídám v auditech opakovaně, jsou to tato:
- Slabá hesla a žádná dvoufázová autentizace – stále běžné u administrace WordPressu, e-mailu i hostingu.
- Zastaralé pluginy a šablony – i jeden neudržovaný doplněk může otevřít cestu k celému webu.
- Špatně nastavené role uživatelů – například editor nebo klient má více práv, než potřebuje.
- Neomezené pokusy o přihlášení – boty zkouší tisíce kombinací denně.
- Nezabezpečené formuláře – spam, injekce skriptů, zneužití uploadu souborů.
- Slabá konfigurace hostingu – zastaralé PHP, chybějící izolace účtů, nekvalitní zálohy.
U WordPress webů je typický scénář velmi konkrétní: provozovatel má aktuální jádro, ale zapomene na plugin pro formuláře, SEO nebo page builder. Útočník využije známou chybu v doplňku, nahraje škodlivý soubor nebo si otevře administrátorský účet. Zvenku přitom web vypadá normálně ještě několik dní.
Další častý problém je sdílený přístup bez kontroly. Když má k administraci přístup agentura, freelancer, externí vývojář a bývalý zaměstnanec, riziko roste geometricky. Každý neaktivní účet je potenciální vstupní brána.
Co zkontrolovat hned dnes: rychlý bezpečnostní audit bez výmluv
Nemusíte začínat drahým penetračním testem. Už během jedné hodiny lze odhalit většinu kritických slabin. Doporučuji tento postup:
- Ověřte aktualizace – CMS, pluginy, šablona, serverové balíčky, PHP verze.
- Zkontrolujte přístupy – kdo má administrátora, kdo má FTP/SFTP, kdo má přístup do hostingu.
- Zapněte 2FA – pro administraci webu, hosting i e-mail.
- Projděte logy – opakované neúspěšné přihlášení, neznámé IP adresy, podezřelé změny souborů.
- Otestujte zálohu – nejde jen o to, že existuje, ale že ji skutečně umíte obnovit.
- Zkontrolujte formuláře a uploady – zda neumožňují nahrát nebezpečné typy souborů.
Pro rychlou kontrolu webu jsou užitečné nástroje jako WPScan pro WordPress, Security Headers pro hlavičky, SSL Labs pro SSL konfiguraci a Google Search Console pro upozornění na malware nebo hacknutý obsah. Když provozujete vlastní server nebo VPS, vyplatí se i základní monitoring souborových změn pomocí nástrojů typu Wazuh nebo alespoň pravidelné porovnávání checksumů.
U menších webů často pomůže i jednoduché pravidlo: vše, co nepotřebujete, smažte. Každý neaktivní plugin, stará šablona nebo testovací subdoména je zbytečné riziko. Bezpečnost není jen o přidávání nástrojů, ale i o redukci plochy útoku.
WordPress, formuláře a přihlašování: kde bývá největší průšvih
WordPress sám o sobě není nebezpečný. Problém vzniká kombinací popularity, pluginového ekosystému a špatné správy. Statistiky bezpečnostních firem dlouhodobě ukazují, že nejvíce zranitelností vzniká v pluginech a šablonách, ne v jádru systému. To znamená jediné: pokud na webu používáte deset doplňků, máte deset potenciálních slabin navíc.
Velmi praktický krok je omezit přihlašovací pokusy a chránit administraci. Nasazení dvoufázového ověření přes plugin typu Wordfence, iThemes Security nebo přes externí autentizátor výrazně snižuje riziko útoku hrubou silou. U citlivějších projektů doporučuji také změnit výchozí URL administrace, přidat IP whitelist nebo alespoň Basic Auth na serverové úrovni.
Formuláře bývají podceňované. Pokud přes ně chodí poptávky, registrace nebo objednávky, musí být chráněné proti spamu i zneužití. Používejte serverovou validaci, rate limiting, honeypot pole a u kritických formulářů i reCAPTCHA nebo hCaptcha. U nahrávání souborů kontrolujte typ, velikost i skutečný obsah souboru, ne jen příponu.
U e-shopů je důležitá ještě jedna věc: audit log. Když někdo změní cenu, slevu, bankovní účet nebo nastavení dopravy, musíte vědět kdo a kdy to udělal. Bez logů je zpětné vyšetření incidentu velmi obtížné.
Technická ochrana, která má skutečný dopad
Bezpečnost webu se často popisuje jako soubor „doporučení“, ale některé kroky mají jasně vyšší návratnost než jiné. Pokud máte omezený čas nebo rozpočet, zaměřte se na tyto oblasti:
- SSL/TLS – povinné HTTPS, moderní protokoly, správné přesměrování z HTTP na HTTPS.
- HTTP security headers – zejména
Content-Security-Policy,X-Frame-Options,X-Content-Type-OptionsaReferrer-Policy. - Pravidelné zálohy – ideálně denní inkrementální a alespoň jedna offline kopie mimo hlavní hosting.
- Izolace prostředí – oddělený staging, omezené přístupy, samostatné účty pro web, databázi a e-mail.
- Aktualizace serveru – staré PHP nebo neudržovaný webserver jsou zbytečné riziko.
Content Security Policy je skvělý příklad ochrany, která zároveň pomáhá odhalit problémy. Když je správně nastavená, omezí načítání skriptů jen na důvěryhodné zdroje a zkomplikuje vložení škodlivého kódu. Není to univerzální štít, ale výrazně zvyšuje odolnost proti XSS útokům a injekcím třetích stran.
Stejně důležitý je hosting. Kvalitní poskytovatel má oddělené účty, monitoring, WAF, automatické zálohy a rychlou reakci na incident. Levný hosting bez podpory je často slabým článkem celé bezpečnostní řetězce. Pokud web vydělává peníze nebo sbírá osobní údaje, je rozdíl mezi „levně“ a „bezpečně“ zásadní.
Jak nastavit dlouhodobou obranu, která nepřetíží tým
Bezpečnost nefunguje jako jednorázová oprava. Musí být součástí provozního procesu. Nejlepší výsledky vidím tam, kde má firma jednoduchý bezpečnostní režim: měsíční kontrolu aktualizací, čtvrtletní audit přístupů, test obnovy zálohy a monitoring změn v souborech i přihlášeních.
Pro menší tým doporučuji tento minimální režim:
- 1× týdně kontrola aktualizací CMS, pluginů a šablon.
- 1× měsíčně kontrola uživatelských účtů a oprávnění.
- 1× měsíčně test obnovy zálohy na stagingu.
- Trvalý monitoring bezpečnostních upozornění přes e-mail nebo Slack.
- Po každé změně webu kontrola, zda nevznikly nové veřejné přístupy, testovací subdomény nebo dočasné soubory.
Velmi praktická je i spolupráce mezi marketingem, vývojem a správou webu. Marketing často přidává nové formuláře, skripty, analytiky a chatboty, které mohou zvyšovat riziko. Vývoj zase někdy nasazuje funkce bez bezpečnostního review. Pokud si nastavíte jednoduchý proces schvalování změn, výrazně snížíte pravděpodobnost, že se na web dostane zranitelný prvek.
U projektů s vyšší citlivostí doporučuji jednou ročně externí bezpečnostní audit. Ne proto, že by interní tým neodvedl dobrou práci, ale protože externí pohled často odhalí přesně ty mezery, které lidé uvnitř systému přehlížejí. A právě na tyto mezery útočníci čekají nejraději.
