Kā konfigurēt Fail2Ban priekš WordPress (wp-login, xmlrpc)

Īsāk sakot, šajā apmācībā jūs atradīsiet komandrindas, caur kurām varat instalēt un konfigurēt Fail2Ban WordNospiediet. Nodrošina autentifikāciju WordPress un brutālā spēka vaicājumi xmlrpc.php.

Uz platformas izstrādāti emuāri un vietnes WordPress bieži vien ir kiberuzbrukumu mērķi. Lielākā daļa uzbrukumu ir brutāls spēks, un tie ir vērsti uz autentifikācijas sesiju vai tiek izmantoti XML-RPC (attālās procedūras izsaukums, izmantojot XML). Par laimi fail2ban ir ļoti noderīgs drošības risinājums šādām situācijām. Ja vēlaties aizsargāt vietni WordPress izmantojot fail2ban, izpildiet šajā apmācībā norādītās konfigurācijas darbības.

Vispirms pārliecinieties, vai jums ir piekļuve tīmekļa serverim, izmantojot SSH savienojumu, un vai ir instalēta lietojumprogramma fail2ban.

Fail2Ban konfigurācija WordPress uz Debian

1. Vispirms ir jāpārliecinās, ka fail2ban lietojumprogramma ir instalēta un darbojas serverī. Palaidiet tālāk norādīto komandrindu:

systemctl status fail2ban

Izvadā jums vajadzētu redzēt kaut ko līdzīgu šim:

● 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

Ja fail2ban nav instalēts jūsu serverī, jums tas būs jāinstalē. Palaidiet komandrindu, lai instalētu fail2ban Debian/Ubuntu:

sudo apt install fail2ban

2. Nākamais solis ir izveidot fail2ban filtru WordNospiediet. Palaidiet komandrindu terminālī, lai izveidotu un rediģētu filtru wordpress.conf.

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

Failā wordpress.conf iestata filtrus autentifikācijai WordPress un failam xmlrpc.php, sekojoši:

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

Tas nozīmē, ka ar jebkuru metodi, GET vai POST, ja tiek piekļūts failiem wp-login.php vai xmlrpc.php, fail2ban var izveidot noteikumu. Nosacījums ir tāds, ka šie faili pastāv un uzbrucējs var tiem piekļūt. Tas nozīmē, ka, piekļūstot, tai jāatgriež kods 200 (ok).

Saglabājiet failu /etc/fail2ban/filter.d/wordpress.conf.

3. Nākamais solis ir “cietuma” konfigurēšana WordNospiediet. Šeit lielākā daļa lietotāju apjūk, jo noteikumi ir jāiestata atšķirīgi atkarībā no hostinga pārvaldības sistēmas (ja tāda ir) vai tīmekļa servera konfigurācijas.

Ja lietojat HestiaCP, VestaCP vai MyVesta, izveidojiet un rediģējiet failu /etc/fail2ban/jail.local.

nano /etc/fail2ban/jail.local

Pievienojiet šim failam tālāk norādītās rindiņas:

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

Pielāgojiet iepriekš minētos parametrus atbilstoši savām vajadzībām. Manā norādītajā konfigurācijā, ja 1800 minūšu intervālā ir 5 atkārtoti mēģinājumi no viena un tā paša IP, tas tiks bloķēts uz 3600 minūtēm, izmantojot HestiaCP darbību tīmeklim. (hestia[name=WEB]). Šeit jums būs nepieciešama palīdzība atkarībā no sistēmas, kas jums ir serverī.

Ļoti svarīgi ir arī "logpath". No šiem žurnāliem tiek iegūti dati, par kuriem tiks veiktas darbības. Pārliecinieties, vai atrašanās vieta ir pareiza.

Ja jums nav instalēta pārvaldības sistēma, jums būs jābloķē IP, izmantojot fail2ban for WordPress kas jādara tieši caur iptables. Darbības virziens būs šāds:

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

Kā iekavas, nevis /etc/fail2ban/jail.local konfigurācijai varat izmantot arī atsevišķu failu, piemēram: /etc/fail2ban/jail.d/wordpress.conf.

Kad esat veicis korekcijas, piemērojiet izmaiņas.

sudo systemctl restart fail2ban

4. Pēc restartēšanas pārbaudiet, vai fail2ban for WordPress darbi:

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:

Kad šajā sarakstā atrodat bloķētos IP, pārliecinieties, vai tie ir bloķēti iptables. Saskāros ar situāciju, ka nepareizas konfigurācijas dēļ fail2ban redzēju, ka IP ir bloķēts, bet patiesībā tas joprojām varēja piekļūt wp-login.php vai xmlrpc.php.

Lai pārbaudītu, vai viss darbojas pareizi, fail2ban sarakstā izvēlieties bloķētu IP un atrodiet to programmā iptables.

Palaidiet komandrindu:

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

Ja šajā sarakstā ir arī fails2ban bloķēta IP, tas nozīmē, ka esat tai pareizi konfigurējis fail2ban. WordNospiediet.

Saistītie: Kā atiestatīt administratora lietotāja paroli WordNospiediet. Nav piekļuves e-pastam.

Tajā pašā laikā ļoti ieteicams pārbaudīt žurnālu ar fail2ban darbībām:

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

Tas nozīmē, ka, ja jums ir kādi jautājumi vai nepieciešama palīdzība, es varu jums palīdzēt komentāros.

Tehnoloģijas entuziasts, ar prieku rakstu vietnē StealthSettings.com no 2006. gada. Man ir plaša pieredze operētājsistēmās: macOS, Windows un Linux, kā arī programmēšanas valodās un blogošanas platformās (WordPress) un tiešsaistes veikalu platformās (WooCommerce, Magento, PrestaShop).

Sākums » IT apmācību, noderīgu padomu un ziņu avots. » Kā konfigurēt Fail2Ban priekš WordPress (wp-login, xmlrpc)
Leave a Comment