Fail2ban è un software di prevenzione delle intrusioni utilizzato da molti amministratori di sistema Linux per proteggere i server Linux da attacchi di forza bruta e altri attacchi automatici.
In questo tutorial ti guideremo su come installare e configurare Fail2ban su Ubuntu 20.04. L'installazione e la configurazione sono abbastanza semplici e non sono necessari anni di esperienza nell'amministrazione Linux per farlo.
Procediamo con i passaggi su come installare e configurare Fail2ban.
1 1. Installazione
Per prima cosa aggiorniamo il sistema e procediamo con l'installazione.
sudo apt update
sudo apt install fail2ban
Controlla lo stato di Fail2ban e dovrebbe avviarsi automaticamente dopo l'installazione. Per controllare lo stato esegui questo comando.
sudo systemctl status fail2ban
Output:
● fail2ban.service - Fail2Ban Service
Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2021-11-30 07:33:51 EST; 22s ago
Docs: man:fail2ban(1)
Main PID: 42104 (f2b/server)
Tasks: 5 (limit: 9485)
Memory: 14.3M
CGroup: /system.slice/fail2ban.service
└─42104 /usr/bin/python3 /usr/bin/fail2ban-server -xf start
Nov 30 07:33:51 techtutorguro.com systemd[1]: Starting Fail2Ban Service...
Nov 30 07:33:51 techtutorguro.com systemd[1]: Started Fail2Ban Service.
Nov 30 07:33:52 techtutorguro.com fail2ban-server[42104]: Server ready
2 2. Configurazione
I principali file di configurazione di Fail2ban si trovano in /etc/fail2ban . Fail2ban legge prima tutta la configurazione con .local estensione e .locale estensioni sovrascrive il .conf estensioni.
Il file di configurazione predefinito è /etc/fail2ban/jail.conf
, ora dobbiamo creare un jail.local file ed è qui che inseriamo le impostazioni di configurazione che desideravamo per proteggere il nostro server.
Per prima cosa copiamo il jail.conf a jail.local .
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Ora modifichiamo /etc/fail2ban/jail.local file.
sudo nano /etc/fail2ban/jail.local
Modifica la sezione [Predefinito] sulla configurazione desiderata.
Se desideri inserire un IP nella whitelist, puoi inserire l'IP in ignoreip direttiva. Per abilitare ignoraip decommentalo.
ignoreip = 127.0.0.1/8 ::1 192.168.1.50
Bantimo – è il numero di secondi in cui un host viene bannato.
bantime = 10m
Trova il tempo – Un host viene bannato se ha generato "maxretry" durante l'ultimo "findtime"
findtime = 10m
Riprova massima – è il numero di errori prima che un host venga bannato.
maxretry = 5
3 3. Protezione di SSH
Fail2ban utilizza Jail come regola per proteggere i tuoi servizi. La jail del servizio SSH è abilitata per impostazione predefinita.
Questa è la jail predefinita per SSHD.
[sshd]
# To use more aggressive sshd modes set filter parameter "mode" in jail.local:
# normal (default), ddos, extra or aggressive (combines all).
# See "tests/files/logs/sshd" or "filter.d/sshd.conf" for usage example and details.
#mode = normal
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
Se vuoi aggiungere più direttive e vuoi aggiungere maxretry , trova tempo , bantime e ignora nel set di regole jail SSHD.
[sshd]
# To use more aggressive sshd modes set filter parameter "mode" in jail.local:
# normal (default), ddos, extra or aggressive (combines all).
# See "tests/files/logs/sshd" or "filter.d/sshd.conf" for usage example and details.
#mode = normal
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
maxretry = 6
findtime = 1d
bantime = 1w
ignoreip = 127.0.0.1/8 192.168.1.50
Dopo aver modificato il jail.conf , salva il file e riavvia il servizio Fail2ban per rendere effettiva la configurazione.
sudo systemctl restart fail2ban
4 4. Client Fail2ban
Fail2ban dispone di un proprio strumento da riga di comando chiamato fail2ban-client che puoi utilizzare per interagire con il servizio fail2ban.
Puoi utilizzare fail2ban-client per controllare lo stato di jail, puoi anche vietare o annullare il ban degli indirizzi IP e modificare altri Fail2ban impostazioni.
Per verificare le opzioni disponibili.
fail2ban-client -h
Per controllare lo stato della prigione.
sudo fail2ban-client status sshd
Per vietare un IP.
sudo fail2ban-client set sshd banip 192.168.1.51
Per sbloccare un IP.
sudo fail2ban-client set sshd unbanip 192.168.1.51
5 Conclusione
Abbiamo dimostrato quanto sia facile configurare Fail2ban in Ubuntu 20.04. Se ti piace questo articolo, ti potrebbe piacere anche il nostro articolo su CSF.