Fail2ban

Fail2ban scans log files (e.g. /var/log/apache/error_log) and bans IPs that show the malicious signs – too many password failures, seeking for exploits, etc. Generally Fail2ban is then used to update firewall rules to reject the IP addresses for a specified amount of time, although any arbitrary other action (e.g. sending an email) could also be configured. Out of the box Fail2ban comes with filters for various services (Apache, Dovecot, Ssh, Postfix, etc).

Fail2ban is able to reduce the rate of incorrect authentications attempts however, it cannot eliminate the risk that weak authentication presents. To improve the security, open the access to service only for secure networks using the firewall.

Installazione

Installare il modulo dal Software Center o usando la riga di comando:

yum install nethserver-fail2ban

Impostazioni

Fail2ban è configurabile tramite una apposita voce presente nella categoria sicurezza del server-manager. La maggior parte delle impostazioni possono essere modificate nella scheda Configurazione, solo le impostazioni più avanzate devono essere configurate dal terminale.

Jail

Le jail vengono abilitate e iniziano a proteggere i vari servizi non appena si installa un nuovo modulo, la jail relativa ad un servizio (se esistente) viene automaticamente attivata dopo l’installazione del pacchetto.

Ogni jail può essere individualmente disabilitata dalle impostazioni Jail

Numero di tentativi
Numero di corrispondenze (vale a dire il valore del contatore) che attiva l’azione di divieto sull’IP.
Arco di tempo
Il contatore viene impostato a zero se non viene trovata nei log alcuna corrispondenza entro i secondi di «ricerca» configurati.
Ban time
Periodo di permanenza in ban di un IP.
Recidive ban

Extend the ban of persistent abusers. Recidive ban can have 2 different behaviors:

  • Static ban time: ban recidive hosts for 2 weeks, like brute force attack bots. The rule applies when an IP address has been already banned multiple times.
  • Incremental ban time: increase the ban time after each failure found in log. When enabled, if you set a short ban time, a valid user can be banned for a a little while but a brute force attacker will be banned for a very long time.

Consenti ban sulla LAN

Consente i ban sulla LAN
Per impostazione predefinita, i tentativi falliti dalla rete locale vengono ignorati, tranne quando è stata attivata l’opzione.
IP/reti in whitelist
Gli IP elencati nell’area di testo non verranno mai bannato da fail2ban (va indicato un IP per riga). E” possibile consentire intere reti inserendole nel pannello Reti fidate.

Email

Invia notifiche email
Abilitando l’opzione verranno inviate email agli amministratori.
Email amministratori
Elenco di indirizzi email degli amministratori (un indirizzo per riga).
Notifica eventi di abilitazione/disabilitazione di una jail
Invia notifiche via email all’avvio o all’arresto di una jail.

Unban IP

Gli IP sono oggetto di ban quando vengono trovati più volte nei log, in uno specifico arco di tempo. Vengono archiviati in un database per essere nuovamente bannati ogni volta che si riavvia il server o il servizio. Per sbloccare un IP è possibile utilizzare la scheda unban IP disponibile nella categoria stato del server-manager.

Statistiche

La scheda Ban statistics, disponibile nella categoria stato del server-manager, fornisce il numero di ban per jail e totale.

Strumenti

Fail2ban-client

Fail2ban-client fa parte dell’rpm di fail2ban, fornisce lo stato di fail2ban e tutte le jail disponibili:

fail2ban-client status

Per ispezionare una jail specifica:

fail2ban-client status sshd

To see which log files are monitored for a jail:

fail2ban-client get nginx-http-auth logpath

Fail2ban-listban

Fail2ban-listban permette di contare gli IP attualmente bannati nelle varie jail attivate e mostra anche gli IP che risultano bannati da shorewall.

fail2ban-listban

Fail2ban-regex

Fail2ban-regex è uno strumento che viene utilizzato per testare le regex sui log, è una parte del software fail2ban. È consentito un solo filtro per jail, ma è possibile specificare diverse azioni, su righe separate.

La documentazione è `consultabile sul sito del progetto fail2ban<http://fail2ban.readthedocs.io/en/latest/filters.html>`_.

fail2ban-regex /var/log/YOUR_LOG /etc/fail2ban/filter.d/YOUR_JAIL.conf --print-all-matched

E” possibile anche testare direttamente una regex personalizzata:

fail2ban-regex /var/log/secure '^%(__prefix_line)s(?:error: PAM: )?[aA]uthentication (?:failure|error) for .* from <HOST>( via \S+)?\s*$'

Fail2ban-unban

Fail2ban-unban è utilizzabile per sbloccare un IP nel caso in cui il ban debba essere rimosso manualmente.

fail2ban-unban <IP>

È possibile utilizzare anche il comando integrato con fail2ban-client:

fail2ban-client set <JAIL> unbanip <IP>

Whois

Se si desidera ottenere informazioni sull’origine dell’IP bannato via e-mail, è possibile utilizzare il database whois installando l’rpm whois.