Lühidalt öeldes leiate sellest õpetusest käsuread, mille kaudu saate Fail2Bani installida ja konfigureerida WordVajutage. Kinnitab autentimise WordPress ja xmlrpc.php brute force päringud.
Platvormil arendatud ajaveebid ja veebisaidid WordPress on sageli küberrünnakute sihtmärgid. Enamik rünnakuid on toore jõuga ja sihivad autentimisseanssi või kasutavad ära XML-RPC-d (XML-i kasutav kaugmenetluskutse). Õnneks on fail2ban sellistes olukordades väga kasulik turvalahendus. Kui soovite veebisaiti kaitsta WordPress faili2ban puhul järgige selles õpetuses toodud konfiguratsioonisamme.
Kõigepealt veenduge, et teil on SSH-ühenduse kaudu juurdepääs veebiserverile ja fail2ban-rakendus on installitud.
Fail2Ban konfiguratsioon jaoks WordPress Debianis
1. Kõigepealt peate veenduma, et fail2ban rakendus on installitud ja serveris töötab. Käivitage allolev käsurida:
systemctl status fail2ban
Väljundis peaksite nägema midagi sellist:
● 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
Kui fail2ban pole teie serverisse installitud, peate selle installima. Käivitage käsurida fail2bani installimiseks Debianile/Ubuntule:
sudo apt install fail2ban
2. Järgmine samm on faili fail2ban filtri loomine WordVajutage. Filtri loomiseks ja redigeerimiseks käivitage terminalis käsurida wordpress.conf
.
sudo nano /etc/fail2ban/filter.d/wordpress.conf
Failis wordpress.conf
määrab autentimise filtrid WordPress ja faili jaoks xmlrpc.php
, järgnevalt:
[Definition]
failregex = ^<HOST> -.*"(GET|POST).*(/wp-login.php|/xmlrpc.php).*" 200
ignoreregex =
See tähendab, et mis tahes meetodil GET
või POST
, kui pääsete juurde failidele wp-login.php või xmlrpc.php, saab fail2ban reegli luua. Tingimuseks on, et need failid on olemas ja ründajal on neile juurdepääs. See tähendab, et see peaks pöördumisel tagastama koodi 200 (ok).
Salvestage fail /etc/fail2ban/filter.d/wordpress.conf
.
3. Järgmine samm on "vangla" konfigureerimine WordVajutage. Siin satub enamik kasutajaid segadusse, sest reeglid peavad olema erinevad olenevalt hostimise haldussüsteemist (kui see on olemas) või veebiserveri konfiguratsioonist.
Kui kasutate HestiaCP-d, VestaCP või MyVesta, looge ja redigeerige fail /etc/fail2ban/jail.local
.
nano /etc/fail2ban/jail.local
Lisage sellele failile järgmised read:
[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.
Reguleerige ülaltoodud parameetreid vastavalt oma vajadustele. Minu antud konfiguratsioonis, kui 1800 minuti jooksul tehakse 5 korduvat katset samast IP-st, blokeeritakse see 3600 minutiks, kasutades HestiaCP veebitoimingut. (hestia[name=WEB]
). Siin vajate abi olenevalt teie serveris olevast süsteemist.
Samuti on väga oluline "logpath
". Nendest logidest eraldatakse andmed, mille alusel toiminguid tehakse. Veenduge, et asukoht on õige.
Kui teil pole haldussüsteemi installitud, peate IP-d blokeerima failiga fail2ban for WordPress teha otse läbi iptables
. Tegevussuund on järgmine:
action = iptables-multiport[name=wordpress, port="80,443", protocol=tcp]
Sulguna, selle asemel /etc/fail2ban/jail.local
konfigureerimiseks võite kasutada ka eraldi faili, näiteks: /etc/fail2ban/jail.d/wordpress.conf
.
Pärast muudatuste tegemist rakendage muudatused.
sudo systemctl restart fail2ban
4. Pärast taaskäivitamist kontrollige, kas fail2ban for WordPress töötab:
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:
Kui leiate sellest loendist blokeeritud IP-d, veenduge, et ka need on blokeeritud iptables
. Kohtasin olukorda, kus valesti seadistamise tõttu fail2banis nägin, et IP on blokeeritud, kuid tegelikkuses pääses siiski ligi wp-login.php
või xmlrpc.php
.
Kontrollimaks, kas kõik töötab korralikult, valige fail2bani loendist blokeeritud IP ja otsige see iptables-ist üles.
Käivitage käsurida:
iptables -L -v -n --line-numbers
Kui selles loendis on ka fail2bani blokeeritud IP, tähendab see, et olete faili2bani jaoks õigesti konfigureerinud. WordVajutage.
Seotud: Kuidas lähtestada administraatori kasutaja parool WordVajutage. Juurdepääs meilile puudub.
Samal ajal on tungivalt soovitatav logi kontrollida fail2ban-toimingutega:
sudo tail -f /var/log/fail2ban.log
See tähendab, et kui teil on küsimusi või vajate abi, saan teid kommentaarides aidata.