Itnetic logo Itnetic Technologies
PlatformaLogySíťCeník
Přihlásit seZačít zdarma
PlatformaLogySíťCeník
Přihlásit seZačít zdarma

Průvodce · WordPress

Jak chránit WordPress před DDoS útoky.

Jedna stránka WordPressu vás stojí dotaz do databáze a PHP workera. Útočníka stojí jeden HTTP požadavek. Právě tahle asymetrie — ne přenosové pásmo — shazuje weby na WordPressu.

Aktualizováno 28. července 2026 · Tým Itnetic — odborná kontrola: Petr Chlíbek, zakladatel

Klíčové body

  • Weby na WordPressu padají při objemech hluboko pod „skutečným" DDoS útokem, protože PHP workeři dojdou dávno před přenosovým pásmem.
  • Útočník váš web nemusí zkoumat: xmlrpc.php, wp-login.php, wp-cron.php, admin-ajax.php i vyhledávání ?s= jsou v každé instalaci na stejném místě.
  • Bezpečnostní plugin záplavu nezastaví — spustí se až ve chvíli, kdy už jste na blokovaný požadavek vydali PHP workera.
  • Drží kombinace plného cachování stránek na edge a brány před dynamickými cestami; TTL 60 sekund promění tisíce požadavků za sekundu v jediný dotaz na origin.

Proč WordPress přitahuje DDoS útoky

WordPress pohání velkou část webu a právě tahle popularita je problém: útočník váš web nikdy nemusí zkoumat. Každá instalace má stejné rozložení souborů, stejnou přihlašovací URL, stejný REST jmenný prostor i stejné drahé endpointy. Jeden skript napsaný proti WordPressu funguje na miliony cílů — včetně vašeho.

Druhým důvodem je cena jednoho požadavku. Statický soubor se přečte z paměti a je hotovo výrazně pod jednou milisekundou. Necachovaná stránka WordPressu znamená PHP workera, bootstrap WordPressu, kód šablony a pluginů a několik databázových dotazů — často 200–600 ms práce. Útočník vydá jeden levný HTTP požadavek, vy tisícinásobek. To je nákladová asymetrie za každým útokem na vrstvě 7 a WordPress ji útočníkům dává rovnou z krabice.

Třetí důvod je to, co ve skutečnosti dojde. Weby na WordPressu skoro nikdy neumírají na vyčerpané pásmo. Umírají proto, že je plně obsazený pool workerů PHP-FPM — typicky někde mezi 5 a 50 procesy — takže každý další návštěvník stojí ve frontě za záplavou a nakonec dostane 502 nebo 504. Stačí pár set požadavků za sekundu na necachovatelnou cestu. K výpadku nepotřebujete útok z titulků novin, stačí znuděný člověk se skriptem.

Endpointy, na které útočníci skutečně míří

EndpointProč je to cílNejlevnější obrana
/xmlrpc.phpZneužití pingbacků a brute force — jeden požadavek unese mnoho pokusů o přihlášeníZablokovat na edge, pokud ho opravdu nepoužíváte
/wp-login.php, /wp-admin/Credential stuffing; nikdy se necachuje a každý zásah nabootuje WordPressRate limit a výzva, omezení podle země nebo IP
/wp-cron.phpSpouští naplánované úlohy na požádání — útočník vám může pustit cron tisíckrát za sekunduVypnout WP-Cron a volat ho ze systémového cronu
/?s=…Fulltextové vyhledávání: zatěžuje databázi, necachuje se a má nekonečno variantRate limit, krátké TTL cache, odmítat nesmyslné dotazy
/wp-admin/admin-ajax.phpUniverzální endpoint, který používá každý plugin; vždy PHP, často bez autentizaceRate limit na klienta
/wp-json/wp/v2/users, /?author=1Výčet uživatelů, který nakrmí seznam pro brute forceOmezit nebo vypnout, pokud data o autorech nepublikujete
/?cokoliv=nahodneQuery stringy sestavené tak, aby každý požadavek minul cacheIgnorovat neznámé parametry v klíči cache
/cart, /checkout, ?add-to-cart=Cesty WooCommerce se z principu necachují a zapisují do databázeRate limit a nedostupný origin

Proč bezpečnostní plugin DDoS útok nezastaví

