Primeiro alteramos a porta padrão!
nano /etc/ssh/sshd.conf
Altere:
Port = Mude a porta padrão 22 para outra qualquer.
No exemplo vamos alterar para 65002
LoginGraceTime = Quantos segundos vai ter para digitar a senha
Instale um sistema de log.
apt install rsyslog
Instalação fail2ban e nftables
Fail2Ban é uma estrutura de software de prevenção de intrusões que protege os servidores contra ataques de força bruta. Ele opera monitorando arquivos de logs, sendo o mais comum seu uso para bloquear endereços IPs que podem pertencer à hosts que estão tentando violar a segurança do seu servidor.
nftables é um firewall baseado no iptables que agora no Debian 11 já vem instalado por padrão substituindo o antigo iptables.
apt install fail2ban
### Veja o funcionamento:
fail2ban-client status
Por padrão, com o fail2ban funcionando, se alguém errar a senhapro5 vezes, vai ter seu ip bloqueado por 10 minutos.
Caso queira alterar as configurações:
nano /etc/fail2ban/jail.conf
###Ajuste o fail2ban para a porta do SSH que você definiu no início.
No exemplo para 65002
nano /etc/fail2ban/jail.conf
Localize com ctrl + W e digite sshd
###Ajustando as regras de bloqueio com método route:
Ele vai colocar em uma blackhole o ip que esta tentando acessar e ou atacar.
Pode pegar esse ip e adicionar em sua borda - firewall para ja matar também esse acesso na raiz.
Altere:
nano /etc/fail2ban/jail.conf
Localize banaction e banaction_allports e altere para route:
Ajuste agora para opção de blackhole
nano /etc/fail2ban/action.d/route.conf
Reinicie:
systemctl restart fail2ban
###Para visualizar seu firewall nftables:
ip route list ip -6 route list
Exemplo de um ip bloqueado depois de muito tentar acesso com senha invalido.
fail2ban-client status
Repare que temos um ip na blackhole com final 22 bloqueado.
Para remover:
fail2ban-client set sshd unbanip 200.200.200.200
Exemplo de script para remover todos os IPs banidos uma a um.
#!/bin/bash BANIDOS=`fail2ban-client status bind9 | grep "Banned IP list" | awk '{$1=$2=$3=$4=$5=""; print $0}'` IPS=$(echo $BANIDOS | tr " " "\n") for IP in $IPS do #echo "Removendo: ${IP}" fail2ban-client set bind9 unbanip ${IP} ; #ip route del ${IP} done
Se desejar adicionar algum prefixo a uma lista branca, você pode editar:
nano /etc/fail2ban/jail.conf
Localize ignoreip, descomente a linha (remova o # da frete) e adicione os prefixo que deseja ignorar, para não cair bloqueio.
Reinicie o serviço
systemctl restart fail2ban
Este artigo foi útil?
Que bom!
Obrigado pelo seu feedback
Desculpe! Não conseguimos ajudar você
Obrigado pelo seu feedback
Feedback enviado
Agradecemos seu esforço e tentaremos corrigir o artigo