Ukratko, u ovom ćete vodiču pronaći naredbene retke kroz koje možete instalirati i konfigurirati Fail2ban za WordPress. Sigurna provjera autentičnosti WordPress -a i XMLRPC.PHP bruto dupe.
Blogovi i web stranice razvijeni na WordPress platformi često su ciljevi cyber napada. Većina napada je grube sile i cilja na sesiju provjere autentičnosti ili iskorištavanje XML-RPC (poziv na daljinsko postupak pomoću XML). Srećom, Fail2ban je vrlo korisno sigurnosno rješenje za ove situacije. Ako želite osigurati WordPress web mjesto s Fail2Ban -om, slijedite korake konfiguracije u ovom vodiču.
Prije svega, provjerite imate li pristup web poslužitelju SSH Connection i da li je instalirana aplikacija Fail2Ban.
Fail2Ban konfiguracija za WordPress na Debianu
1. Prije svega morate biti sigurni da je instalirana aplikacija Fail2Ban i da se pokreće na poslužitelju. Izvršite naredbeni redak u nastavku:
systemctl status fail2ban
U izlazu biste trebali vidjeti nešto od oblika:
● 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
Ako Fail2ban nije instaliran na poslužitelju, morat ćete ga instalirati. Izvršite liniju narudžbe za instalaciju Fail2ban na Debian / Ubuntu:
sudo apt install fail2ban
2. Sljedeći je korak stvaranje filtra Fail2Ban za WordPress. Izvršite na terminalu naredbeni redak za stvaranje i uređivanje filtra wordpress.conf.
sudo nano /etc/fail2ban/filter.d/wordpress.conf
U datoteci wordpress.conf Postavlja filtre za provjeru autentičnosti WordPress -a i provjeru autentičnosti datoteka xmlrpc.php, kako slijedi:
[Definition]
failregex = ^<HOST> -.*"(GET|POST).*(/wp-login.php|/xmlrpc.php).*" 200
ignoreregex =
To znači da bilo kojom metodom, GET ili POST, pristupilo bi mu se datoteke wp-login.php ili xmlrpc.php, može se stvoriti pravilo za fail2ban. Uvjet je da ove datoteke postoje i mogu im pristupiti napadač. To jest vratiti kod 200 (u redu) za pristup.
Sprema datoteku /etc/fail2ban/filter.d/wordpress.conf.
3. Sljedeći je korak konfiguriranje “zatvor” Za WordPress. U ovom koraku većina korisnika je zbunjena, jer se pravila moraju utvrditi različito, ovisno o sustavu upravljanja hostingom (ako postoji) ili konfiguraciji web poslužitelja.
Ako koristite Hestiacp, Vestacp ili Myvesta, stvorite i uredite datoteku /etc/fail2ban/jail.local.
nano /etc/fail2ban/jail.local
U ovu datoteku dodajte retke ispod:
[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.
Prilagodite gornje parametre prema vašim potrebama. U konfiguraciji koju sam dao, ako u roku od 1800 minuta postoji 5 ponovljenih pokušaja istog IP -a, ona će biti blokirana 3600 minuta uz pomoć Web Hestiacp -a. (hestia[name=WEB]). Ovdje ćete morati pomoći prema sustavu koji imate na poslužitelju.
Također je vrlo važno i “logpath“. Iz ovih se zapisa izvlače podaci na temelju kojih će se izvršiti radnja. Provjerite je li lokacija točna.
Ako nemate instalirani sustav upravljanja, trebat će vam radnja blokiranja IPS -a s Fail2ban da WordPress bude izravno iptables. Linija za radnju bit će sljedeća:
action = iptables-multiport[name=wordpress, port="80,443", protocol=tcp]
Kao nosač, umjesto /etc/fail2ban/jail.local Također možete koristiti zasebnu konfiguracijsku datoteku, kao što je: /etc/fail2ban/jail.d/wordpress.conf.
Nakon što izvršite prilagodbe, primijenite promjene.
sudo systemctl restart fail2ban
4. Nakon ponovnog pokretanja provjerite da li je neuspjeh2ban za WordPress Works:
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:
Nakon što je na ovom popisu blokirao IPS, provjerite jesu li blokirani i u iptables. Upoznao sam situaciju da je zbog pogrešne konfiguracije, u Fail2Ban -u da vidim da je to blokiran IP, ali u stvarnosti to još uvijek može pristupiti wp-login.php ili xmlrpc.php.
Da biste provjerili funkcionira li sve ispravno, odaberite IP blokiran s popisa Fail2Ban i potražite ga u iptables.
Izvršite naredbeni redak:
iptables -L -v -n --line-numbers
Ako se na ovom popisu nalazi IP koji se pojavljuje blokiran od strane Fail2Ban -a, to znači da ste konfigurirali ispravni Fail2ban za WordPress.
Povezano: Kako resetirati korisničku lozinku administratora u WordPressu. Bez pristupa e -pošti.
Istodobno, vrlo je preporučljivo provjeriti zapisnik s Action Fail2Ban:
sudo tail -f /var/log/fail2ban.log
Rečeno je, ako imate bilo kakvih nedoumica ili vam je potrebna pomoć, oni vam mogu pomoći u komentarima.