Bezpečnostní plugin pro WordPress žije uvnitř toho, co je pod útokem. Projděte si cestu požadavku: záplava dorazí na váš server, webový server přijme spojení, worker PHP-FPM ho převezme, WordPress nabootuje, načtou se pluginy — a teprve pak se plugin rozhodne požadavek zablokovat. To už jste utratili přesně ten zdroj, který se útočník snaží vyčerpat. Při pár tisících požadavcích za sekundu vás „zablokovat požadavek" stojí skoro totéž co „obsloužit požadavek".

Není to kritika pluginů, jen popis toho, kde sedí. Zamykání účtů po neúspěšných přihlášeních, skenování malwaru, kontrola integrity souborů i dvoufaktorové ověření mají skutečnou hodnotu — a ani jedno není obranou proti objemu. Totéž, byť mírněji, platí pro pravidla v .htaccess a firewally na úrovni serveru: blokovat v nginxu je mnohem levnější než v PHP, ale pořád to je vaše linka, vaše CPU a vaše tabulka spojení, které útok pohlcují.

Mitigace musí proběhnout dřív, než požadavek dorazí k PHP — a ideálně dřív, než vůbec dorazí na váš server. To je celý argument pro filtrování na edge, rozebraný v článku co je DDoS mitigace.

Krok 1 — Zavřete zesilovače, které WordPress přináší

  • XML-RPC. Pokud ho nepotřebujete pro vzdálené publikování nebo plugin, který ho stále vyžaduje, /xmlrpc.php rovnou zablokujte. Přijímá mnoho pokusů o autentizaci v jediném požadavku, což z něj dělá nejefektivnější plochu pro brute force na celé platformě.
  • WP-Cron. WordPress ve výchozím stavu kontroluje plán úloh při načtení stránky, takže se z útoku stane způsob, jak vám nepřetržitě spouštět cron. Dejte do wp-config.php define('DISABLE_WP_CRON', true); a volejte wp-cron.php ze skutečného systémového cronu každých pár minut.
  • Pingbacky a trackbacky. Vypněte je v Nastavení → Diskuse. Existují proto, aby cizí servery mohly nechat pracovat ten váš.
  • Výčet autorů. Pokud nepublikujete archivy autorů, zablokujte přesměrování ?author= a cestu wp-json/wp/v2/users. Výčet uživatelů je průzkumný krok, který teprve zefektivní následný útok na hesla.
  • Nepoužívané REST cesty. Headless nebo málo využívané REST API má být dostupné jen tam, kde ho skutečně potřebujete.

Oficiální průvodce zabezpečením WordPressu pokrývá zbytek základů — aktualizace, práva souborů, databázové uživatele s minimem oprávnění. Nic z toho záplavu nezastaví a všechno by mělo platit tak jako tak.

Krok 2 — Udělejte z běžného případu nulové náklady

Plné cachování stránek na edge je pro web na WordPressu nejúčinnější dostupná obrana proti DDoS, protože pro anonymní návštěvníky odstraní PHP z cesty požadavku úplně.

  • Cachujte HTML pro anonymní provoz a obcházejte cache, když je přítomná cookie wordpress_logged_in_ nebo cookie košíku WooCommerce. Přihlášení dostanou dynamické stránky, záplava ne.
  • Ignorujte neznámé query stringy v klíči cache, aby ?utm_source=… i ?x=8462 ukazovaly na tentýž objekt. Jinak vám parametry na obejití cache projdou rovnou do PHP.
  • Při chybě originu servírujte zastaralý obsah (stale-while-revalidate, stale-if-error). Když origin přece jen podlehne, návštěvníci dál vidí web, ne 502.
  • Statická aktiva cachujte agresivně s dlouhými TTL a otisky ve jménech souborů.

Ten výpočet stojí za to říct nahlas: s TTL 60 sekund na edge vyprodukuje záplava 5 000 požadavků za sekundu na vaši homepage jediný dotaz na origin za minutu. Všechno ostatní obslouží edge — a proto je CDN pancířem, ne jen nástrojem na rychlost.

Krok 3 — Postavte bránu před přihlášení a administraci

wp-login.php se nedá cachovat, míří na něj útoky nepřetržitě a každý zásah nabootuje celý stack. Dejte mu vlastní režim: přísný rate limit na klienta, výzvu pro anonymní klienty a — pokud se váš tým hlásí ze známých míst — omezení /wp-admin/ podle země nebo IP. Přidejte dvoufaktorové ověření a přestaňte používat účet jménem admin. Credential stuffing a záplava na vrstvě 7 jsou tentýž provozní vzorec s jiným cílem a stejná brána zvládne obojí.

