Clark's Home page

Tecnicismi vari di un Sysadmin Linux ma anche qualcosa della sua vita

Fail2ban su Devuan Beowulf —

Fail2ban come noto è un programma pensato per prevenire gli attacchi brute force.
Scansiona i file di log e blocca quegli indirizzi che hanno troppi fallimenti di password, è scritto in Python e a mio avviso ricade nella categoria IDS/IPS.
Questo articoletto sostituisce tutti i precedenti, per due ragioni principali:
a) il framework di packet filtering ora è nftables
b) cercherò di scriverlo un po meglio
Come detto il nuovo tool che filtra i pacchetti è nftables, quindi nello script di configurazione del firewall ale.nft c’è una table con una chain fatta a questa maniera:
table inet fail2ban {
chain fail2ban {
type filter hook input priority 100;
}
}
Fatto questo andiamo ad istruire il nostro fail2ban in modo che faccia quello che sa fare molto bene, dal repository ufficiale vado a scaricarmi il file nftables.conf e lo metto in /etc/fail2ban/action.d, nella stessa directory vado a modificare i files nftables-allports.conf

[INCLUDES]

before = nftables-common.conf

[Definition]

# Option: nftables_mode
# Notes.: additional expressions for nftables filter rule
# Values: nftables expressions
#
#nftables_mode = meta l4proto <protocol>
type = allports
[Init]

e nftables-multiport.conf

[INCLUDES]

before = nftables-common.conf

[Definition]

# Option: nftables_mode
# Notes.: additional expressions for nftables filter rule
# Values: nftables expressions
#
#nftables_mode = <protocol> dport \{ <port> \}
type = multiport
[Init]
in questa maniera, sempre nella stessa directory creo il file nftable-common.local che contiene questo

[Init]
nftables_family = inet
nftables_table = fail2ban
blocktype = drop
nftables_set_prefix =

nella directory superiore cioè in /etc/fail2ban/ creo il file jail.local che contiene:
[DEFAULT]
destmail = clark@myfirm.local
sender = fail2ban@sangiorgio.myfirm.local
action = %(action_mwl)s
banaction = nftables-multiport
chain = input
Come ultimo passo vado a creare il file recidive.conf in /etc/fail2ban/jail.d che contiene:

[recidive]
enabled = true
logpath = /var/log/fail2ban.log
banaction = nftables-allports
bantime = 86400 ; 1 day
findtime = 86400 ; 1 day
maxretry = 3
protocol = 0-255

una volta fatto questo fail2ban èpronto per essere lanciato da init.d

reference:

https://wiki.meurisse.org/wiki/Fail2Ban

https://www.fail2ban.org/wiki/index.php/Main_Page

 


Categorised as: IDS | Linux | Work

Comments are disabled on this post


Comments are closed.