Dentro do arquivo de configuração /opt/DenyHosts-2.6/denyhosts.cfg vamos descomentar/comentar/acrescentar as seguintes linhas:
#Arquivo de log a ser verificado
SECURE_LOG = /var/log/secure #Arquivo com os hosts bloqueados
HOSTS_DENY = /etc/hosts.deny #Limpar o arquivo a cada 2 dias
PURGE_DENY = 2d #Qual serviço deve ser bloqueado
BLOCK_SERVICE = sshd #Número de tentativas que um usuário não valido pode tentar se conectar
DENY_THRESHOLD_INVALID = 2 #Número de tentativas que um usuário valido pode tentar para se conectar
DENY_THRESHOLD_VALID = 2 #Número de tentativas com a senha do ROOT
DENY_THRESHOLD_ROOT = 1 #Email do destinatário que receberá os logs de bloqueio de IP
ADMIN_EMAIL = meuemail@meudominio.com.br #Servidor de SMTP
SMTP_HOST = smtp.meudominio.com.br #Porta do servidor SMTP
SMTP_PORT = 25 #Remetente
SMTP_FROM = DenyHosts <nobody@localhost> #Assunto
SMTP_SUBJECT = DenyHosts - IP bloqueado no servidor XXXX #Arquivo de LOG do DenyHosts
DAEMON_LOG = /var/log/denyhosts #De quanto em quanto tempo o DenyHosts deve varrer o arquivo de logs do sistema
DAEMON_SLEEP = 30s
Obs.: Ainda existem muitas outras opções do DenyHosts.
[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...