(Plesk per Linux) Protezione contro gli attacchi di forza bruta (Fail2Ban)
Riassunto: L’esclusione degli indirizzi IP (o Fail2Ban) è uno strumento che protegge il tuo server e i siti web ospitati dagli attacchi di forza bruta.
In questa sezione, imparerai come:
- Abilitare e configurare Fail2Ban per garantire una protezione ottimale con il minimo sforzo.
- Bloccare manualmente le connessioni da determinati indirizzi IP e sbloccare manualmente le connessioni da indirizzi IP esclusi.
- Assicurarti che le connessioni provenienti da determinati indirizzi IP non vengano mai bloccate da Fail2Ban.
- Creare, configurare, rimuovere, attivare e disattivare le jail Fail2Ban e come aggiungere filtri utilizzati dalle jail Fail2Ban.
Panoramica
Fail2Ban protegge il tuo server eseguendo la scansione dei file di registro di vari servizi Plesk. Cerca voci che indicano errori di autenticazione, attacchi noti e altre voci sospette, provenienti da indirizzi IP specifici. Quando il numero di tali voci di registro associate a un indirizzo IP specifico raggiunge un valore predefinito, Fail2Ban invia un’e-mail di notifica o esclude quell’indirizzo IP (cioè blocca ulteriori accessi da quell’indirizzo IP aggiungendo una regola corrispondente alla configurazione del firewall del server) per un periodo di tempo predefinito («periodo di esclusione»).
Ad esempio, con la configurazione Fail2Ban predefinita in vigore, una volta registrato il quinto tentativo fallito di accesso a Plesk dall’indirizzo IP 198.51.100.1 entro un periodo di dieci minuti, viene aggiunta la seguente regola alla configurazione del firewall:
Chain f2b-plesk-login (1 references)
target prot opt source destination
REJECT all -- 198.51.100.1 anywhere reject-with icmp-port-unreachable
Una volta trascorso il periodo di esclusione di dieci minuti, l’indirizzo IP viene automaticamente riammesso e la regola del firewall corrispondente viene rimossa.
La logica di Fail2Ban è governata dall’uso di «jail». Una jail è una combinazione di un «filtro», cioè un set di una o più espressioni regolari che viene utilizzato per rilevare le violazioni, e un” «azione», una direttiva che regola cosa deve essere fatto una volta che è stato rilevato un numero sufficiente di violazioni da uno specifico indirizzo IP.
Una singola jail di solito corrisponde a un singolo servizio in esecuzione sul server, come il server web o il server SSH. Plesk è dotato di un certo numero di jail preconfigurate pronte all’uso, che coprono la maggior parte dei servizi Plesk. Puoi anche aggiungere jail personalizzate manualmente.
Avvertenze e limitazioni
Quando utilizzi Fail2Ban in Plesk, tieni presenti le seguenti limitazioni:
- Fail2Ban si basa esclusivamente sugli indirizzi IP e non esegue ricerche sui nomi host a meno che non sia configurato per farlo.
- Fail2Ban deve usare le sue impostazioni più severe per fornire una protezione dagli attacchi di forza bruta distribuiti, poiché identifica gli intrusi in base al loro indirizzo IP. Tali impostazioni possono causare problemi agli utenti legittimi in caso di falsi positivi.
Abilitazione di Fail2Ban
Sui server Plesk installati con il preset «Recommended» (Consigliato), Fail2Ban è abilitato per impostazione predefinita e tutte le jail predefinite sono attivate. Se Fail2Ban non è abilitato sul tuo server (ad esempio, perché non è installato), devi installarlo, abilitarlo e attivare le jail predefinite prima di poter sfruttare la protezione che offre.
Per installare e abilitare Fail2Ban:
- Accedi a Plesk.
- Vai su Strumenti e impostazioni > Esclusione indirizzo IP (Fail2Ban) (alla voce «Sicurezza»). Se Esclusione indirizzo IP (Fail2Ban) non è presente, devi prima installare il componente «Fail2Ban».
- Seleziona la casella di controllo «Abilita rilevamento intrusione», quindi fai clic su Applica.
- Vai alla scheda «Jail», seleziona tutte le jail contrassegnate come «Inattive», quindi fai clic su Attiva.
Fail2Ban ora funziona con le impostazioni predefinite. Per disabilitare Fail2Ban, deseleziona la casella di controllo «Abilita rilevamento intrusione» che si trova nella scheda «Impostazioni», quindi fai clic su OK.
Configurazione di Fail2Ban
Le impostazioni predefinite di Fail2Ban sono ottimali nella maggior parte dei casi. Tuttavia, potresti volerle modificare per rendere Fail2Ban più restrittivo o permissivo, a seconda delle tue esigenze.
Per modificare le impostazioni di Fail2Ban:
-
Vai a Strumenti e impostazioni > Esclusione indirizzo IP (Fail2Ban) (in «Sicurezza»).
-
Vai alla scheda «Impostazioni».
-
(Facoltativo) Modifica il valore «Periodo di proibizione di indirizzi IP» per rendere il periodo di esclusione di un indirizzo IP più lungo o più breve. Impostandolo su «-1» tutte le esclusioni saranno permanenti.
Un periodo di esclusione più lungo terrà fuori i malintenzionati più a lungo, ma, in caso di falso positivo, anche gli utenti legittimi. Un’esclusione permanente fermerà tutti gli ulteriori attacchi da un determinato indirizzo IP, ma escluderà anche definitivamente un utente legittimo in caso di falso positivo. Puoi riammettere manualmente qualsiasi indirizzo IP in qualsiasi momento.
-
(Facoltativo) Modifica il valore «Intervallo di tempo per il rilevamento di attacchi successivi» per aumentare o ridurre il periodo durante il quale ogni singola voce di registro che indica un errore di autenticazione o un potenziale attacco rimane «attiva».
Più lungo è il periodo, maggiore è la probabilità di rilevare e bloccare gli attacchi che si verificano a determinati intervalli di tempo, nonché la possibilità di falsi positivi, poiché anche gli errori di autenticazione degli utenti legittimi vengono monitorati più a lungo.
-
(Facoltativo) Modifica il valore «Numero di errori prima che l’indirizzo IP sia escluso» per impostare il numero di errori di autenticazione o potenziali attacchi provenienti da un singolo indirizzo IP necessari affinché venga escluso.
Minore è il valore, meno errori di autenticazione o potenziali attacchi devono essere rilevati affinché un indirizzo venga escluso. Ciò aumenta la sicurezza ma anche la probabilità di falsi positivi. Impostando il valore di questo parametro su «1» un indirizzo IP verrà escluso ogni volta che viene rilevato un errore di autenticazione o un potenziale attacco, fornendo la massima protezione, ma massimizzando anche la probabilità di falsi positivi.
-
Fai clic su OK.
Le impostazioni configurate entreranno ora in vigore. Nota: queste impostazioni possono essere modificate anche per singole jail e le impostazioni di una singola jail hanno la precedenza su quelle configurate nella scheda «Impostazioni».
Escludere e riammettere manualmente indirizzi IP
Puoi vedere quali indirizzi IP sono attualmente esclusi da Fail2Ban. Puoi anche escludere o riammettere un indirizzo IP manualmente.
Per visualizzare l’elenco degli indirizzi IP attualmente esclusi:
- Accedi a Plesk.
- Vai a Strumenti e impostazioni > Esclusione indirizzo IP (Fail2Ban) (in «Sicurezza»).
- Vai alla scheda «Indirizzi IP esclusi».
In questa scheda puoi vedere tutti gli indirizzi IP attualmente esclusi da Fail2Ban, insieme ai nomi delle jail responsabili dell’esclusione.
Per escludere manualmente uno o più indirizzi IP:
- Accedi a Plesk.
- Vai a Strumenti e impostazioni > Esclusione indirizzo IP (Fail2Ban) (in «Sicurezza»).
- Vai alla scheda «Indirizzi IP esclusi», quindi fai clic su Escludi IP.
- Specifica l’indirizzo IP o la subnet mask CIDR che vuoi escludere alla voce «Indirizzo IP».
- Seleziona la durata desiderata dell’esclusione alla voce «Escludi l’indirizzo IP», quindi fai clic su OK.
L’indirizzo o gli indirizzi IP specificati sono ora esclusi. Puoi vederli nella scheda «Indirizzi IP esclusi».
Puoi riammettere manualmente un indirizzo IP in qualsiasi momento, indipendentemente dal fatto che sia stato escluso automaticamente o manualmente.
Per riammettere manualmente uno o più indirizzi IP:
- Accedi a Plesk.
- Vai a Strumenti e impostazioni > Esclusione indirizzo IP (Fail2Ban) (in «Sicurezza»).
- Vai alla scheda «Indirizzi IP esclusi».
- Seleziona l’indirizzo o gli indirizzi IP che desideri riammettere dall’elenco degli indirizzi IP attualmente esclusi, quindi fai clic su Annulla esclusione.
L’indirizzo o gli indirizzi IP selezionati non sono più esclusi.
Prevenire l’esclusione di indirizzi IP o nomi host specifici
Puoi impedire che indirizzi IP, subnet o nomi host specifici vengano esclusi da Fail2Ban. Questa funzionalità può essere utilizzata, ad esempio, per assicurarti che Fail2Ban non ti escluda mai dal server.
Come impedire che un indirizzo IP, una subnet o un nome host vengano esclusi:
- Accedi a Plesk.
- Vai a Strumenti e impostazioni > Esclusione indirizzo IP (Fail2Ban) (in «Sicurezza»).
- Vai alla scheda «Indirizzi IP attendibili», quindi fai clic su Aggiungi IP attendibile.
- Specifica l’indirizzo IP, la subnet mask CIDR o il nome host che desideri non venga mai escluso alla voce «Indirizzo IP».
- (Facoltativo) Aggiungi un messaggio che indichi il motivo per cui si desidera aggiungere l’indirizzo IP, la subnet mask CIDR o il nome host all’elenco alla voce «Descrizione». Questo messaggio verrà visualizzato nella scheda «Indirizzi IP attendibili».
- Fai clic su OK.
L’indirizzo IP specificato, la subnet mask CIDR o il nome host non saranno esclusi da Fail2Ban anche se attivano una o più jail. Puoi vedere l’elenco degli indirizzi IP, delle subnet mask CIDR e dei nomi host che non possono essere esclusi da Fail2Ban nella scheda «Indirizzi IP attendibili».
Visualizzazione e download del file di registro Fail2Ban
Fail2Ban scrive le informazioni sugli indirizzi IP che vengono esclusi e riammessi, così come altre informazioni (come le jail create o attivate) in un file di registro. Puoi visualizzare i registri di Fail2Ban dall’interfaccia grafica di Plesk e anche scaricarli sul tuo computer.
Per visualizzare o scaricare il file di registro di Fail2Ban:
- Accedi a Plesk.
- Vai a Strumenti e impostazioni > Esclusione indirizzo IP (Fail2Ban) (in «Sicurezza»).
- Vai alla scheda «Registri», quindi fai clic su un file di registro per visualizzarlo.
- (Facoltativo) Fai clic sull’icona accanto a un file di registro per scaricarlo sul computer.
Attivare e disattivare le jail
Affinché Fail2Ban protegga uno specifico servizio Plesk, deve esistere ed essere attiva la jail corrispondente. Plesk è dotato di un certo numero di jail che coprono la maggior parte dei servizi Plesk. Inoltre, è possibile aggiungere manualmente jail personalizzate.
Per attivare una jail:
- Accedi a Plesk.
- Apri Strumenti e impostazioni > Esclusione indirizzo IP (Fail2Ban) (in «Sicurezza»), quindi accedi alla scheda «Jail».
- Seleziona una jail e fai clic sul pulsante Attiva. Questo pulsante è disponibile solo se il servizio Fail2Ban è in esecuzione (la casella di controllo «Abilita rilevamento intrusione» è selezionata nella scheda «Impostazioni»).
Le jail selezionate sono ora attive. Fail2Ban ora escluderà gli indirizzi IP che attivano le jail configurate.
Nota: Quando si attivano più jail contemporaneamente, se una delle jail non riesce ad essere attivata, nessuna delle jail selezionate verrà attivata. In questo caso, attiva le jail una alla volta.
Per disattivare una jail:
- Accedi a Plesk.
- Apri Strumenti e impostazioni > Esclusione indirizzo IP (Fail2Ban) (in «Sicurezza»), quindi accedi alla scheda «Jail».
- Seleziona una o più jail, quindi fai clic sul pulsante Disattiva.
Le jail selezionate sono ora inattive. Fail2Ban non escluderà più gli indirizzi IP che attiverebbero le jail disattivate. Inoltre, tutti gli indirizzi IP che sono stati esclusi dalle jail disattivate sono stati riammessi.
Nota: Le jail plesk-one-week-ban e plesk-permanent-ban non possono essere disattivate.
Aggiungere e rimuovere jail personalizzate
Se nessuna delle jail predefinite di Plesk copre un servizio specifico o protegge da un attacco specifico, è possibile risolvere il problema aggiungendo una jail personalizzata.
Nota: Quando aggiungi una jail personalizzata, probabilmente dovrai aggiungere prima un nuovo filtro.
Per aggiungere una jail personalizzata:
-
Apri Strumenti e impostazioni > Esclusione indirizzo IP (Fail2Ban) (in «Sicurezza»), quindi accedi alla scheda «Jail».
-
Fai clic su Aggiungi Jail.
-
Assegna un nome alla jail inserendolo nel campo «Nome».
-
Seleziona il filtro che la jail utilizzerà dal menu «Filtro». Puoi utilizzare uno dei filtri predefiniti o uno che hai aggiunto manualmente.
-
Aggiungi una o più azioni jail da intraprendere ogni volta che la jail viene attivata immettendole manualmente o selezionando una delle quattro azioni preconfigurate dal menu «Azione», poi fai clic su Aggiungi. Sono disponibili le seguenti azioni preconfigurate:
-
iptables esclude l’indirizzo IP che ha attivato la jail su una singola porta. Specifica i parametri della regola del firewall da aggiungere, ad esempio:
iptables[chain="INPUT", name="ssh", port="22", protocol="tcp"]
-
iptables-multiport esclude l’indirizzo IP che ha attivato la jail su più porte. Specifica i parametri della regola del firewall da aggiungere, ad esempio:
iptables-multiport[chain="INPUT", name="apache", port="80,443", protocol="tcp"]
-
iptables-allports esclude un utente malintenzionato su tutte le porte. Non c’è bisogno di specificare altri parametri oltre al nome, ad esempio:
iptables-allports[name=recidive]
-
sendmail invia una notifica e-mail all’indirizzo e-mail specificato. Specifica l’indirizzo e-mail di destinazione, ad esempio:
sendmail[mailcmd='/usr/sbin/sendmail -f "fail2ban@example.com" "mail@example.com"', dest="root", sender="fail2ban", sendername="Fail2Ban", name="default"]
In questo esempio, un’e-mail da «fail2ban@example.com» verrà inviata a «mail@example.com».
-
-
Specifica uno o più file di registro che Fail2ban analizzerà utilizzando il filtro selezionato in «Percorso di accesso».
-
Specifica la durata dell’esclusione in secondi in «Periodo di proibizione di indirizzi IP».
-
Specifica il numero di tentativi di accesso non riusciti necessari affinché venga resa effettiva un’esclusione «I tentativi di accesso massimi non riusciti».
-
Fai clic su OK.
Ora la jail esiste ed è attiva. La puoi trovare nella scheda «Jail».
Per rimuovere una o più jail personalizzate:
- Accedi a Plesk.
- Apri Strumenti e impostazioni > Esclusione indirizzo IP (Fail2Ban) (in «Sicurezza»), quindi accedi alla scheda «Jail».
- Seleziona una o più jail personalizzate, fai clic su Rimuovi, quindi fai clic su Sì, rimuovi.
Ora le jail selezionate sono rimosse e non saranno più mostrate nella scheda «Jail». Inoltre, tutti gli indirizzi IP che erano stati esclusi dalle jail rimosse sono ora stati riammessi.
Nota: Le jail predefinite di Plesk non possono essere rimosse.
Modifica delle jail
Puoi modificare le proprietà sia delle jail predefinite che di quelle personalizzate.
Nota: La modifica dei valori «Periodo di proibizione di indirizzi IP» o «I tentativi di accesso massimi non riusciti» di una jail farà sì che tali valori sovrascrivano quelli predefiniti specificati nella scheda «Impostazioni».
Per modificare le impostazioni di una jail esistente:
- Accedi a Plesk.
- Apri Strumenti e impostazioni > Esclusione indirizzo IP (Fail2Ban) (in «Sicurezza»), quindi accedi alla scheda «Jail».
- Fai clic sul nome della jail, poi seleziona Cambia impostazioni.
- Modifica le impostazioni della jail e fai clic su OK.
Le nuove impostazioni della jail sono ora in vigore.
Aggiungere e rimuovere filtri
Un filtro è una combinazione di espressioni regolari che viene utilizzata per analizzare i file di registro alla ricerca di voci che corrispondono a modelli specifici associati ad attacchi o errori di autenticazione. In genere, è necessario almeno un filtro per ogni servizio che si desidera che Fail2Ban protegga, poiché un filtro che è pensato per trovare irregolarità nei file di registro di Apache non è adatto per l’uso con Postfix e viceversa.
Nota: Per funzionare correttamente, un filtro deve avere la sintassi corretta. Scopri come sviluppare filtri Fail2Ban.
Per aggiungere un filtro:
- Accedi a Plesk.
- Apri Strumenti e impostazioni > Esclusione indirizzo IP (Fail2Ban) (in «Sicurezza»), quindi accedi alla scheda «Jail».
- Fai clic su Gestisci filtri, quindi seleziona Aggiungi filtro.
- Specifica il nome del filtro e l’espressione regolare utilizzata per trovare la corrispondenza con le righe dei file di registro.
Jail di Fail2Ban di Plesk predefinite
Plesk è dotato di un certo numero di jail preconfigurate pronte all’uso, che coprono tutti i servizi di hosting (server web, server di posta, server FTP e così via). Sono disponibili le seguenti jail preconfigurate:
Nome | Funzione |
---|---|
plesk-apache | Esegue la scansione per rilevare errori di autenticazione Apache. |
plesk-apache-badbot | Esegue la scansione dei registri di accesso Apache alla ricerca di programmi di acquisizione di e-mail e scanner di vulnerabilità. |
plesk-dovecot | Esegue la scansione per rilevare errori di autenticazione Dovecot IMAP, POP3 e Sieve. |
plesk-modsecurity | Esclude gli indirizzi IP rilevati come nocivi dal Firewall dell’Applicazione Web ModSecurity. La jail può soltanto essere attivata se ModSecurity è in esecuzione e proibirà gli autori di attacchi se ModSecurity funziona in modalità «Solo rilevamento». |
plesk-one-week-ban | Si usa per bloccare gli indirizzi IP che sono stati esclusi manualmente per una settimana. Questa jail non può essere disattivata o modificata. |
plesk-panel | Esegue la scansione per rilevare errori di autenticazione di Plesk. |
plesk-permanent-ban | Si usa per bloccare gli indirizzi IP che sono stati esclusi manualmente in modo definitivo. Questa jail non può essere disattivata o modificata. |
plesk-postfix | Esegue la scansione per rilevare errori di autenticazione Postfix SMTP e SASL. |
plesk-proftpd | Esegue la scansione per individuare errori di autenticazione ProFTPD. |
plesk-roundcube | Esegue la scansione per individuare errori di autenticazione della webmail Roundcube. |
plesk-wordpress | Esegue la scansione per individuare errori di autenticazione di WordPress. |
recidive | Esegue la scansione del log Fail2Ban alla ricerca di esclusioni attivate da altre jail. Blocca gli indirizzi IP ripetutamente esclusi da altre jail in un breve lasso di tempo dall’accesso a Plesk o a uno qualsiasi dei servizi Plesk per una settimana. |
ssh | Esegue la scansione per rilevare errori di autenticazione SSH. |
Filtri predefiniti di Fail2Ban di Plesk
Plesk è dotato di una serie di filtri preconfigurati pronti all’uso, che coprono tutti i servizi di hosting (server web, server di posta, server FTP e così via). Questi filtri sono utilizzati nelle jail Plesk predefinite e possono essere utilizzati anche con jail personalizzate. Sono disponibili i seguenti filtri preconfigurati:
Nome | Funzione |
---|---|
apache-auth | Esegue la scansione per rilevare errori di autenticazione Apache. |
apache-badbots | Esegue la scansione per rilevare spam bot e web crawler dannosi. |
plesk-courierlogin | Esegue la scansione per rilevare errori di autenticazione Courier IMAP e POP3. |
plesk-dovecot | Esegue la scansione per rilevare errori di autenticazione Dovecot IMAP, POP3 e Sieve. |
plesk-modsecurity | Esegue la scansione degli attacchi contro le applicazioni web rilevati da ModSecurity Web Application Firewall. |
plesk-panel | Esegue la scansione per rilevare errori di autenticazione di Plesk. |
plesk-qmail | Esegue la scansione per rilevare errori di autenticazione SMTP di qmail. |
plesk-roundcube | Esegue la scansione per individuare errori di autenticazione della webmail Roundcube. |
plesk-wordpress | Esegue la scansione per individuare errori di autenticazione di WordPress. |
postfix | Esegue la scansione per rilevare errori di autenticazione Postfix SMTP e SASL. |
proftpd | Esegue la scansione per individuare errori di autenticazione ProFTPD. |
recidive | Esegue la scansione degli indirizzi IP ripetutamente esclusi da Fail2Ban. |
sshd | Esegue la scansione per rilevare errori di autenticazione SSH. |