Fail2ban: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
corretta gerarchia titoli
Nessun oggetto della modifica
(corretta gerarchia titoli)
Riga 1: Riga 1:
{{Versioni compatibili|Debian Sarge 3.1<br/>Debian Etch 4.0<br/>Debian Lenny 5.0<br/>Debian Squeeze<br/>Debian Sid|}}
{{Versioni compatibili|Debian Sarge 3.1<br/>Debian Etch 4.0<br/>Debian Lenny 5.0<br/>Debian Squeeze<br/>Debian Sid|}}
=Introduzione=
== Introduzione ==
'''Fail2ban''' ([http://www.fail2ban.org Sito ufficiale]) è un software che è nato per permettere di bloccare gli host che stanno tentando di effettuare un attacco di [[brute force]] via [[ssh]].  
'''Fail2ban''' ([http://www.fail2ban.org Sito ufficiale]) è un software che è nato per permettere di bloccare gli host che stanno tentando di effettuare un attacco di [[brute force]] via [[ssh]].  


Riga 7: Riga 7:
Con le ultime versioni, però, si è ampliato ed è in grado di coprire svariati servizi (che andranno, però, configurati manualmente), come ad esempio apache, vsftpd, postfix, etc.
Con le ultime versioni, però, si è ampliato ed è in grado di coprire svariati servizi (che andranno, però, configurati manualmente), come ad esempio apache, vsftpd, postfix, etc.


= Il funzionamento =
== Il funzionamento ==
Il funzionamento è semplice: il software si occupa di effettuare il parsing di alcuni file di log (nel caso di ssh, <code>/var/log/auth.log</code>) che contengono le informazioni relative agli accessi falliti. Se vengono contati un numero di tentativi maggiori ad una soglia, l'indirizzo IP viene bloccato, attraverso una regola di iptables, per un tempo impostato e non potrà più accedere al servizio in ascolto su quella porta (ma potrà ancora accedere a quelli sulle altre, cosa molto importante nel caso di indirizzi IP condivisi, come avviene per Fastweb o all'interno delle reti aziendali).
Il funzionamento è semplice: il software si occupa di effettuare il parsing di alcuni file di log (nel caso di ssh, <code>/var/log/auth.log</code>) che contengono le informazioni relative agli accessi falliti. Se vengono contati un numero di tentativi maggiori ad una soglia, l'indirizzo IP viene bloccato, attraverso una regola di iptables, per un tempo impostato e non potrà più accedere al servizio in ascolto su quella porta (ma potrà ancora accedere a quelli sulle altre, cosa molto importante nel caso di indirizzi IP condivisi, come avviene per Fastweb o all'interno delle reti aziendali).


= Installazione =
== Installazione ==
L'installazione è semplice:  
L'installazione è semplice:  
<pre>
<pre>
Riga 21: Riga 21:
dovreste vedere una nuova chain relativa a fail2ban.
dovreste vedere una nuova chain relativa a fail2ban.


= Configurazione =
== Configurazione ==


Fail2ban è già configurato e pronto all'uso, ma alcuni punti hanno bisogno di piccole modifiche. I file di configurazione sono <code>/etc/fail2ban/fail2ban.conf</code> e <code>/etc/fail2ban/jail.local</code>: il primo contiene i parametri di configurazione globali (ad esempio potrete specificare in quale file di log verranno registrati gli avvisi di fail2ban), mentre il secondo contiene i parametri necessari al funzionamento del software.
Fail2ban è già configurato e pronto all'uso, ma alcuni punti hanno bisogno di piccole modifiche. I file di configurazione sono <code>/etc/fail2ban/fail2ban.conf</code> e <code>/etc/fail2ban/jail.local</code>: il primo contiene i parametri di configurazione globali (ad esempio potrete specificare in quale file di log verranno registrati gli avvisi di fail2ban), mentre il secondo contiene i parametri necessari al funzionamento del software.
Riga 35: Riga 35:
Ogni sezione, quindi, identificherà un controllo da eseguire. Fa eccezione la prima: <code>[DEFAULT]</code>, in quanto contiene i valori di default che verranno usati nelle sezioni successive; ovviamente potranno essere ridefiniti per adattarli ai propri gusti.
Ogni sezione, quindi, identificherà un controllo da eseguire. Fa eccezione la prima: <code>[DEFAULT]</code>, in quanto contiene i valori di default che verranno usati nelle sezioni successive; ovviamente potranno essere ridefiniti per adattarli ai propri gusti.


= I Parametri =
== I Parametri ==
I parametri più importanti sono:
I parametri più importanti sono:


Riga 48: Riga 48:
; <code>logpath  = /var/log/auth.log</code> : il file contenente il log da controllare;
; <code>logpath  = /var/log/auth.log</code> : il file contenente il log da controllare;


= Esempi di Azioni =
== Esempi di Azioni ==
== Filtraggio semplice ==
=== Filtraggio semplice ===
Questa azione applica semplicemente un filtro in modo che l'host che ha effettuato un numero di tentativi maggiori di quello definito viene fermato.
Questa azione applica semplicemente un filtro in modo che l'host che ha effettuato un numero di tentativi maggiori di quello definito viene fermato.
<pre>action = iptables[name=%(__name__)s, port=%(port)s]
<pre>action = iptables[name=%(__name__)s, port=%(port)s]
</pre>
</pre>


== Filtraggio con Notifica ==
=== Filtraggio con Notifica ===
Questa regola amplia quella precedente, in quanto manda una mail contenente l'IP ed il [[whois]] dell'IP dell'host che ha fatto scattare l'allarme
Questa regola amplia quella precedente, in quanto manda una mail contenente l'IP ed il [[whois]] dell'IP dell'host che ha fatto scattare l'allarme
<pre>
<pre>
Riga 61: Riga 61:
</pre>
</pre>


== Filtraggio con Notifica Avanzata ==
=== Filtraggio con Notifica Avanzata ===
Come prima, ma in aggiunta sono presenti anche le linee del file di log che hanno fatto scattare l'allarme.
Come prima, ma in aggiunta sono presenti anche le linee del file di log che hanno fatto scattare l'allarme.
<pre>action = iptables[name=%(__name__)s, port=%(port)s]
<pre>action = iptables[name=%(__name__)s, port=%(port)s]
Riga 67: Riga 67:
</pre>
</pre>


= Conclusioni =
== Conclusioni ==
Una volta installato, il software è automaticamente attivo e gira in background come servizio. In caso di modifica del file di configurazione, è necessario effettuare un restart del servizio tramite il comando
Una volta installato, il software è automaticamente attivo e gira in background come servizio. In caso di modifica del file di configurazione, è necessario effettuare un restart del servizio tramite il comando
<pre>
<pre>
Riga 73: Riga 73:
</pre>
</pre>


= Sbloccare IP bloccati =
== Sbloccare IP bloccati ==
I blocchi IP di fail2ban sono solo temporanei, ma è comunque importante sapere come sbloccare un indirizzo IP bannato da fail2ban. Lanciando il comando:
I blocchi IP di fail2ban sono solo temporanei, ma è comunque importante sapere come sbloccare un indirizzo IP bannato da fail2ban. Lanciando il comando:
<pre>
<pre>
Riga 109: Riga 109:
</pre>
</pre>


=Prova di funzionamento=
== Prova di funzionamento ==


Ora volendo potete testare <code>fail2ban</code>.<br>  
Ora volendo potete testare <code>fail2ban</code>.<br>  
1 508

contributi

Menu di navigazione