Come si configura fail2ban per wordpress (wp-login, xmlrpc)

In breve, in questo tutorial troverai le righe di comando attraverso le quali è possibile installare e configurare Fail2Ban per WordPress. Autenticazione WordPress sicura e XMLRPC.PHP ASS GROSS.

Blog e siti sviluppati sulla piattaforma WordPress sono spesso obiettivi di attacco informatico. La maggior parte degli attacchi è di tipo di forza lordo e sta prendendo di mira la sessione di autenticazione o lo sfruttamento di XML-RPC (chiamata di procedura remota usando XML). Fortunatamente, Fail2Ban è una soluzione di sicurezza molto utile per queste situazioni. Se si desidera proteggere un sito WordPress con Fail2Ban, seguire i passaggi di configurazione in questo tutorial.

Prima di tutto, assicurarsi di avere accesso al server Web mediante connessione SSH e che l'applicazione Fail2Ban sia installata.

Configurazione fail2ban per wordpress su debian

1. Prima di tutto devi assicurarti che l'applicazione Fail2Ban sia installata e che sia in esecuzione sul server. Eseguire la riga di comando in basso:

systemctl status fail2ban

In output dovresti vedere qualcosa della 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

Se Fail2Ban non è installato sul server, sarà necessario installarlo. Esegui la riga dell'ordine per l'installazione Fail2Ban su Debian / Ubuntu:

sudo apt install fail2ban

2. Il prossimo passo è creare il filtro Fail2Ban per WordPress. Eseguire nel terminale la riga di comando per creare e modificare il filtro wordpress.conf.

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

Nel file wordpress.conf Imposta i filtri di autenticazione WordPress e l'autenticazione del file xmlrpc.php, come segue:

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

Ciò significa che con qualsiasi metodo, GET O POST, sarebbe accessibile ai file wp-login.php o xmlrpc.php, è possibile creare una regola per fail2ban. La condizione è che questi file esistono e possono essere accessibili dall'attaccante. Cioè per accedere al codice 200 (OK).

Salva il file /etc/fail2ban/filter.d/wordpress.conf.

3. Il prossimo passo è configurare “prigione” per WordPress. A questo passaggio la maggior parte degli utenti è confusa, poiché le regole devono essere stabilite in modo diverso a seconda del sistema di gestione dell'hosting (se esiste) o della configurazione del server Web.

Se usi HESTICP, VestaCP o Myvesta, crea e modifica il file /etc/fail2ban/jail.local.

nano /etc/fail2ban/jail.local

Aggiungi questo file le righe seguenti:

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

Regola i parametri sopra in base alle tue esigenze. Nella configurazione da parte mia, se entro 1800 minuti ci sono 5 tentativi ripetuti dallo stesso IP, verrà bloccato per 3600 minuti con l'aiuto del Web Hestiacp. (hestia[name=WEB]). Qui dovrai aiutare in base al sistema che hai sul server.

È anche molto importante e “logpath“. Da questi registri vengono estratti i dati sulla base di quale azione verrà eseguita. Assicurarsi che la posizione sia corretta.

Se non si dispone di un sistema di gestione installato, avrai bisogno dell'azione di bloccare gli IP con fail2ban affinché WordPress venga eseguito direttamente da iptables. La linea per l'azione sarà la seguente:

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

Come parentesi, invece di /etc/fail2ban/jail.local È inoltre possibile utilizzare un file di configurazione separato, come ad esempio: /etc/fail2ban/jail.d/wordpress.conf.

Dopo aver effettuato le modifiche, applica le modifiche.

sudo systemctl restart fail2ban

4. Dopo il riavvio, controlla che Fail2Ban per WordPress funziona:

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:

Dopo aver trovato in questo elenco bloccato IPS, assicurati che siano bloccati e dentro iptables. Ho incontrato la situazione che a causa della configurazione sbagliata, in Fail2ban per vedere che è un IP bloccato, ma in realtà potrebbe ancora accedere wp-login.php O xmlrpc.php.

Per verificare se tutto funziona correttamente, scegli un IP bloccato dall'elenco Fail2Ban e cercalo in iptables.

Eseguire la riga di comando:

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

Se l'IP che appare bloccato da Fail2Ban si trova anche in questo elenco, significa che hai configurato Fail2Ban corretto per WordPress.

Imparentato: Come ripristinare la password dell'utente amministratore in WordPress. Senza accesso all'e -mail.

Allo stesso tempo, è molto consigliabile controllare il registro con le azioni fail2ban:

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

Detto questo, se hai qualche problema o hai bisogno di aiuto, possono aiutarti nei commenti.

Appassionato di tecnologia, scrivo con piacere su stealthsetts.com a partire dal 2006. Ho una ricca esperienza nei sistemi operativi: macOS, Windows e Linux, ma anche nei linguaggi di programmazione e nelle piattaforme di blog (WordPress) e per i negozi online (WooCommerce, Magento, Presashop).

Casa La tua fonte di esso tutorial, suggerimenti utili e notizie. Come si configura fail2ban per wordpress (wp-login, xmlrpc)
Lascia un commento