Como posso redefinir o contador de login de tentativa falsa do iptable depois de um login bem-sucedido?

1

Eu adicionei as seguintes regras de firewall para defender contra ataques ssh.

iptables -N LOGNDROP
iptables -A LOGNDROP -j LOG --log-prefix "SSH attack! " --log-level 7
iptables -A LOGNDROP -j DROP
iptables -A INPUT -i eth0 -p tcp -m state --dport 22 --state NEW -m recent --set
iptables -A INPUT -i eth0 -p tcp -m state --dport 22 --state NEW -m recent --update --seconds 3600 --hitcount 4 -j LOGNDROP

É possível redefinir esse contador após uma tentativa de login bem-sucedida? Embora esta solução funcione bem, estou restrito a 3 login bem-sucedido por hora também!

    
por My-Name-Is 27.12.2013 / 17:38

1 resposta

2

Sim, mais ou menos. Você pode usar algo como fail2ban que processa os logs e remove os endereços IP do /proc/net/xt_recent/DEFAULT :

Algo assim como um (minutamente?) cronjob seria uma boa primeira aproximação:

for ip in $(sed -ne 's/^.*sshd.*Accepted.*from \([^ ]*\).*$//p' /var/log/auth.log | sort -u); do echo -$ip > /proc/net/xt_recent/DEFAULT; done
    
por 27.12.2013 / 17:58