Fail2ban (Português)

From ParabolaWiki
Jump to: navigation, search
Aviso: O uso de uma lista negra de IP irá parar os ataques triviais, mas depende de um daemon adicional e registro bem-sucedido (a partição que contém /var pode se tornar completo, especialmente se um atacante está batendo no servidor). Além disso, se o invasor conhece o seu endereço IP, eles podem enviar pacotes com um cabeçalho de origem falsificado e obtê-lo bloqueado do servidor. As SSH Keys fornecem uma solução elegante para o problema do forçamento bruto sem esses problemas.

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
Note: Você pode definir BLACKLISTNEWONLY para No em /etc/shorewall/shorewall.conf, caso contrário, a regra adicionada para proibir um endereço IP afetará apenas novas conexões.

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.

3 Veja também

4 Acknowledgement

This wiki article is based on ArchWiki. We may have removed non-FSDG bits from it.