Krok 4 — Omezte drahé dynamické cesty

Vyhledávání, AJAX a e-shopové endpointy jsou místa, kde malý objem požadavků nakoupí velké množství práce databáze.

  • Omezte /?s= na klienta a úspěšná vyhledávání krátce cachujte; prázdné a absurdně dlouhé dotazy rovnou odmítejte.
  • Omezte admin-ajax.php — právě tam kód pluginů, který jste nepsali, dělá neohraničenou práci.
  • Ve WooCommerce chraňte ?add-to-cart=, /cart a /checkout limity na klienta, ne cachováním — musí zůstat dynamické, takže je místo toho ohraničte.
  • Postavte před databázi objektovou cache (Redis nebo Memcached), aby opakované dotazy přestaly být opakovanou prací.

Krok 5 — Zajistěte, aby edge nešlo obejít

Nic z toho nepomůže, pokud je skutečná IP adresa vašeho serveru stále dostupná. Útočníci vytáhnou historii DNS, prohlédnou logy transparentnosti certifikátů a proklepnou neproxované subdomény jako mail. nebo cpanel. — a záplavu pošlou přímo mimo vaši filtrační vrstvu. Nastavte firewall originu tak, aby přijímal HTTP jen z vaší ochranné sítě. Celý postup najdete v článku jak skrýt IP adresu originu.

Krok 6 — Nadimenzujte origin na to, co přece jen projde

Nastavte max_children u PHP-FPM na to, co vaše RAM opravdu unese, ne na optimistické číslo — přetížení pak degraduje místo toho, aby server odešel do swapu. Přidejte v nginxu mírný limit_req jako pojistku. Omezte čas pomalých dotazů. Samy o sobě útok nepřežijí — rozhodují o tom, jestli ta část, která k vám dorazí, způsobí zpomalení, nebo pád.

Pokud tohle čtete proto, že je váš web právě teď dole, projděte nejdřív jak zastavit DDoS útok a k zabezpečení se vraťte potom.

Jak Itnetic chrání weby na WordPressu

Itnetic stojí před WordPressem jako reverzní proxy, kterou zapnete dvěma DNS záznamy — žádný plugin k instalaci, žádné zásahy do serveru a nic, co by se udržovalo uvnitř WordPressu, kde by vás požadavky útočníka už stály workera.

Anonymní provoz narazí na edge na neviditelnou výzvu: skutečné prohlížeče projdou bez CAPTCHY a skriptované záplavy mířené na wp-login.php a xmlrpc.php se k vašemu PHP poolu vůbec nedostanou. Behaviorální signatury a filtrace podle reputace IP odhalí klienty, kteří předstírají prohlížeč, a pravidla WAF vám dovolí povolit, zablokovat nebo vyzvat podle cesty, metody, země či fingerprintu klienta — tak zamknete /wp-admin/ na svou zemi zhruba za minutu. Cache na edge obslouží anonymní stránky bez dotyku s originem a rate limity ohraničí cesty, které musí zůstat dynamické: vyhledávání, admin-ajax.php, košík a pokladnu. Pokud provozujete WordPress headless, dají se cesty wp-json označit jako API zóna, aby strojoví klienti dostali 429 místo výzvy, kterou nedokážou vyřešit.

Každý verdikt skončí v logu jednotlivých požadavků a analytice, takže po incidentu ukážete přesně, co bylo zablokováno a proč. Útočný provoz se nikdy nepočítá do vašeho limitu přenosu — z útoku nemá vzniknout faktura — a DDoS ochrana je součástí každého tarifu, včetně toho bezplatného.

DDoS ochrana od Itnetic je živá zhruba za pět minut. Pokud chcete nejdřív kontext, začněte tím, co je DDoS mitigace.

Časté dotazy

Rychlé odpovědi

Zastaví DDoS útok bezpečnostní plugin pro WordPress?

Ne, a není to kvalitou pluginu. Plugin se spustí až poté, co webový server přijal spojení a PHP worker nabootoval WordPress — takže zablokovat požadavek vás stojí skoro totéž co ho obsloužit. Pluginy mají cenu pro zamykání účtů, dvoufaktorové ověření a skenování malwaru; objem se musí filtrovat výš, dřív než dorazí k PHP.

Kolik provozu stačí, aby web na WordPressu spadl?

