Přejít k obsahu webu
Blog VEDOS Hosting

Blog VEDOS Hosting

wp-login.php
Publikováno 2. 10. 20262. 10. 2026 Od Ivan

Hádání hesel k WordPress z tisíců adres: proč limit pokusů nestačil a co jsme nasadili místo něj

[gtranslate]

Útoky na přihlášení do WordPress se za poslední měsíce výrazně změnily. Místo jednoho stroje, který zkouší tisíce hesel, dnes přicházejí tisíce IP adres, z nichž každá zkusí jen pár hesel za hodinu. Ochrana založená na limitu pokusů z jedné adresy takový útok nevidí. Od 28. září 2026 proto weby chráněné WEDOS Global Protection (WGP) chrání přihlašovací stránku WordPress jinak: krátkou kontrolou proof-of-work, kterou projde prohlížeč, ale ne skript. Počet pokusů o přihlášení, které dorazily až na servery webů, klesl v následujících dnech o 75 %.

Jak dnes vypadá útok na wp-login.php

Přihlašovací stránka wp-login.php je jedním z nejčastějších cílů automatizovaných útoků na internetu. Útočníci na ni posílají buď běžná a uniklá hesla (brute force), nebo dvojice jméno a heslo uniklé z jiných služeb (credential stuffing).

Klasická obrana je jednoduchá: když jedna IP adresa zkusí příliš mnoho hesel za krátkou dobu, ochrana ji zastaví. To funguje, dokud útok přichází z malého počtu adres.

Moderní kampaně se ale rozkládají. Dobře je to vidět na jedné konkrétní kampani, která koncem září běžela několik dní z jedné sítě poskytovatele serverů:

  • až 187 tisíc pokusů o přihlášení denně
  • každý den z přibližně 6 000 různých IP adres
  • každá adresa poslala jen několik pokusů za hodinu.

Žádná jednotlivá adresa se nechovala nápadně, a limitem na adresu proto prošly všechny pokusy. Útok jako celek byl obrovský, každý jeho kousek vypadal nevinně.

Tuto kampaň jsme nakonec 27. září zastavili ručně, zablokováním celé její sítě. To jde u jedné výrazné kampaně, ne jako plošné řešení. Útoky na přihlášení k WordPress přicházejí denně z tisíců různých sítí. Často se jedná o počítače z rezidentních sítí, nikoliv z datacenter.

Proč nestačí limit na adresu

Limit pokusů z jedné adresy předpokládá, že útočník má adres málo a pokusů hodně. Když je poměr opačný, limit se nikdy nespustí. Snižovat ho donekonečna nejde, protože by začal zasahovat skutečné uživatele, kteří zapomenou heslo nebo se přihlašují z jedné sdílené adresy, třeba z firemní sítě.

Potřebovali jsme tedy rozlišovat podle toho, kdo se přihlašuje, ne podle toho, kolikrát to zkouší.

Co jsme změnili

Dřív ochrana zasáhla teprve tehdy, když jedna adresa překročila limit pokusů.

Teď musí každý, kdo přijde na přihlašovací stránku WordPress poprvé, projít krátkou kontrolou typu proof-of-work:

  • Prohlížeč na pozadí vyřeší jednoduchou výpočetní úlohu. Člověk vidí zhruba vteřinové kolečko a nic nevyplňuje, žádné obrázky ani zaškrtávání.
  • Skript, který posílá přihlašovací požadavky bez skutečného prohlížeče, kontrolou neprojde. Nezáleží na tom, z kolika adres to zkouší.
  • Při běžném přihlašování se kontrola neopakuje.
  • Funguje i pro WordPress nainstalovaný v podadresáři.
  • Přihlášení jedním kliknutím ze zákaznické administrace a přihlašovací widgety na webech fungují dál.
  • Zákazník nemusí nic nastavovat, ochrana se zapnula automaticky.

Čeho se změna týká a čeho ne

Kontrola platí jen pro adresu wp-login.php. Mobilní aplikace WordPress, REST API (wp-json), XML-RPC, WP-CLI a správcovské nástroje, které pracují přes API, ovlivněny nejsou.

Pozor si ale musí dát ten, kdo má na přihlašovací stránku namířený monitoring dostupnosti nebo vlastní skript. Klient bez prohlížeče kontrolu nevyřeší a dostane odpověď 401, takže monitoring začne hlásit problém. Řešení:

  • nastavit monitoring na jinou stránku webu, nebo
  • povolit IP adresu monitoringu či skriptu ve výjimkách ochrany. Pravidlo „povolit“ pro konkrétní IP adresu kontrolu přeskočí.

Výsledek: co dorazilo až na servery webů

Čísla pocházejí z agregovaných logů WEDOS Global Protection z vrstvy těsně před odesláním na origin server zákazníka. Porovnáváme denní průměry týdne před změnou (21. až 27. září) s prvními třemi celými dny po ní (29. září až 1. října). Den 28. září, kdy se změna nasazovala, jsme vynechali. Kampaň z úvodu jsme z čísel „před“ odečetli, protože ji zastavila ruční blokace a srovnání by jinak nafukovala.

Denní průměrPřed (21.–27. 9.)Po (29. 9.–1. 10.)Změna
Pokusy o přihlášení~203 000~51 000−75 %
z toho se špatným heslem~167 000~36 000−79 %
Weby, na které pokusy dorazily~23 500~6 000−74 %

