Esta semana estive a actualizar o servidor, os security updates do debian e umas actualizações que estavam disponíveis. Aproveitei para dar uma vista de olhos pelos logs da maquina, coisa que faço cerca de 1 vez por semana… só para saber como param as modas.
Ao ver o auth.log (auth,authpriv.* do syslog) notei que havia alguem, algures nos U.S.A (NY), que tentava aceder à maquina via ssh com vários utilizadores e pwds. Não teve sucesso mas é algo que de tempos a tempos acontece e não é desejado.
Ora com isto e após ter feito a ultima frequência de 2007, algum tempo livre e tal, lembrei me de ir pesquisar soluções para este problema. Seria simples fazer um block do género iptables -I INPUT -s x.x.x.x -j DROP mas isto implicava ter que andar sempre em cima dos logs, menos tempo a fazer outras coisas…
Aqui fica um pequeno exemplo do log que estava a falar…

Dec 17 11:40:40 Isis sshd[9844]: Invalid user webmaster from 69.72.208.154
Dec 17 11:40:40 Isis sshd[9844]: pam_unix(ssh:auth): check pass; user unknown
Dec 17 11:40:40 Isis sshd[9844]: pam_unix(ssh:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=69.72.208.154
Dec 17 11:40:42 Isis sshd[9844]: Failed password for invalid user webmaster from 69.72.208.154 port 40231 ssh2
Dec 17 11:40:43 Isis sshd[9846]: pam_unix(ssh:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=69.72.208.154 user=root
Dec 17 11:40:45 Isis sshd[9846]: Failed password for root from 69.72.208.154 port 40319 ssh2
Dec 17 11:40:46 Isis sshd[9848]: pam_unix(ssh:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=69.72.208.154 user=ftp
Dec 17 11:40:49 Isis sshd[9848]: Failed password for ftp from 69.72.208.154 port 40435 ssh2

Após «googlar» um bocado encontrei o que me pareceu ser a solução ideal, APF (Advanced Policy Firewall) e BFD (Brute Force Detection).

O APF é um uma firewall baseada nas iptables, isto é, faz uso das iptables. Está bem documentado, é fácil de utilizar e simples no que diz respeito à configuração. O BFD é um script (que funciona em conjunto com o APF, tipo plug-in) que faz o parsing dos logs e procura por falhas na autenticação. Não sei se será a solução ideal, mas é de certo uma boa solução e muito configurável.


One Response to “APF & BFD”

  1. h4sh says:

    Bom post, ajudou :)

Comentar