Suricata e fail2ban | Xentoo Blog#
Para bloquear endereços IP com base no fast.log do Suricata, utilize o seguinte filtro:
[INCLUDES]
before = common.conf
[DEFAULT]
_daemon = suricata
[Definition]
datepattern = ^%%m/%%d/%%Y-%%H:%%M:%%S
failregex = <HOST>:[0-9]* ->
ignoreregex =Na configuração do jail, altere o tipo de bloqueio de REJECT para DROP.
Editado em 24/03/2023:#
Recomenda-se utilizar a ação iptables-ipset-proto6-allports, que utiliza o ipset. Isso torna as regras do iptables mais legíveis e, segundo algumas fontes, mais rápidas. Para isso, edite o jail.conf e substitua a ação banaction_allports por iptables-ipset-proto6-allports:
[suricata]
enabled = true
filter = suricata
logpath = /var/log/suricata/fast.log
findtime = 3h
action = iptables-ipset-proto6-allportsPara tráfego de entrada e de encaminhamento:#
Se for necessário aplicar a ação em tráfego de entrada e encaminhamento, defina ações separadas:
[suricata]
enabled = true
filter = suricata
logpath = /var/log/suricata/fast.log
findtime = 3h
action = %(banaction_allports)s[actname="suricata_i", chain="INPUT"]
%(banaction_allports)s[actname="suricata_f", chain="FORWARD"]Ação personalizada para todos os protocolos e portas:#
Para criar uma ação que se aplica a todos os protocolos e portas, utilize a seguinte configuração:
[INCLUDES]
before = iptables-common.conf
[Definition]
actionstart = <iptables> -N f2b-<name>
<iptables> -A f2b-<name> -j <returntype>
<iptables> -I <chain> -j f2b-<name>
actionstop = <iptables> -D <chain> -j f2b-<name>
<actionflush>
<iptables> -X f2b-<name>
actioncheck = <iptables> -n -L <chain> | grep -q 'f2b-<name>[ \t]'
actionban = <iptables> -I f2b-<name> 1 -s <ip> -j <blocktype>
actionunban = <iptables> -D f2b-<name> -s <ip> -j <blocktype>
[Init]Com isso, o bloqueio de IPs identificados pelo Suricata estará configurado.
Bloqueio via Rota#
Como alternativa, é possível bloquear IPs com base em uma rota, tornando o IP inalcançável para todas as conexões:
ip route add unreachable <IP>Essa abordagem bloqueia todo o tráfego de um IP ao torná-lo inacessível ao nível de roteamento.