Proč se weby nehackují „ručně“, ale přes slabiny
Bezpečnost webu už dávno není jen o silném hesle. Automatizované skripty a botnety neustále procházejí internet, hledají známé zranitelnosti ve WordPressu, pluginech, CMS, formulářích nebo API a zkouší je zneužít dřív, než si někdo všimne problému. Podle reportů bezpečnostních firem tvoří velkou část incidentů útoky na známé a již veřejně popsané slabiny, ne na „nulové dny“.
Prakticky to znamená jediné: pokud je váš web pomalý v aktualizacích, má otevřená zbytečná rozhraní nebo běží na špatně nastaveném hostingu, útočník nemusí lámat hesla. Stačí mu najít díru. Nejčastější scénáře jsou přitom velmi prozaické:
- zastaralý WordPress core, plugin nebo šablona,
- slabá hesla a chybějící dvoufaktorové ověření,
- příliš široká práva uživatelů v administraci,
- nezabezpečené formuláře a uploady souborů,
- chybně nastavený server, PHP verze nebo přístup přes FTP místo SFTP,
- absence WAF, rate limitu a monitoringu změn.
Nejslabší místo bývá tam, kde se web „jen udržuje“
U menších firem bývá bezpečnost často řešená až ve chvíli, kdy se něco stane. Jenže útok na web obvykle nebývá vidět okamžitě. Typické příznaky jsou pomalý web, přesměrování na cizí doménu, neznámé soubory v rootu, nové admin účty nebo výpadky e-mailů z formulářů. V SEO praxi je to navíc dvojitý problém: napadený web může být vyřazen z výsledků vyhledávání, označen jako nebezpečný v Chrome/Google Safe Browsing nebo začít generovat spamové stránky, které poškodí indexaci.
V případě WordPressu je kritické sledovat tři vrstvy: jádro, pluginy a šablonu. Statistika z praxe bezpečnostních týmů opakovaně ukazuje, že většina problémů nevzniká v jádru systému, ale v doplňcích třetích stran. Čím více pluginů, tím větší útočná plocha. Pokud jich máte dvacet a používáte jen osm, zbytek je riziko bez přínosu.
Jak si udělat rychlý audit během jedné hodiny:
- zapište si všechny pluginy a smažte nepoužívané,
- zkontrolujte datum poslední aktualizace a kompatibilitu s verzí PHP,
- ověřte, kdo má administrátorský přístup,
- projděte logy přihlášení a změn souborů,
- otestujte obnovu zálohy na stagingu, ne jen existenci zálohy.
Co nastavit hned: minimum, které výrazně sníží riziko
Nejde o to mít „dokonalý bezpečnostní stack“. Jde o to zavést několik kroků, které dramaticky sníží pravděpodobnost úspěšného útoku. Pokud spravujete menší až střední web, začněte tímto pořadím:
1. Aktualizace jako proces, ne jako náhoda
Aktualizujte CMS, pluginy, šablony i PHP pravidelně. U WordPressu je rozumné mít alespoň měsíční kontrolu, u kritických webů ideálně týdenní. Po každé větší aktualizaci testujte hlavní funkce: formuláře, košík, přihlášení, platby, vyhledávání a mobilní zobrazení.
2. Dvoufaktorové ověření a správná práva
Zapněte 2FA pro administrátory, editory i hosting. Uživatelům dávejte jen potřebná oprávnění. Redaktor nepotřebuje instalovat pluginy, marketingový specialista nepotřebuje přístup do serverových nastavení.
3. Zálohy 3-2-1
Pravidlo 3-2-1 znamená tři kopie dat, na dvou různých typech úložiště, jedna mimo hlavní server. U webu to prakticky znamená: hostingová záloha, externí záloha mimo hosting a ideálně ještě snapshot před nasazením změn. A hlavně: jednou za čas obnovu otestujte. Záloha, kterou nelze obnovit, je jen pocit bezpečí.
4. WAF a rate limiting
Web Application Firewall umí blokovat známé útoky, brute-force pokusy i podezřelé požadavky. U WordPressu se často používá Cloudflare, Sucuri nebo Wordfence. Rate limiting pak zabrání tisícům pokusů o přihlášení za minutu. To je důležité zejména u administrace, XML-RPC a kontaktních formulářů.
5. Přístup přes HTTPS, SFTP a omezení wp-admin
SSL je dnes základ, ale nestačí. Přístup na server řešte přes SFTP/SSH, ne klasické FTP. Administraci můžete navíc omezit na konkrétní IP adresy, pokud to provoz dovolí, nebo alespoň chránit další vrstvou autentizace.
Nástroje, které dávají smysl v praxi
Bezpečnost webu není jen o pocitu, ale o měřitelných kontrolách. Pro běžný audit i průběžný dohled se osvědčují konkrétní nástroje:
- Google Search Console – sledujte bezpečnostní problémy, ruční zásahy a pokles indexace.
- Google Safe Browsing – rychlá kontrola, zda není web označen jako nebezpečný.
- Wordfence / Sucuri / iThemes Security – ochrana WordPressu, logy, firewall, skenování souborů.
- Cloudflare – WAF, bot protection, rate limiting, cache a ochrana proti DDoS.
- UptimeRobot / Better Stack – monitoring dostupnosti a upozornění na výpadky.
- WPScan – technický skener známých zranitelností ve WordPress ekosystému.
Pro vývojáře má smysl i kontrola závislostí v repozitáři, skenování balíčků a bezpečnostní audit CI/CD. U Next.js nebo headless řešení nezapomínejte na API klíče, environment variables a správnou konfiguraci access tokenů. Únik přes front-endové repository nebo veřejně dostupný .env soubor bývá stejně škodlivý jako exploit pluginu.
Jak poznáte, že je web už pod útokem
Často se čeká na „jasný důkaz“, ale bezpečnostní incident se hlásí i podle drobných signálů. Pokud se objeví neobvyklé přesměrování, nové stránky v indexu, nárůst spamových odkazů, podivné přihlašovací pokusy nebo změny v souborech bez vašeho zásahu, je potřeba jednat okamžitě. U e-shopů a lead-gen webů sledujte i to, zda náhle neroste počet odeslaných formulářů z jedné IP nebo z cizích zemí.
Krátký reakční plán pro první hodinu po podezření:
- odpojte web od veřejné administrace, pokud je to možné,
- změňte hesla adminů, hostingu, FTP/SFTP, databáze a e-mailů,
- zálohujte aktuální stav pro forenzní analýzu,
- proveďte kontrolu souborů a databáze na podezřelé injekce,
- obnovte poslední čistou zálohu, pokud je to bezpečnější než ruční oprava.
U napadeného webu je důležité myslet i na SEO dopady. Pokud Google zachytí malware nebo spam, může omezit zobrazení výsledků, přidat varování v SERPu nebo dočasně vyřadit části webu z indexu. Proto je po očištění nutné znovu projít Search Console, odeslat kontrolu problému a sledovat, zda se nevrací podezřelé URL.
Bezpečnost jako součást provozu, ne jako jednorázová oprava
Nejlepší ochrana webu není jeden plugin ani jednorázový audit. Je to systém: pravidelné aktualizace, omezená práva, kvalitní hosting, monitoring, zálohy a jasný krizový postup. Pro menší firmy stačí jednoduchý bezpečnostní checklist, který se projde jednou měsíčně. Pro e-shopy a weby s vyšší návštěvností už má smysl mít i odpovědnou osobu nebo externí správu, která hlídá patch management, logy a reakci na incidenty.
Když se bezpečnost zanedbá, škody nebývají jen technické. Přichází ztráta dat, výpadky prodeje, poškození důvěry a často i propad organické návštěvnosti. Naopak web, který je dobře zabezpečený, má menší riziko výpadků, lepší stabilitu pro SEO a méně času stráveného „hašením“ problémů. A právě to je rozdíl mezi webem, který funguje, a webem, který se stává snadným cílem.
