Fail2Ban è un software che analizza i file di log del server, relativi ai servizi attivi (es. FTP, SSH, etc.) e banna gli IP dai quali si sono effettuati un numero massimo consentito di login che non sono andati a buon fine.
A cosa serve? protegge i nostri server da attacchi di forza bruta.Per installare fail2ban:
apt-get install fail2ban
Una volta installato andiamo a configurarlo attraverso il file:
/etc/fail2ban/jail.conf
in questo file troviamo la sezione [DEFAULT]attraverso la quale possiamo modificare le impostazioni generali di fail2ban.
[DEFAULT]
# configurazione generale
ignoreip = 127.0.0.1 192.168.3.0/24
bantime = 600
maxretry = 3
backend = polling
destemail = root@localhost
banaction = iptables-multiport
mta = sendmail
protocol = tcp
# template di azioni da intraprendere
action_ = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="%(protocol)s]
action_mw = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="%(protocol)s]
%(mta)s-whois[name=%(__name__)s, dest="%(destemail)s", protocol="%(protocol)s]
action_mwl = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="%(protocol)s]
%(mta)s-whois-lines[name=%(__name__)s, dest="%(destemail)s", logpath=%(logpath)s]
# indico quale azione intraprendere da uno dei template di azioni descritte sopra
action = %(action_)s
Nell'esempio riportato ho suddiviso la sezione [DEFAULT] con commenti. La prima parte riguarda la configurazione generale che descrivo di seguito:
- attraverso ignoreip possiamo specificare gli indirizzi ip che devono essere ignorati. Nell'esempio si ignorano i tentativi falliti di login provenienti da localhost e dalla rete 192.168.1.0
- bantime indica il tempo in secondi per cui l'ip che ha effettuato login non andati a buon fine deve essere bannato. Nell'esempio il ban dura 10 minuti
- maxretry indica il numero massimo di tentativi falliti prima di bannare l'ip. Nell'esempio il numero massimo di tentativi consentiti è 3
- backend metodo usato per intercettare le modifiche sui file di log
- destemail indica a quale indirizzo devono essere inviate le notifiche generate da fail2ban
- banaction
- mta
- protocol
- l'azione action_ si limita a bannare solamente l'ip selezionato
- l'azione action_mw banna l'ip e invia notifica via mail
- l'azione action_mwl banna l'ip e invia notifica via mail includendo le righe di log interessate
action = %(action_)s
dove possiamo modificare action_ in action_mw o action_mwl per l'invio delle notifiche.
Definito il comportamento generale possiamo andare ad indicare quali servizi devono essere tenuti sotto controllo. Ciò viene fatto attraverso la definizione dei jail (prigioni) che sono indicate da altre sezioni, che seguono la sezione [DEFAULT] ed avranno, di base, la struttura riportata di seguito:
enabled = true | false
port = porta
filter = cosa filtrare nel log
logpath = path del log da analizzare
Anche se possiamo definirne di nuove, nel file di configurazione si troveranno già tutte le jail che ci occorrono e basterà solo abilitare quelle che ci interessano mettendo enabled a true
TO BE CONTINUED ...
Riferimenti
0 commenti:
Posta un commento