Upraveno 15 února, 2024 07:49
WordPress je systém, který aktuálně využívá přibližně 40 % webů na celém světě. Díky tomu je také poměrně častým cílem útoků hackerů, kteří chtějí Vaše data, nebo chtějí web pouze poškodit. Brute force útok je technika, kdy hacker zkouší uživatelská jména a hesla tak dlouho, dokud se netrefí do správné kombinace. V tomto článku si ukážeme, jak ztížit brute force útok do WordPressu pomocí tří metod, které fungují.
Jak ztížit brute force útok do WordPressu – 3 osvědčené metody
Metoda první – zakažte výpis uživatelů
Ukážu Vám adresu, která, pokud ji nemáte ve WordPressu ošetřenou, Vám zobrazí seznam všech uživatelů vašeho systému (WordPress Users Disclosure). Schválně ji vyzkoušejte.
domena.tld/wp-json/wp/v2/users/
Za domena.tld samozřejmě napište jméno své vlastní domény. S největší pravděpodobností Vám nyní WordPress ukázal, jaké uživatele v něm máte. Proč je to špatně? Protože potenciální útočník už zná login a stačí mu uhodnout pouze heslo. Pokud nemáte opravdu kvalitní heslo, máte zaděláno na problém. Pomocí krátkého kódu jste ale schopní tuto adresu zablokovat, aby se nikomu uživatelé WordPressu nezobrazili.
K vložení kódu do webu doporučuji skvělý plugin WPCode. Pokud Vás zajímá, jak tento plugin funguje, podívejte se na můj článek, ve kterém o něm píšu: Jak do WordPressu vkládat vlastní kódy.
Pomocí tohoto pluginu vložte do webu následující kód:
add_filter('rest_endpoints', function ($endpoints) {
if (isset($endpoints['/wp/v2/users'])) {
$endpoints['/wp/v2/users'] = [
'methods' => 'GET',
'callback' => function () {
return new WP_Error('forbidden', 'Unauthorized', ['status' => 403]);
}
];
}
return $endpoints;
});
Jakmile snippet aktivujete a uložíte, bude adresa pro výpis uživatelů nedostupná.
Metoda druhá – změňte adresu administrace
WordPress má pro přístup do administrace dvě možné cesty. Jedna je domena.tld/wp-admin a druhá je domena.tld/login.php. Útočník, který bude chtít napadnou Váš web pomocí brute force útoku jako první použije jednu z těchto dvou adres. Proto je dobré URL změnit. Ke změně URL adresy můžete použít plugin WPS Hide Login. Je velmi jednoduchý a po jeho aktivaci Vám do nastavení WordPressu a do karty obecné přidá položku, kde můžete definovat vlastní url adresu administrace. Zároveň můžete nastavit druhou adresu, kam bude přesměrovaný uživatel, který se pokusí dostat do administrace klasickou cestou.
Nyní už budete ve fázi, kdy potenciální útočník nezná ani jednoho uživatele WordPressu, a dokonce ani neví, na jaké adrese se Vaše administrace nachází.
Metoda třetí – nastavte limit pokusů o přihlášení
Poslední metoda, která ztíží možnost odhalit Vaše heslo spočívá v omezení počtu pokusů o přihlášení. Toho opět můžete dosáhnout velmi pohodlně pomocí pluginu Limit Login Attempts Reloaded. Ten Vám mimo jiné dovolí nastavit následující:
- Omezení přihlášení – Omezíte počet pokusů pro přihlašování (pro každou IP adresu).
- Nastavitelná doba uzamčení – Upravíte dobu, po kterou musí uživatel nebo IP adresa čekat po uzamčení.
- Zbývající pokusy – Informuje uživatele o zbývajících pokusech, nebo době uzamčení na přihlašovací stránce.
- Oznámení emailem o uzamčení – Informuje správce emailem o uzamčení.
- Záznamy neúspěšných pokusů – Zobrazíte si záznamy všech odmítnutých pokusů a uzamčení.
- Whitelist/Blacklist IP adres a uživatelských jmen – Kontrola přístupu k uživatelským jménům a IP adresám.
- Ochrana brány XMLRPC.
- Ochrana přihlašovací stránky Woocommerce.
Jak vidíte, pomocí tohoto pluginu dokážete nastavit opravdu hodně. Pokud by Vám nevyhovoval, jsou v repozitáři WordPressu k dispozici i další pluginy, které mají podobné funkce. Důležité je, zablokovat uživatele, který bude vytvářet nesmyslný počet požadavků pro přihlášení hned zkraje.
Rada na závěr – brute force útok a admin uživatel
Poslední rada je něco, co už jsem zde na blogu vysvětloval několikrát. Nevytvářejte si uživatele admin. Je to první uživatel, kterého bude útočník zkoušet. Namísto toho si administrátorského uživatele pojmenujte jinak. Vezmete útočníkovi možnost odhalit Vaše uživatele hned na začátku, protože uživatel s loginem admin v systému prostě nebude.
Pokud na web aplikujete všechny tyto výše uvedené zásady, troufám si říct, že v případě brute force útoků budete mít web perfektně připravený na to, aby takový útočník raději odešel hledat štěstí jinam.
Web je vytvářen s pečlivostí k obsaženým informacím. Snažím se poskytovat kvalitní a užitečný obsah, který ostatním pomáhá, nebo je inspiruje. Pokud jste spokojeni s mou prací a chtěli byste mě podpořit, můžete to udělat prostřednictvím jednoduchých možností.
Byl pro Vás tento článek užitečný?
Klikni na počet hvězd pro hlasování.
Průměrné hodnocení. 0 / 5. Počet hlasování: 0
Zatím nehodnoceno! Buďte první
Je mi líto, že pro Vás nebyl článek užitečný.
Jak mohu vylepšit článek?
Řekněte mi, jak jej mohu zlepšit.
Odebírejte Newsletter
Buďte v obraze! Připojte se k odběru newsletteru a buďte první, kdo získá nejnovější informace přímo do vaší e-mailové schránky. Sledujte aktuality, exkluzivní události a inspirativní obsah, přímo na Vašem e-mailu.
Ahoj, a není lepší na tyto funkce použít jeden plugin, který to umí i přesto, že by byl placený? Třeba WP Guard – WordPress Security, Firewall & Anti-Spam za cenu 30 dolarů velmi schopný a užitečný 🙂 Samozřejmě je jich víc, tento jsem našel jen narychlo 🙂
Ahoj,
to je dobrá otázka a rad ti odpovím. Hodně lidí hledá řešení, které je nebude stát nic. Bude zdarma. Snažím se své články koncipovat tak, aby na to dosáhl každý.
Druhá věc je, že plugin, který je placený nemůžu vyzkoušet, protože bych ho musel sám zaplatit a testovat.
Snažím se tedy vždy vymyslet takové řešení, které bude dostupné pro všechny i pro low budget řešení webu.
Já mám třeba vlastní web na vlastním VPS, kde mám možnost si mnoho věcí řešit na úrovni serveru. To každý nemá. Proto takové řešení.
Když nabídneš lidem řešení za peníze, mnoho z nich odejde a neudělá nic. Když jim dáš možnost zabezpečit web zadarmo, hodně lidí se nad tím zamýšlí a web budou mít bezpečnější.
Je to prostě takový balanc aby to mohl udělat opravdu každý.