Protegendo SSH e DDOS com Fail2Ban
Isso é muito importante principalmente para quem tem seu mk-auth na nuvem, pois os mesmos ficam recebendo um bombardeio de tentativas de acesso via ssh até que conseguem entrar e você perca o acesso ao mesmo.
Isso aconteceu comigo, porém os servidores na nuvem são próprios e tenho acesso direto, consegui reverter.
Para que não aconteça com mais ninguém resolvi compartilhar com todos a minha solução.
Grande abraço a todos.
Passo 1 – Instalar o Fail2Ban
#apt-get install fail2ban |
Passo 2 – Configurar o Fail2Ban
#cd /etc/fail2ban #cp jail.conf jail.local #nano jail.local |
Como deve ficar o arquivo jail.local
[DEFAULT] ignoreip = 127.0.0.1/8 bantime = 7776000 maxretry = 3 banaction = iptables-multiport
[ssh] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 3
[ssh-ddos] enabled = true port = ssh filter = sshd-ddos logpath = /var/log/auth.log maxretry = 3 |
Na configuração acima, maxretry = 3 é o numero de tentativas incorretas para o ip ser banido.
O item bantime = 7776000 é o período de banimento em segundos, neste caso 90 dias.
Passo 3 – Reiniciar o Fail2ban
/etc/init.d/fail2ban restart |
E aqui nesse momento, o serviço rodando, é que o Fail2Ban entrará em ação. Visualize através do comando abaixo os ips que estarão sendo banidos:
#iptables –n -L |
Importante: Se você não possuir acesso presencial em seu mk-auth, não faça teste do ip que você acessa o mesmo, pois se fizer o ip será banido e você não terá acesso ssh ao seu servidor mk-auth.
Caso você possua uma range de ip valido, ai tranquilo porque você vai bloquear 1 ip e vai trocar de ip para acessar novamente e desbloquear o ip bloqueado.
Caso tenha funcionado, dentro da Cadeia fail2ban-ssh, estará o endereço IP da máquina que foi bloqueada.
Retirar ip da lista de banidos.
Digitar:
iptables –n -L
Localizar a linha onde está o ip.
Comando para retirar o ip da lista:
fail2ban-client get ssh actionunban xxx.xxx.xxx.xxx
Onde xxx.xxx.xxx.xxx é o endereço de ip bloqueado.
No caso acima o banimento foi por tentativas de acesso via ssh
Reiniciar o fail2ban
/etc/init.d/fail2ban restart
Caso não funcione, pode ser feito da seguinte forma:
Editar o arquivo auth.log
nano /var/log/auth.log
procurar pelo ip a ser retirado e deletar todas as linhas com o ip encontrado.
Reiniciar o fail2ban
/etc/init.d/fail2ban restart
Abraço a todos.



Respostas
Poderia ser integrado à próxima ISO, junto com o LLDPd.
Pedro Filho disse:
legal, valeu a ajuda...