
Adicionei as seguintes regras de firewall para me 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, também estou restrito a 3 logins bem-sucedidos por hora!
Responder1
Sim, mais ou menos. Você pode usar algocomofail2ban que processa os logs e remove os endereços IP de /proc/net/xt_recent/DEFAULT
:
Algo assim como um cronjob (minuciosamente?) Seria uma boa primeira aproximação:
for ip in $(sed -ne 's/^.*sshd.*Accepted.*from \([^ ]*\).*$/\1/p' /var/log/auth.log | sort -u); do echo -$ip > /proc/net/xt_recent/DEFAULT; done