DenyHosts – Simples e Poderoso

Segurança SSH usando o DenyHost

O que é o DenyHost? O DenyHosts é uma ferramenta escrita em Python que monitora os logs do sistema em busca de ataques de força bruta SSH. Seu funcionamento é como de um HIDS. Funcionamento O DenyHost busca as tentativas de conexão em /var/log/secure.log ou /var/log/auth.log, dependendo da distribuição Linux usada. Ele irá analisar os logs e verificar os IPs que estão tentando ter acesso ao servidor, geralmente o host é bloqueado com 3 tentativas de acesso. Os valores e as configurações podem ser mudadas no arquivo de configuração (/etc/denyhosts/denyhosts.conf). Instalação A instalação do DenyHost pode acontecer de 2 formas: baixando o código fonte direto do site oficial ou através dos repositórios padrão do sistema. Neste artigo iremos abordar somente a instalação através do repositório padrão do sistema.  Informações sobre como instalar através do código fonte são encontradas aqui. Passo 1 - Instalando o DenyHosts Abra o terminal e digite:
$ sudo apt-get install denyhosts
Passo 2 - Coloque o seu IP na whitelist Edite o arquivo /etc/hosts.allow e coloque o IP de todas  as máquinas que terão direito acesso. Isso irá garantir que eles não sejam bloqueados futuramente.
$ sudo vi /etc/hosts.allow
Adicione uma linha como a linha abaixo.
ssh: 162.28.6.3, 103.124.4.9
A sintaxe é: protocolo IP, IP, ... Salve e saia do arquivo Passo 3 - Configure o denyhost.conf Na maior parte dos sistemas, o arquivo de configuração encontra-se em /etc/denyhosts.conf.
$ sudo vim /etc/denyhosts.conf
Confirme se o caminho para o arquivo do log está correto, deve estar como o exemplo abaixo.
SECURE_LOG = /var/log/auth.log
A opção HOSTS_DENY deve estar:
HOSTS_DENY = /etc/host.deny
Para bloquear somente SSH (É possível bloquear outros serviços, basta adicionar o serviço neste campo):
BLOCK_SERVICE = ssh
Defina as configurações de quantas tentativas deverão acontecer para ter o bloqueio:
DENY_THRESHOLD_INVALID = 5
DENY_THRESHOLD_VALID = 5
DENY_THRESHOLD_ROOT = 1
DENY_THRESHOLD_RESTRICTED = 1
Para bloquear os Hosts, o Denyhosts utiliza o firewall Iptables
IPTABLES = /sbin/iptables
Salve e feche o arquivo. Passo 3 - Reiniciando o Serviço Para que as alterações tenham efeito é preciso reiniciar o serviço.
$ sudo /etc/init.d/denyhosts restart
(mais…)

1 2