WordPress-Login mittels fail2ban schützen

fail2ban schützt dein WordPress-Login nach mehreren, fehlgeschlagen Versuchen und sperrt die entsprechende IP-Adresse aus. Installiere das Paket fail2ban:

# apt install fail2ban

Das nötige Konfigurationsfile findet man unter:
/etc/fail2ban/jail.conf

Erstelle eine Kopie vom Originalfile:

# cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

die verhindert, dass bei einem Update die eigenen Regeln überschrieben werden.

Den aktuellen Status von fail2ban rufst du per systemctl auf:

$ systemctl status fail2ban
● fail2ban.service - Fail2Ban Service
     Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-11-26 10:14:43 CET; 1 weeks 1 days ago
       Docs: man:fail2ban(1)
   Main PID: 655 (fail2ban-server)
      Tasks: 5 (limit: 4678)
     Memory: 21.2M
        CPU: 6min 15.308s
     CGroup: /system.slice/fail2ban.service
             └─655 /usr/bin/python3 /usr/bin/fail2ban-server -xf start

Warning: some journal files were not opened due to insufficient permissions.

Erstelle nun einen Filter unter /etc/fail2ban/filter.d/wordpress.conf

[Definition]
failregex = ^<HOST> .* "POST .*wp-login.php
            ^<HOST> .* "POST .*xmlrpc.php
ignoreregex =

Anschliessend erstellen oder ergänzen wir noch die entsprechende jail-Datei unter /etc/fail2ban/jail.local

[wordpress]
enabled = true
port = http,https
filter = wordpress
action = iptables-multiport[name=wordpress, port="http,https", protocol=tcp]
logpath = /var/log/apache2*/access*log
maxretry = 3
findtime = 60m

Starte fail2ban neu:

# /etc/init.d/fail2ban restart

Mittels fail2ban-client -i kann der Status vom jail wordpress abgefragt werden. Hier z. B. wurde die IP 12.34.567.89 nach mehreren, fehlgeschlagen Versuchen gesperrt.

# fail2ban-client -i
fail2ban> status wordpress
Status for the jail: wordpress
|- Filter
|  |- Currently failed: 9
|  |- Total failed:     12
|  `- File list:        /var/log/apache2/access.log
`- Actions
   |- Currently banned: 1
   |- Total banned:     1
   `- Banned IP list:   12.34.567.89

Falls du dich versehentlich selbst aus WordPress ausgesperrt hast, kann die IP wieder entsperrt werden.

fail2ban> set wordpress unbanip 12.34.567.89

Hinterlassen Sie einen Kommentar