Você pode estar interessado em fail2ban .
Você pode estar interessado em fail2ban .
Simplesmente modifique seu arquivo / etc / ssh / sshd_config; adicione
MaxAuthTries 5
e reinicie o sshd.
Eu uso uma regra iptables que limita as conexões SSH a não mais que 10 por minuto. Após 10 conexões (ou tentativas), novas conexões de entrada desse IP são descartadas, o que geralmente é suficiente para fazer com que os possíveis invasores desapareçam.
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 10 --rttl --name SSH -j DROP
Outro bloqueador de conexão dinâmica baseado em tentativas de login com falha é DenyHosts . Ele funciona de maneira semelhante ao fail2ban, mas direciona especificamente as tentativas de login do ssh. A última vez que o configurei, achei muito fácil de configurar.
Não há desculpa para ter um servidor que aceitará muitas tentativas de login com falha do mesmo IP ou dentro de um período de tempo definido! Isso é apenas um gerenciamento malfeito. (Ou, pode-se argumentar, código do servidor Linux desleixado.: -)
Eu tenho alguns scripts python em meus servidores LAMP dedicados que fazem isso e muito mais. Eu também tenho algumas entradas IPTABLES que agem muito mais rápido para portas específicas.
Uma vez por minuto (trabalho cron), vários scripts python cada varrem vários arquivos de log para atividades maliciosas (como a frase "falha de senha" ou "usuário desconhecido"). O endereço IP que gerou os erros está temporariamente bloqueado (geralmente por duas semanas). Isso não funciona apenas para logins de SSH com falha, mas para muitos outros ataques mal-intencionados, como logins de email com falha ou tentativas de fazer com que o servidor envie spam.
É muito complicado postar toda a solução aqui, mas o acima deve fazer com que as células cerebrais de alguém trabalhem na direção certa.