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.

Înainte de toate, asigură-te că ai acces la serverul web prin conexiune SSH și că aplicația fail2ban este instalată.

Fail2ban -configuratie voor WordPress op Debian

1. În primul rând trebuie să te asiguro că aplicația fail2ban este instalată și că rulează pe server. Execută linia de comandă de mai jos:

systemctl status fail2ban

În output ar trebui să vezi ceva de forma:

● 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

Dacă fail2ban nu este instalat pe server, va fi nevoie să-l instalezi. Execută linia de comandă pentru instalare fail2ban pe Debian / Ubuntu:

sudo apt install fail2ban

2. Următorul pas este să creezi filtrul fail2ban pentru WordPress. Execută în terminal linia de comandă pentru a crea și edita filtrul wordpress.conf.

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

In het bestand wordpress.conf Stelt WordPress -authenticatiefilters en bestandsauthenticatie in xmlrpc.php, după cum urmează:

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

Asta înseamnă că prin orice metodă, GET of POST, ar fi accesate fișierele wp-login.php sau xmlrpc.php, se va putea crea o regulă pentru fail2ban. Condiția este ca aceste fișiere să existe și să poată fi accesate de atacator. Adică să returneze codul 200 (ok) la accesare.

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

3. Următorul pas este să configurezi “gevangenis” pentru WordPress. La acest pas se încurcă cei mai mulți utilizatori, deoarece regulile trebuie stabilite diferit în funcție de sistemul de management pentru hosting (dacă acesta există) sau de configurația serverului web.

Dacă utilizezi HestiaCP, VestaCP sau MyVesta, creează și editează fișierul /etc/fail2ban/jail.local.

nano /etc/fail2ban/jail.local

Adaugă în acest fișier liniile de mai jos:

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

Gerelateerd: 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

Acestea fiind spuse, dacă ai nelămuriri sau ai nevoie de ajutor, te pot ajuta în comentarii.

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 *