Kaip sukonfigūruoti „Fail2ban“ „WordPress“ (wp-login, xmlrpc)

Trumpai tariant, šiame vadove rasite komandų eilutes, per kurias galite įdiegti ir sukonfigūruoti „Fail2ban“, skirtą „WordPress“. Saugus „WordPress“ autentifikavimas ir xmlrpc.php Gross Ass.

Tinklaraščiai ir svetainės, sukurtos „WordPress“ platformoje, dažnai yra kibernetinės atakos tikslai. Dauguma atakų yra bendros jėgos tipo ir nukreipia į autentifikavimo sesiją ar XML-RPC išnaudojimą (nuotolinis procedūros skambutis naudojant XML). Laimei, „Fail2Ban“ yra labai naudingas saugumo sprendimas šioms situacijoms. Jei norite užsitikrinti „WordPress“ svetainę naudodami „Fail2ban“, atlikite šio vadovėlio konfigūracijos veiksmus.

Visų pirma, įsitikinkite, kad turite prieigą prie žiniatinklio serverio naudodamiesi „SSH Connection“ ir kad įdiegta „Fail2ban“ programa.

„Fail2ban“ konfigūracija „WordPress“ „Debian“

1. Pirmiausia turite įsitikinti, kad „Fail2ban“ programa yra įdiegta ir kad ji veikia serveryje. Vykdykite žemiau esančią komandų eilutę:

systemctl status fail2ban

Išėjime turėtumėte pamatyti kažką tokios formos:

● 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

Jei „Fail2ban“ neįdiegtas serveryje, turėsite jį įdiegti. Atlikite „Debian“ / „Ubuntu“ užsakymo eilutę „Fail2ban“:

sudo apt install fail2ban

2. Kitas žingsnis yra sukurti „Fail2ban“ filtrą, skirtą „WordPress“. Vykdykite terminale komandinę eilutę, kad sukurtumėte ir redaguotumėte filtrą wordpress.conf.

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

Faile wordpress.conf Nustato „WordPress“ autentifikavimo filtrus ir failų autentifikavimą xmlrpc.php, taip:

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

Tai reiškia, kad bet kokiu metodu, GET arba POST, būtų pasiekta WP-login.php arba xmlrpc.php failus, galima sukurti „Fail2ban“ taisyklę. Sąlyga yra ta, kad šie failai egzistuoja ir juos gali pasiekti užpuolikas. Tai yra grąžinti kodą 200 (gerai), kad galėtumėte pasiekti.

Išsaugo failą /etc/fail2ban/filter.d/wordpress.conf.

3. Kitas žingsnis yra konfigūruoti “kalėjimas” „WordPress“. Šiame žingsnyje dauguma vartotojų yra supainioti, nes taisyklės turi būti nustatomos skirtingai, atsižvelgiant į prieglobos valdymo sistemą (jei ji egzistuoja) arba žiniatinklio serverio konfigūracija.

Jei naudojate „Hestiacp“, „Vestacp“ ar „Myvesta“, sukurkite ir redaguokite failą /etc/fail2ban/jail.local.

nano /etc/fail2ban/jail.local

Pridėkite šį failą žemiau esančias eilutes:

[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.

Sureguliuokite aukščiau pateiktus parametrus pagal savo poreikius. Aš pateiktoje konfigūracijoje, jei per 1800 minučių yra 5 pakartotiniai bandymai iš to paties IP, jis bus užblokuotas 3600 minučių naudojant žiniatinklio „Hestiacp“ pagalbą. (hestia[name=WEB]). Čia turėsite padėti pagal sistemą, kurią turite serveryje.

Tai taip pat labai svarbu ir “logpath“. Iš šių žurnalų ištraukiami duomenys, pagal kuriuos veiksmas bus atliekamas. Įsitikinkite, kad vieta teisinga.

Jei neturite įdiegtos valdymo sistemos, jums reikės veiksmų blokuoti IPS su „Fail2ban“, kad „WordPress“ būtų tiesiogiai atliktas naudojant tiesiogiai naudodami iptables. Veiksmo eilutė bus tokia:

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

Kaip laikiklis, o ne /etc/fail2ban/jail.local Taip pat galite naudoti atskirą konfigūracijos failą, pavyzdžiui:: /etc/fail2ban/jail.d/wordpress.conf.

Atlikę pakeitimus, pritaikykite pakeitimus.

sudo systemctl restart fail2ban

4. Po paleidimo iš naujo patikrinkite, ar „Fail2ban“, skirtas „WordPress“ darbams:

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:

Sužinoję šiame sąraše užblokavo IP, įsitikinkite, kad jie yra užblokuoti ir iptables. Aš sutikau situaciją, kad dėl netinkamos konfigūracijos, „Fail2ban“, norėdamas pamatyti, kad tai yra užblokuotas IP, tačiau iš tikrųjų ji vis tiek galėjo pasiekti wp-login.php arba xmlrpc.php.

Norėdami patikrinti, ar viskas veikia tinkamai, pasirinkite IP, užblokuotą iš „Fail2ban“ sąrašo, ir ieškokite jo „iptables“.

Vykdykite komandų eilutę:

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

Jei šiame sąraše taip pat rastas IP, kuris, kaip atrodo užblokuotas „Fail2Ban“, taip pat yra, tai reiškia, kad jūs sukonfigūravote teisingą „Fail2ban“ „WordPress“.

Susiję: Kaip iš naujo nustatyti administratoriaus vartotojo slaptažodį „WordPress“. Negalima naudotis el. Paštu.

Tuo pat metu labai patartina patikrinti žurnalą naudojant „Fail2ban“ veiksmus:

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

Atsižvelgiant į tai, jei turite kokių nors rūpesčių ar jums reikia pagalbos, jie gali jums padėti komentaruose.

Aistringai apie technologijas, su malonumu rašau „Stealthsetts.com“, pradedant nuo 2006 m. Turiu didelę patirtį operacinėse sistemose: „MacOS“, „Windows“ ir „Linux“, taip pat programavimo kalbose ir tinklaraščių platformose („WordPress“) ir internetinėse parduotuvėse („WooCommerce“, „Magento“, „Presashop“).

Home Jūsų jo vadovėlių šaltinis, naudingi patarimai ir naujienos. Kaip sukonfigūruoti „Fail2ban“ „WordPress“ (wp-login, xmlrpc)
Palikite komentarą