Hoe configureert u Fail2BAN voor WordPress (WP-Login, XMLRPC)

door

0

Hoe configureert u Fail2BAN voor WordPress (WP-Login, XMLRPC)

Hoe configureert u Fail2BAN voor WordPress (WP-Login, XMLRPC)

0
Hoe configureert u Fail2BAN voor WordPress (WP-Login, XMLRPC)

Kortom, in deze tutorial vind je de opdrachtregels om Fail2Ban voor WordPress te installeren en configureren. Beveilig WordPress-aanmelding en brute force-query's van xmlrpc.php.

Blogs en websites die op het WordPress-platform zijn ontwikkeld, zijn vaak het doelwit van cyberaanvallen. De meeste aanvallen zijn brute kracht en richten zich op misbruik van de authenticatiesessie of XML-RPC (Remote Procedure Call met behulp van XML). Gelukkig is fail2ban een zeer nuttige beveiligingsoplossing voor deze situaties. Als je een WordPress-site wilt beveiligen met fail2ban, volg dan de installatiestappen in deze tutorial.

Zorg er allereerst voor dat u toegang heeft tot de webserver via een SSH-verbinding en dat de fail2ban-applicatie is geïnstalleerd.

Fail2ban -configuratie voor WordPress op Debian

1. Allereerst moet ik ervoor zorgen dat de fail2ban-applicatie is geïnstalleerd en actief is op de server. Voer de onderstaande opdrachtregel uit:

systemctl status fail2ban

In de uitvoer zou je iets moeten zien als:

● 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

Als fail2ban niet op de server is geïnstalleerd, moet u dit installeren. Voer de opdrachtregel uit om fail2ban op Debian / Ubuntu te installeren:

sudo apt install fail2ban

2. De volgende stap is het maken van het fail2ban-filter voor WordPress. Voer de opdrachtregel in de terminal uit om het filter te maken en te bewerken wordpress.conf.

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

In het bestand wordpress.conf Stelt WordPress -authenticatiefilters en bestandsauthenticatie in xmlrpc.php, als volgt:

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

Dit betekent dat, op welke manier dan ook, GET of POST, de bestanden wp-login.php of xmlrpc.php zouden worden geopend, er zou een fail2ban-regel kunnen worden aangemaakt. Voorwaarde is dat deze bestanden bestaan ​​en toegankelijk zijn voor de aanvaller. Dat is om de code 200 (ok) terug te geven bij toegang.

Slaat het bestand op /etc/fail2ban/filter.d/wordpress.conf.

3. De volgende stap is het configureren “gevangenis” voor WordPress. Deze stap brengt de meeste gebruikers in verwarring, omdat de regels anders moeten worden ingesteld, afhankelijk van het hostingbeheersysteem (indien aanwezig) of de configuratie van de webserver.

Als u HestiaCP, VestaCP of MyVesta gebruikt, maakt en bewerkt u het bestand /etc/fail2ban/jail.local.

nano /etc/fail2ban/jail.local

Voeg de volgende regels toe aan dit bestand:

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

Pas de bovenstaande parameters aan volgens uw behoeften. In de configuratie die ik heb opgegeven, wordt het IP-adres gedurende 1800 minuten gedurende 3600 minuten geblokkeerd met behulp van de HestiaCP-webactie. (hestia[name=WEB]). Dit is waar u hulp nodig heeft, afhankelijk van het systeem dat u op uw server heeft.

Het is ook heel belangrijk en “logpath“. Uit deze logs worden de gegevens gehaald waarop de actie wordt uitgevoerd. Zorg ervoor dat de locatie correct is.

Als u geen beheersysteem heeft geïnstalleerd, moet de IP-blokkeringsactie met fail2ban voor WordPress rechtstreeks worden uitgevoerd via iptables. De actielijn zal als volgt zijn:

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

Als haakje, in plaats van /etc/fail2ban/jail.local je kunt ook een apart bestand gebruiken voor configuratie, zoals: /etc/fail2ban/jail.d/wordpress.conf.

Nadat u de aanpassingen heeft aangebracht, past u de wijzigingen toe.

sudo systemctl restart fail2ban

4. Controleer na het opnieuw opstarten of fail2ban voor WordPress werkt:

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:

Zodra u geblokkeerde IP-adressen in deze lijst vindt, zorg er dan voor dat deze ook zijn geblokkeerd iptables. Ik kwam de situatie tegen dat ik door een verkeerde configuratie in fail2ban zie dat het een geblokkeerd IP-adres is, maar in werkelijkheid nog steeds toegang had wp-login.php of xmlrpc.php.

Om te controleren of alles naar behoren werkt, kiest u een geblokkeerd IP-adres uit de fail2ban-lijst en zoekt u dit op in iptables.

Voer de opdrachtregel uit:

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

Als het IP-adres dat geblokkeerd lijkt door fail2ban ook in deze lijst staat, betekent dit dat je fail2ban correct hebt geconfigureerd voor WordPress.

Verwant: Hoe het beheerderswachtwoord in WordPress opnieuw in te stellen. Geen toegang tot e-mail.

Tegelijkertijd wordt het ten zeerste aanbevolen om het logboek met fail2ban-acties te controleren:

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

Dat gezegd hebbende, als je vragen hebt of hulp nodig hebt, kan ik je helpen in de reacties.

Hoe configureert u Fail2BAN voor WordPress (WP-Login, XMLRPC)

Mogelijk bent u ook geïnteresseerd in...

Laat een reactie achter

Uw e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd *