Fail2ban

Da GolemWiki.
Versione del 6 ott 2024 alle 10:05 di Giomba (discussione | contributi) (→‎Rimuovere ban manualmente)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Jump to navigation Jump to search

fail2ban è un demone di sicurezza pensato principalmente per prevenire attacchi di forza bruta.

fail2ban legge i log delle applicazioni configurate, alla ricerca di eventi che indichino errori di autenticazione, e, se ne trova in un breve intervallo di tempo, allora banna gli indirizzi IP che hanno causato questi eventi.

Configurazione

fail2ban distribuisce dei file di configurazione con estensione .conf, che contengono i default e sono aggiornati dal proprio package manager. Per effettuare configurazioni specifiche, utilizzarli come modello per costruire un "omonimo" file .local.

nftables

Per usare nftables invece di iptables:

/etc/fail2ban/jail.local
[DEFAULT]
banaction = nftables
banaction_allports = nftables[type=allports]

Regola personalizzata

1. creare un filtro personalizzato con una espressione regolare per identificare la linea di log che indica l'errore, ad esempio:

/etc/fail2ban/filter.d/nextcloud.local
[Definition]
failregex = Login failed: .* \(Remote IP: <HOST>\)

2. creare una regola per quando si attiva quel filtro.

/etc/fail2ban/jail.d/nextcloud.local
[nextcloud]
enabled = true
port = http,https
filter = nextcloud
logpath = /var/www/nextcloud.example.org/data/nextcloud.log
maxretry = 5
findtime = 180
bantime = 1800

Rimuovere ban manualmente

fail2ban-client set <jailname> unbanip <ip>