Fail2ban (Português)
Fail2ban verifica arquivos de log como /var/log/pwdfail ou /var/log/apache/error_log e proíbe o IP que erra muitas vezes a senha. Ele utiliza regras de firewall para rejeitar o endereço IP.
1 Instalação
Primeiro, instale o Gamin para que o Fail2ban possa detectar a modificação nos arquivos de log:
# pacman -S gamin
Depois, instale o fail2ban:
# pacman -S fail2ban
Se você deseja que o Fail2ban envie um e-mail quando alguém for banido, você deve configurar o SSMTP (por exemplo). Você também terá que instalar o pacote whois para obter algumas informações sobre o atacante.
# pacman -S whois
Agora você pode iniciar o daemon fail2ban:
# /etc/rc.d/fail2ban start
Você pode adicionar adicioná-lo no array DAEMONS no arquivo /etc/rc.conf
DAEMONS=(... fail2ban ...)
2 SSH jail
Edite /etc/fail2ban/jail.conf e modifique a seção ssh-iptables para habilitá-lo e configurar a ação.
Se o seu firewall for o iptables:
[ssh-iptables] enabled = true filter = sshd action = iptables[name=SSH, port=ssh, protocol=tcp] sendmail-whois[name=SSH, dest=your@mail.org, sender=fail2ban@mail.com] logpath = /var/log/auth.log maxretry = 5
Se o seu firewall for o shorewall:
[ssh-shorewall] enabled = true filter = sshd action = shorewall sendmail-whois[name=SSH, dest=your@mail.org, sender=fail2ban@mail.com] logpath = /var/log/auth.log maxretry = 5
Também não se esqueça de adicionar/alterar:
LogLevel VERBOSE
No seu /etc/ssh/sshd_config. Caso contrário, as falhas de senha não estão logadas corretamente.