Ako nakonfigurujete Fail2ban pre WordPress (WP-Login, XMLRPC)

Stručne povedané, v tomto návode nájdete príkazové riadky, cez ktoré môžete nainštalovať a nakonfigurovať FAIL2Ban pre WordPress. Zabezpečte autentifikáciu WordPress a Xmlrpc.php hrubý zadok.

Blogy a stránky vyvinuté na platforme WordPress sú často cieľmi kybernetického útoku. Väčšina útokov je typu hrubej sily a zameriava sa na autentifikačnú reláciu alebo využívanie XML-RPC (volanie vzdialeného postupu pomocou XML). Našťastie je Fail2ban pre tieto situácie veľmi užitočným bezpečnostným riešením. Ak si chcete zabezpečiť stránku WordPress pomocou FAIL2Ban, postupujte podľa krokov konfigurácie v tomto návode.

Najprv sa uistite, že máte prístup k webovému serveru pomocou SSH Connection a že je nainštalovaná aplikácia Fail2ban.

Neúspech2ban konfigurácia pre WordPress na Debian

1. Vykonajte príkazový riadok nižšie:

systemctl status fail2ban

Na výstupe by ste mali vidieť niečo z tohto formulára:

● fail2ban.service - Fail2Ban Service
     Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; preset: enabled)
     Active: active (running) since Tue 2025-03-11 00:39:32 EET; 6 days ago
       Docs: man:fail2ban(1)
   Main PID: 917 (fail2ban-server)
      Tasks: 17 (limit: 76843)
     Memory: 33.2M
        CPU: 17min 1.752s
     CGroup: /system.slice/fail2ban.service
             └─917 /usr/bin/python3 /usr/bin/fail2ban-server -xf start

Ak na serveri nie je nainštalovaný FAIL2Ban, musíte ho nainštalovať. Vykonajte objednávkovú linku pre inštaláciu zlyhania2ban na Debian / Ubuntu:

sudo apt install fail2ban

2. Ďalším krokom je vytvorenie filtra FAIL2Ban pre WordPress. Vykonajte v termináli príkazový riadok a vytvorte a upravte filter wordpress.conf.

sudo nano /etc/fail2ban/filter.d/wordpress.conf

V súbore wordpress.conf Nastavuje autentifikačné filtre WordPress a overenie súborov xmlrpc.php, takto:

[Definition]
failregex = ^<HOST> -.*"(GET|POST).*(/wp-login.php|/xmlrpc.php).*" 200
ignoreregex =

To znamená, že akoukoľvek metódou, GET alebo POST, mali by byť prístupné súbory WP-login.php alebo XMLRPC.php, je možné vytvoriť pravidlo pre zlyhanie2ban. Podmienkou je, že tieto súbory existujú a útočník k nim pristupuje. To znamená vrátiť kód 200 (OK) na prístup.

Uloží súbor /etc/fail2ban/filter.d/wordpress.conf.

3. Ďalším krokom je konfigurácia “väzenie” pre WordPress. V tomto kroku je väčšina používateľov zmätená, pretože pravidlá musia byť stanovené odlišne v závislosti od systému správy hostingu (ak existuje) alebo konfigurácie webového servera.

Ak používate Hestiacp, Vestacp alebo Myvesta, vytvorte a upravte súbor /etc/fail2ban/jail.local.

nano /etc/fail2ban/jail.local

Pridajte do tohto súboru nižšie riadky:

[wordpress]
enabled  = true
port     = http,https
filter   = wordpress
logpath  = /var/log/nginx/domains/*.log #or apache2.
maxretry = 5
findtime = 1800
bantime  = 3600
action   = hestia[name=WEB] #hestacp action.

Upravte vyššie uvedené parametre podľa svojich potrieb. V konfigurácii, ktorú som dal, ak do 1800 minút existuje 5 opakovaných pokusov z toho istého IP, bude blokovaná na 3600 minút pomocou webu Hestiacp. (hestia[name=WEB]). Tu budete musieť pomôcť podľa systému, ktorý máte na serveri.

Je to tiež veľmi dôležité a “logpath“. Z týchto protokolov sa extrahujú údaje na základe toho, ktoré akcie sa vykonajú. Uistite sa, že umiestnenie je správne.

Ak nemáte nainštalovaný systém riadenia, budete potrebovať činnosť blokovania IPS s Fail2ban pre WordPress, aby sa vykonal priamo do iptables. Riadok pre akciu bude nasledovne:

action   = iptables-multiport[name=wordpress, port="80,443", protocol=tcp]

Ako držiak namiesto /etc/fail2ban/jail.local Môžete tiež použiť samostatný konfiguračný súbor, napríklad: /etc/fail2ban/jail.d/wordpress.conf.

Po vykonaní úprav použite zmeny.

sudo systemctl restart fail2ban

4. Po reštarte skontrolujte, či zlyhá 2 pre WordPress funguje:

fail2ban-client status wordpress
Status for the jail: wordpress
|- Filter
|  |- Currently failed:	355
|  |- Total failed:	33873
|  `- File list: (log files per domain)
- Actions
   |- Currently banned:	127
   |- Total banned:	680
   `- Banned IP list:

Po nájdení v tomto zozname blokované IPS sa uistite, že sú zablokovaní a v iptables. Stretol som situáciu, že v dôsledku nesprávnej konfigurácie, v Fail2ban, aby som zistil, že ide o blokovanú IP, ale v skutočnosti by mal stále prístup k stále prístupu wp-login.php alebo xmlrpc.php.

Ak chcete skontrolovať, či všetko funguje správne, vyberte IP zablokovanú zo zoznamu FAIL2Ban a vyhľadajte ho v iptables.

Vykonajte príkazový riadok:

iptables -L -v -n --line-numbers

Ak sa v tomto zozname nachádza aj IP, ktorý je zablokovaný spoločnosťou Fail2ban, znamená to, že ste nakonfigurovali správny Fail2ban pre WordPress.

Súvisiace: Ako resetovať heslo používateľa správcu v WordPress. Bez prístupu k e -mailu.

Zároveň je veľmi vhodné skontrolovať protokol s akciami zlyhania2ban:

sudo tail -f /var/log/fail2ban.log

Ako už bolo povedané, ak máte nejaké obavy alebo potrebujete pomoc, môžu vám pomôcť v komentároch.

Vášnivý pre technológiu píšem s potešením na serveri Stealthsetts.com, počnúc rokom 2006. Mám bohaté skúsenosti v operačných systémoch: MacOS, Windows a Linux, ale aj v programovacích jazykoch a platformách blogov (WordPress) a pre internetové obchody (WooCommerce, Magento, Presashop).

Domov Váš zdroj IT návodov, užitočné tipy a správy. Ako nakonfigurujete Fail2ban pre WordPress (WP-Login, XMLRPC)
Zanechajte komentár