Pokles začal 28. září odpoledne, přesně ve chvíli, kdy se změna spustila. Dopoledne téhož dne, kdy už platily jiné úpravy ochrany proti botům nasazené o půlnoci, se počty nezměnily.

Na druhé straně je to, co ochrana zastavila: 330 až 430 tisíc pokusů denně, mířených na 50 až 64 tisíc webů, z přibližně 45 tisíc IP adres ve 4 800 různých sítích. Přesně takový roztříštěný útok, na který limit z jedné adresy nestačil a který nejde zastavit blokováním jednotlivých sítí.

Poctivě je třeba dodat, že i v dnech po změně jsme dál upravovali ochranu proti botům. Hlavní podíl na poklesu má ale nová kontrola: ochrana ji denně uvádí jako důvod zastavení u stovek tisíc požadavků.

Tři dny po změně jsou krátké období. Čísla budeme sledovat dál. Nicméně už teď vidíme, že útočníci přestávají zkoušet WordPress weby chráněné WEDOS Global Protection.

Dotklo se to běžného přihlašování?

Podle dat ne. U přihlášení z Česka se počet úspěšných přihlášení ani počet WordPress webů, kam se lidé přihlašují, nezměnil. V pracovní dny šlo o zhruba 4 450 úspěšných přihlášení denně před změnou a 4 600 po ní, na přibližně 2 040 webů v obou obdobích.

Co to znamená pro majitele webů

  • Méně rizika prolomení hesla. Na přihlašovací stránku se k hádání hesel dostane zlomek dřívějších pokusů.
  • Méně zátěže serveru. Každý pokus o přihlášení spouští PHP a dotaz do databáze. Stovky tisíc zbytečných požadavků denně teď na servery vůbec nedorazí.
  • Žádné nastavení. Kontrola se zapnula sama a běžný uživatel ji skoro nezaznamená. Výjimkou je monitoring nebo skript namířený přímo na wp-login.php.

Proof-of-work ale nenahrazuje dobré heslo. Doporučujeme dál používat silná a jedinečná hesla, dvoufázové ověření a aktuální WordPress.

Co jsme se naučili

  • Počet pokusů z jedné adresy už není dobrý signál. Útočníci mají adres dost na to, aby každá zůstala pod jakýmkoli rozumným limitem.
  • Ruční blokace sítí neškáluje. Jednu výraznou kampaň zastavit jde, tisíce sítí denně ne.
  • Lepší je ptát se, kdo přichází, než kolikrát. Kontrola, kterou projde prohlížeč, ale ne skript, zastaví útok bez ohledu na to, na kolik adres a sítí je rozložený.
  • Výsledek je potřeba měřit i na straně běžného provozu. Pokles útoků je jen polovina výsledku. Druhá polovina je, že přihlašování zůstalo na stejné úrovni.
RubrikyBezpečnost Štítkybezpečnost WordPress, botnet, brute force, credential stuffing, distribuovaný útok, hádání hesel, ochrana přihlášení, ochrana proti botům, Proof-of-Work, rate limiting, WAF, WEDOS Global Protection, WGP, WordPress, wp-login.php

Navigace pro příspěvek

Předchozí příspěvekPředchozí CVE-2026-87902: závažná zranitelnost ve WordPress Core, WGP vám dá čas aktualizovat
Následující příspěvekNásledující Novinky ve WEDOS Global Protection 28. 9.–5. 10. 2026: ochrana přihlášení, hodnocení robotů a funkce bez zásahu do webu
  • Čeština

Hledat …

Nejnovější příspěvky

  • PHP2SHELL a WP2SHELL, jak jsme reagovali
  • Novinky ve WEDOS Global Protection za týden 5. – 11. 10. 2026: vyhledávače i během útoku, záložní cesta a přísnější ochrana PHP
  • Novinky ve WEDOS Global Protection 28. 9.–5. 10. 2026: ochrana přihlášení, hodnocení robotů a funkce bez zásahu do webu
  • Hádání hesel k WordPress z tisíců adres: proč limit pokusů nestačil a co jsme nasadili místo něj
  • CVE-2026-87902: závažná zranitelnost ve WordPress Core, WGP vám dá čas aktualizovat

Kategorie

  • Bezpečnost
  • Datacentra
  • Domény
  • Komunita
  • Konference a srazy
  • Novinky
  • Provizní systém
  • Služby
  • Společnost
  • Technologie
  • Události
  • Zákony a byrokracie

Archív

O nás

Společnost Společnost WEDOS Internet, a.s. byla založena v roce 2010 a během 25 měsíců se stala největším poskytovatelem webhostingových služeb v Česku.

Máme dvě vlastní privátní datacentra v Hluboké Nad Vltavou, kde jsou pouze naše servery a technologie.

  • Oficiální zákaznická administrace
  • Oficiální webové stránky stránky
  • Komunitní web a návody
  • WEDOS OnLine
  • Status stránka našich služeb
  • Nejoblíbenější hosting pro WordPress
  • Spolehlivý webhosting pro vaše projekty
  • Nejlevnější domény – Ceny již od 14 Kč za rok!
  • .CZ domény – Pouze 160 Kč za rok!
Používáme WordPress (v češtině).