Ricerca nel sito web

Come installare e configurare Fail2ban su Alma Linux 8


Su questa pagina

  1. Prerequisiti
  2. Verifica l'installazione del firewall
  3. Installa Fail2Ban
  4. Configura Fail2Ban
  5. Proteggi SSH con Fail2Ban
  6. Conclusione

Fail2ban è un sistema di prevenzione delle intrusioni gratuito e open source scritto in Python. Viene utilizzato per proteggere il sistema dagli attacchi di forza bruta. Monitora continuamente i file di registro SSH (e altri) per i tentativi di autenticazione, dopo un numero specificato di tentativi di password errati, l'indirizzo IP del client viene bannato da Fail2Ban. Può essere utilizzato per proteggere diversi servizi tra cui SSH, vsftpd, Apache e Webmin.

In questo tutorial, ti mostrerò come installare il firewall Fail2Ban su Alma Linux 8.

Prerequisiti

  • Un server che esegue Alma Linux 8.
  • Sul server è configurata una password di root.

Verificare l'installazione del firewall

Per impostazione predefinita, il pacchetto Firewalld è preinstallato su Alma Linux 8. Innanzitutto, dovrai verificare se è in esecuzione o meno. Puoi verificarlo con il seguente comando:

systemctl status firewalld

Se firewalld non è in esecuzione, otterrai il seguente output:

? firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

Ora avvia il servizio firewalld con il seguente comando:

systemctl start firewalld

Puoi controllare lo stato del firewalld usando il seguente comando:

systemctl status firewalld

Dovresti vedere il seguente output:

? firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: active (running) since Sat 2022-02-19 08:57:14 UTC; 40s ago
     Docs: man:firewalld(1)
 Main PID: 7214 (firewalld)
    Tasks: 2 (limit: 23696)
   Memory: 27.9M
   CGroup: /system.slice/firewalld.service
           ??7214 /usr/libexec/platform-python -s /usr/sbin/firewalld --nofork --nopid

Feb 19 08:57:14 linux systemd[1]: Starting firewalld - dynamic firewall daemon...
Feb 19 08:57:14 linux systemd[1]: Started firewalld - dynamic firewall daemon.

Ora, elenca tutti i servizi configurati da firewalld utilizzando il seguente comando:

firewall-cmd --list-all

Dovresti vedere il seguente output:

public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0 eth1
  sources: 
  services: cockpit dhcpv6-client ssh
  ports: 
  protocols: 
  forward: no
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

Installa Fail2Ban

Per impostazione predefinita, il pacchetto Fail2Ban non è disponibile nel repository predefinito di Alma Linux. Quindi dovrai installarlo dal repository EPEL. Puoi installare il repository EPEL con il seguente comando:

dnf install epel-release -y

Una volta installato il repository EPEL, puoi installare il firewall Fail2Ban con il seguente comando:

dnf install fail2ban fail2ban-firewalld -y

Una volta completata l'installazione, avviare e abilitare il servizio Fail2Ban con il seguente comando:

systemctl start fail2ban
systemctl enable fail2ban

Puoi verificare lo stato del servizio fail2ban eseguendo il comando:

systemctl status fail2ban

Dovresti vedere il seguente output:

? fail2ban.service - Fail2Ban Service
   Loaded: loaded (/usr/lib/systemd/system/fail2ban.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2022-02-19 08:58:34 UTC; 6s ago
     Docs: man:fail2ban(1)
  Process: 7838 ExecStartPre=/bin/mkdir -p /run/fail2ban (code=exited, status=0/SUCCESS)
 Main PID: 7840 (fail2ban-server)
    Tasks: 3 (limit: 23696)
   Memory: 10.8M
   CGroup: /system.slice/fail2ban.service
           ??7840 /usr/bin/python3.6 -s /usr/bin/fail2ban-server -xf start

Feb 19 08:58:34 linux systemd[1]: Starting Fail2Ban Service...
Feb 19 08:58:34 linux systemd[1]: Started Fail2Ban Service.
Feb 19 08:58:35 linux fail2ban-server[7840]: Server ready

Configura Fail2Ban

Il file di configurazione principale di Fail2Ban si trova in /etc/fail2ban/jail.conf. È una buona idea creare una copia del file di configurazione principale. Puoi crearlo con il seguente comando:

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Per impostazione predefinita, Fail2Ban utilizza il firewall Iptables. Per abilitare il supporto firewalld, eseguire il seguente comando:

mv /etc/fail2ban/jail.d/00-firewalld.conf /etc/fail2ban/jail.d/00-firewalld.local

Successivamente, riavvia il servizio Fail2Ban per applicare le modifiche:

systemctl restart fail2ban

Proteggi SSH con Fail2Ban

Per impostazione predefinita, Fail2Ban non è configurato per bloccare gli IP remoti. Dovrai configurare il file di configurazione della jail di Fail2Ban per ogni servizio che desideri proteggere.

Per proteggere il servizio SSH, creare un file di configurazione jail per SSH con il seguente comando:

nano /etc/fail2ban/jail.d/sshd.local

Aggiungi le seguenti righe:

# This configuration will block the remote host for 2 hours after 3 failed SSH login attempts. 
[sshd]
enabled = true
bantime = 2h
maxretry = 3

Salva e chiudi il file quando hai finito, quindi riavvia il servizio SSH per applicare le modifiche:

systemctl restart fail2ban

Ora puoi verificare la configurazione della jail con il seguente comando:

fail2ban-client status

Otterrai la jail configurata nel seguente output:

Status
|- Number of jail:	1
`- Jail list:	sshd

Per controllare la jail SSH per qualsiasi IP vietato, esegui il seguente comando:

fail2ban-client status sshd

Otterrai tutti gli elenchi di IP vietati nel seguente output:

Status for the jail: sshd
|- Filter
|  |- Currently failed:	6
|  |- Total failed:	15
|  `- Journal matches:	_SYSTEMD_UNIT=sshd.service + _COMM=sshd
`- Actions
   |- Currently banned:	2
   |- Total banned:	2
   `- Banned IP list:	96.9.67.48 43.154.142.8

Se desideri sbloccare manualmente l'indirizzo IP, esegui il seguente comando:

fail2ban-client unban remote-ip-address

Conclusione

Nella guida sopra, abbiamo spiegato come installare Fail2Ban su Alma Linux 8. Abbiamo anche spiegato come utilizzare Fail2Ban per proteggere il servizio SSH. Ora puoi implementare Fail2Ban nell'ambiente di produzione per proteggere il tuo sistema dagli attacchi di forza bruta.