Hvordan konfigurerer du Fail2Ban for WordPress (WP-Login, XMLRPC)

Kort sagt, i denne opplæringen finner du kommandolinjene som du kan installere og konfigurere fail2ban for WordPress. Sikre WordPress -autentisering og XMLRPC.PHP GROSS ASS.

Blogger og nettsteder utviklet på WordPress -plattformen er ofte nettangrepsmål. De fleste angrep er av grov krafttype og er rettet mot godkjenningsøkten eller utnyttelsen av XML-RPC (ekstern prosedyreanrop ved bruk av XML). Heldigvis er Fail2Ban en veldig nyttig sikkerhetsløsning for disse situasjonene. Hvis du vil sikre et WordPress -nettsted med Fail2BAN, følg konfigurasjonstrinnene i denne opplæringen.

Først av alt, sørg for at du har tilgang til webserveren ved SSH -tilkobling og at Fail2BAN -applikasjonen er installert.

Fail2BAN -konfigurasjon for WordPress på Debian

1. Først av alt må du sørge for at Fail2BAN -applikasjonen er installert og at den kjører på serveren. Utfør kommandolinjen nedenfor:

systemctl status fail2ban

I output bør du se noe av skjemaet:

● 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

Hvis Fail2Ban ikke er installert på serveren, må du installere den. Utfør ordrelinjen for installasjon Fail2Ban på Debian / Ubuntu:

sudo apt install fail2ban

2. Neste trinn er å lage Fail2Ban -filteret for WordPress. Utfør i terminalen kommandolinjen for å opprette og redigere filteret wordpress.conf.

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

I filen wordpress.conf Angir WordPress -autentiseringsfilter og filgodkjenning xmlrpc.php, som følger:

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

Dette betyr at ved enhver metode, GET eller POST, vil få tilgang til wp-login.php eller xmlrpc.php-filene, kan det opprettes en regel for fail2ban. Tilstanden er at disse filene eksisterer og kan nås av angriperen. Det er for å returnere Code 200 (OK) for å få tilgang til.

Lagrer filen /etc/fail2ban/filter.d/wordpress.conf.

3. Neste trinn er å konfigurere “fengsel” for WordPress. På dette trinnet er de fleste brukere forvirrede, fordi reglene må etableres annerledes avhengig av vertsstyringssystemet (hvis det eksisterer) eller webserverkonfigurasjonen.

Hvis du bruker HestiaCP, Vestacp eller MyVesta, oppretter og redigerer filen /etc/fail2ban/jail.local.

nano /etc/fail2ban/jail.local

Legg til denne filen linjene nedenfor:

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

Juster parametrene ovenfor i henhold til dine behov. I konfigurasjonen gitt av meg, hvis det innen 1800 minutter er 5 gjentatte forsøk fra samme IP, vil den bli blokkert i 3600 minutter ved hjelp av nettet HestiaCP. (hestia[name=WEB]). Her må du hjelpe i henhold til systemet du har på serveren.

Det er også veldig viktig og “logpath“. Fra disse loggene blir trukket ut dataene på grunnlag av hvilken handling som skal utføres. Forsikre deg om at stedet er riktig.

Hvis du ikke har et installert styringssystem, trenger du handlingen med å blokkere IPS med Fail2Ban for WordPress som skal gjøres direkte av iptables. Linjen for handling vil være som følger:

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

Som en brakett, i stedet for /etc/fail2ban/jail.local Du kan også bruke en egen konfigurasjonsfil, for eksempel: /etc/fail2ban/jail.d/wordpress.conf.

Etter at du har gjort justeringene, bruker du endringene.

sudo systemctl restart fail2ban

4. Etter omstart, sjekk at Fail2Ban for WordPress fungerer:

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:

Etter å ha funnet i denne listen blokkerte IP -er, må du sørge for at de er blokkert og i iptables. Jeg møtte situasjonen som på grunn av feil konfigurasjon, i Fail2Ban for å se at det er en blokkert IP, men i virkeligheten kan den fortsatt få tilgang til wp-login.php eller xmlrpc.php.

For å sjekke om alt fungerer ordentlig, velg en IP -blokkert fra Fail2BAN -listen og se etter den i iptables.

Utfør kommandolinjen:

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

Hvis IP -en som vises blokkert av Fail2Ban også finnes i denne listen, betyr det at du har konfigurert riktig fail2ban for WordPress.

Relatert: Hvordan tilbakestille administratorbrukerpassordet i WordPress. Uten tilgang til e -post.

Samtidig er det veldig tilrådelig å sjekke loggen med Fail2BAN -handlingene:

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

Når det er sagt, hvis du har noen bekymringer eller trenger hjelp, kan de hjelpe deg i kommentarene.

Lidenskapelig om teknologi skriver jeg med glede på stealthsetts.com som starter med 2006. Jeg har en rik opplevelse innen operativsystemer: macOS, Windows og Linux, men også innen programmeringsspråk og bloggplattformer (WordPress) og for nettbutikker (WooCommerce, Magento, Presashop).

Hjem Din kilde til IT -opplæringsprogrammer, nyttige tips og nyheter. Hvordan konfigurerer du Fail2Ban for WordPress (WP-Login, XMLRPC)
Legg igjen en kommentar