Fermare i tentativi di hacking di wordpress con fail2ban
Fail2ban è uno strumento per creare delle regole dinamiche di firewalling al fine di bloccare ripetuti tentativi di hacking o bruteforce.
Ecco un utile post rapido per fermare i tentativi di hacking al tuo server web WordPress come brute force alla wp-login.php e attacchi exploit a xmlrpc.
Installa fail2ban.
sudo apt-get install fail2ban
Dopo aver installato fail2ban, configuralo per rilevare e bloccaree i tuoi host dannosi, aggiungendo queste due regole al tuo file jail su /etc/fail2ban/jail.conf
[worpdress-xmlrpc]
enabled = true
port = http,https
filter = worpdress-xmlrpc
logpath = /var/log/apache/*access.log
maxretry = 3
[worpdress-wplogin]
enabled = true
port = http,https
filter = worpdress-wplogin
logpath = /var/log/apache/*access.log
maxretry = 3
bantime = 86400
findtime = 600
Modifica il percorso dove si trovano i file log di Apache o del tuo webserver (anche Nginx). Ora aggiungi due file in /etc/fail2ban/filter.d chiamati worpdress-xmlrpc.conf e worpdress-wplogin.conf con il seguente contenuto:
worpdress-xmlrpc.conf:
[Definition]
failregex = ^ .*POST .*xmlrpc\.php.*
ignoreregex =
worpdress-wplogin.conf:
[Definition]
failregex = ^\ \-.*\"POST\ \/wp-login.php HTTP\/1\..*\"
ignoreregex =
Riavvia fail2ban con il comando
systemctl restart fail2ban
Per verificare il corretto funzionamento delle regole si può consultare il log di fail2ban che è /var/log/fail2ban.log