É um script feito em PERL por Phil Schwartz, no qual ajuda na segurança do serviço SSH contra ataques de "FORÇA BRUTA".
Como funciona:
O DenyHosts busca as tentativas de conexão em /var/log/secure.log ou /var/log/auth.log, dependendo da distribuição Linux usada. Na configuração pode-se indicar quantas tentativas o usuário pode fazer sem sucesso, atingindo esse número de falhas o DenyHosts copia o IP para dentro de /etc/hosts.deny.
Nessa configuração pode-se setar tentativas de usuários válidos no sistema ou inválidos, ou seja, 3 tentativas para usuários inválidos e 5 para usuários válidos, também informamos quanto tempo esse IP ficará bloqueado.
Requisitos: é necessário o Python para rodar o DenyHosts.
Instalação
1) Vamos entrar no diretório onde ficará o DenyHosts:
# cd /opt
2) Agora baixaremos o DenyHosts da seguinte forma:
[1] Comentário enviado por remontti em 05/01/2009 - 10:18h
Muito boa sua politica,
eu uso uma outra bloqueava sempre hosts.deny, e outras conf,
vou aplicar aqui em um dos servidores aqui ver como fica, junto das minhas, se funcionar depois posto ai.
[5] Comentário enviado por removido em 07/01/2009 - 20:08h
A solução é interessante, mas na minha opinião é muito mais eficaz dar acesso somente á quem deve ter acesso com o parametro AllowUsers dentro do sshd.conf, bem como restringir senhas em branco, XForwarding, etc. Normalmente eu crio um Jail para cada usuário para incrementar ainda mais a segurança e dar acesso somente ao que o usuário necessita via ssh.
Mas é isso aí, o artigo veio para agregar.
Abraços.
[6] Comentário enviado por Rafael Guedes em 11/01/2009 - 12:46h
Muito bom seu artigo, parabéns!
Mas vale lembrar que se o DenyHosts estiver sendo executado em modo daemon as seguintes flags serão ignoradas:
--file, --purge, --migrate, --sync, --verbose
Portanto se você estiver tentando fazer algum teste remoto, não faça o que eu fiz =P
#Limpar o arquivo a cada 1 minuto
PURGE_DENY = 1m
Não consegui mais acessar o servidor pela minha máquina, tive que acessá-lo por outro servidor e limpar o arquivo /etc/hosts.deny. Portanto fica aí a dica, faça com que a vontade de ler o manual seja mais forte do que a vontade de ver o negócio rodando...