Mnohem méně, než většina lidí čeká. Limitem bývá jen zřídka přenosové pásmo — obvykle jím je pool workerů PHP-FPM, kterých je typicky mezi 5 a 50. Pár set požadavků za sekundu na necachovatelnou cestu jako /?s= nebo wp-login.php ho dokáže zaplnit, a skuteční návštěvníci pak stojí ve frontě a dostávají chyby 502 nebo 504.

Mám vypnout xmlrpc.php?

Ano, pokud aktivně nepoužíváte vzdálené publikování nebo plugin, který na něm stále závisí. XML-RPC přijímá několik pokusů o autentizaci uvnitř jediného požadavku, což z něj dělá nejefektivnější plochu pro brute force a záplavy, jakou WordPress vystavuje. Blokujte ho na edge, ne uvnitř WordPressu, aby vás zablokované požadavky nic nestály.

Rozbije cache na edge přihlášené uživatele nebo košík ve WooCommerce?

Ne, pokud je cache nastavená správně. Obcházejte cache vždy, když je přítomná cookie wordpress_logged_in_ nebo cookie košíku WooCommerce, aby redaktoři i nakupující dostávali dynamické stránky, zatímco anonymní návštěvníky obslouží edge. Košík, pokladna a stránky účtu zůstávají z principu bez cache a chrání je rate limity.

Zpomalí DDoS ochrana WordPress?

Naopak, pokud ochrana i cache leží na téže edge síti. Cachované stránky se servírují z bodu přítomnosti nejblíž návštěvníkovi místo z vašeho originu, takže se běžné načtení stránky zrychlí; výzva se týká anonymního provozu a pro skutečné prohlížeče je neviditelná.

Musím kvůli ochraně WordPressu měnit hosting?

Ne. Ochrana přes DNS funguje s jakýmkoli hostingem — sdíleným, VPS i spravovaným WordPressem. Nasměrujete své A/AAAA nebo CNAME záznamy na ochrannou síť a ta se stane veřejnými vstupními dveřmi vašeho webu. Jediná změna na serveru, která stojí za to, je firewall originu tak, aby přijímal provoz jen z této sítě.

Čtěte dál

01

Co je DDoS útok?

Distribuovaný útok odepření služby (DDoS) zahltí web nebo API provozem z mnoha strojů najednou, dokud se skuteční návštěvníci nedostanou dál.

02

Co je Layer 7 DDoS útok?

DDoS útoky na aplikační vrstvě (Layer 7) napodobují legitimní návštěvníky, místo aby zahlcovaly síť — a právě proto je tradiční obrany přehlédnou.

03

Jak zastavit DDoS útok na web.

Praktický seřazený checklist pro chvíli, kdy váš web spadne — a pro to, aby další útok už k němu vůbec nedorazil.

04

Co je DDoS mitigace?

DDoS mitigace je proces rozpoznání útočného provozu a jeho zahození dřív, než dorazí ke zdroji, který chce útočník vyčerpat — přenosovému pásmu, spojením nebo samotné aplikaci.

05

Jak chránit API před DDoS útoky.

Prohlížečové výzvy jsou proti strojovému provozu neúčinné — a pro něj samotné smrtelné. Chránit API znamená identifikovat klienty a omezit, kolik vás každý z nich může stát.

06

Jak skrýt IP adresu svého originu.

DDoS ochrana funguje jen tehdy, když se k vašemu serveru nedá dostat jinou cestou. Odhalená IP adresa originu je nejčastější důvod, proč je ochrana zapnutá a web přesto spadne.

07

Co je CDN?

Síť pro doručování obsahu (CDN) uchovává kopie vašeho webu na serverech po celém světě, takže každý návštěvník je obsloužen z místa, které je mu nejblíž.

Chránit můj web zdarmaJak funguje naše ochrana
Itnetic logo Itnetic Technologies

DDoS ochrana a webový výkon pro moderní firmy. Chraňte infrastrukturu napříč regiony.

Produkt

  • DDoS ochrana
  • Web CDN
  • Síť
  • Ceník

Zdroje

  • Průvodce
  • Changelog
  • FAQ
  • Stav služby

Společnost

  • Zakladatel
  • Kontakt
Petr ChlíbekIČO: 21210756Neplátce DPH
© 2026 Itnetic Technologies. Všechna práva vyhrazena.
Podmínky službyOchrana soukromíCookiesDPA

Nezbytné cookies používáme k provozu a zabezpečení webu. Se souhlasem zapneme také analytiku Umami (vlastní hosting, bez sledování napříč weby), abychom rozuměli návštěvnosti. Zásady cookies