Hur konfigurerar du Fail2Ban för WordPress (WP-Login, XMLRPC)

Kort sagt, i denna handledning hittar du kommandoraderna genom vilka du kan installera och konfigurera Fail2Ban för WordPress. Säker WordPress -autentisering och XMLRPC.php Brutto ASS.

Bloggar och webbplatser som utvecklats på WordPress -plattformen är ofta cyberattackmål. De flesta attacker är av grov krafttyp och riktar sig till autentiseringssessionen eller utnyttjande av XML-RPC (fjärrprocedursamtal med XML). Lyckligtvis är Fail2Ban en mycket användbar säkerhetslösning för dessa situationer. Om du vill säkra en WordPress -webbplats med Fail2Ban, följ konfigurationsstegen i denna handledning.

Först och främst, se till att du har tillgång till webbservern efter SSH -anslutning och att Fail2Ban -applikationen är installerad.

Fail2Ban -konfiguration för WordPress på Debian

1. Först och främst måste du se till att Fail2Ban -applikationen är installerad och att den körs på servern. Utför kommandoraden nedan:

systemctl status fail2ban

I output bör du se något av formen:

● 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

Om Fail2Ban inte är installerad på servern måste du installera den. Utför orderlinjen för installation fail2ban på Debian / Ubuntu:

sudo apt install fail2ban

2. Nästa steg är att skapa Fail2Ban -filtret för WordPress. Kör i terminalen kommandoraden för att skapa och redigera filtret wordpress.conf.

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

I filen wordpress.conf Ställer in WordPress -autentiseringsfilter och filautentisering xmlrpc.php, på följande sätt:

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

Detta betyder att med någon metod, GET eller POST, skulle nås WP-Login.php eller XMLRPC.php-filer, en regel skapas för Fail2Ban. Villkoret är att dessa filer finns och kan nås av angriparen. Det är att returnera kod 200 (OK) för att komma åt.

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

3. Nästa steg är att konfigurera “fängelse” för WordPress. I detta steg är de flesta användare förvirrade, eftersom reglerna måste fastställas annorlunda beroende på värdhanteringssystemet (om det finns) eller webbserverkonfigurationen.

Om du använder HESTIACP, VESTACP eller MyVesta, skapa och redigera filen /etc/fail2ban/jail.local.

nano /etc/fail2ban/jail.local

Lägg till i den här filen raderna nedan:

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

Justera ovanstående parametrar enligt dina behov. I den konfiguration som ges av mig, om det inom 1800 minuter finns 5 upprepade försök från samma IP, kommer den att blockeras i 3600 minuter med hjälp av webben HESTIACP. (hestia[name=WEB]). Här måste du hjälpa till enligt det system du har på servern.

Det är också mycket viktigt och “logpath“. Från dessa loggar extraheras uppgifterna på grundval av vilka åtgärder som kommer att utföras. Se till att platsen är korrekt.

Om du inte har ett installerat hanteringssystem behöver du åtgärden att blockera IPS med Fail2Ban för att WordPress ska göras direkt av iptables. Linjen för åtgärder kommer att vara följande:

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

Som en konsol istället för /etc/fail2ban/jail.local Du kan också använda en separat konfigurationsfil, till exempel: /etc/fail2ban/jail.d/wordpress.conf.

När du har gjort justeringarna ska du tillämpa ändringarna.

sudo systemctl restart fail2ban

4. Kontrollera att Fail2Ban för WordPress fungerar:

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:

Efter att ha hittat i den här listan blockerade IPS, se till att de är blockerade och i iptables. Jag mötte situationen att på grund av fel konfiguration, i Fail2Ban för att se att det är en blockerad IP, men i verkligheten kunde den fortfarande komma åt wp-login.php eller xmlrpc.php.

För att kontrollera om allt fungerar korrekt, välj en IP som är blockerad från Fail2Ban -listan och leta efter den i iptables.

Utför kommandoraden:

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

Om IP som visas blockerad av Fail2Ban också finns i den här listan, betyder det att du har konfigurerat korrekt Fail2Ban för WordPress.

Släkt: Hur man återställer administratörens användarlösenord i WordPress. Utan tillgång till e -post.

Samtidigt är det mycket tillrådligt att kontrollera loggen med Fail2Ban -åtgärderna:

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

Med det sagt, om du har några problem eller behöver hjälp, kan de hjälpa dig i kommentarerna.

Passionerad om teknik, skriver jag med nöje på stealthsetts.com med början med 2006. Jag har en rik upplevelse av operativsystem: macOS, Windows och Linux, men också på programmeringsspråk och bloggplattformar (WordPress) och för onlinebutiker (WooCommerce, Magento, Presashop).

Hem Din källa till IT -tutorials, användbara tips och nyheter. Hur konfigurerar du Fail2Ban för WordPress (WP-Login, XMLRPC)
Lämna en kommentar