Questo articolo descrive come installare il servizio Fail2Ban su Ubuntu 20.04.
Cos'è Fail2Ban?
Fail2Ban è un software di prevenzione delle intrusioni che puoi utilizzare per proteggere i server da minacce dannose come attacchi di forza bruta.
Prerequisiti
Prima di installare Fail2Ban, è buona norma assicurarsi sempre che il server sia aggiornato. Esegui il comando seguente per aggiornare le versioni correnti dei pacchetti installati sul tuo server:
root@server-01:~# sudo apt-get upgrade
Nota: Il comando precedente fornisce un riepilogo dei pacchetti da aggiornare e richiede lo spazio aggiuntivo richiesto per l'installazione. Digita "y ” per continuare con l'aggiornamento.
Installa Fail2Ban
Eseguire il comando seguente per iniziare l'installazione:
root@server-01:~# sudo apt-get install fail2ban
Nota: Al prompt dello spazio aggiuntivo, digita "y ” per continuare con l'aggiornamento.
Verifica che Fail2Ban sia installato e in esecuzione con il seguente comando:
root@server-01:~# sudo systemctl status fail2ban
fail2ban.service - Fail2Ban Service
Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset>
Active: active (running) since Fri 2020-07-31 00:23:21 UTC; 42min ago
Se Fail2ban non è in esecuzione in qualsiasi momento, puoi avviarlo con il seguente comando:
root@server-01:~# sudo systemctl start fail2ban
Imposta Fail2Ban per l'avvio all'avvio con il seguente comando:
root@server-01:~# sudo systemctl enable fail2ban
Synchronizing state of fail2ban.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable fail2ban
Configura Fail2Ban
Non dovresti aggiornare i file di configurazione predefiniti di Fail2Ban, fail2ban.conf e jail.conf . Invece, crea nuovi file vuoti fail2ban.local e jail.local oppure copia il .conf per creare il file .local file.
Puoi copiare il .conf esistente per creare il file .local file con il seguente comando:
root@server-01:~# sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Apporta le modifiche alla configurazione di Fail2Ban solo su .local file utilizzando il tuo editor di testo preferito. I seguenti esempi sono elementi comunemente configurati:
- ignora :Indirizzi specificati che non sono esclusi dai criteri.
- bantime :periodo di tempo specificato per la durata del divieto.
- riprova massima :numero specificato di accessi non riusciti, prima di essere bannato.
Numerosi altri campi sono configurabili e puoi trovare tali descrizioni all'interno di .local file.
L'esempio seguente mostra un'impostazione di ban base da jail.local file e imposta il bantime
a 10 minuti e maxretry
a tre tentativi.
# "bantime" is the number of seconds that a host is banned.
bantime = 10m
# A host is banned if it has generated "maxretry" during the last "findtime"
# seconds.
findtime = 10m
# "maxretry" is the number of failures before a host get banned.
maxretry = 3
L'esempio seguente mostra tre tentativi di accesso non riusciti e il conseguente divieto dell'indirizzo IP.
[user@test ~]$ ssh [email protected]
[email protected]'s password:
Permission denied, please try again.
[email protected]'s password:
Permission denied, please try again.
[email protected]'s password:
Permission denied (publickey,password).
[user@test ~]$ ssh [email protected]
ssh: connect to host 23.253.159.172 port 22: Connection refused