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 denyhostsPasso 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.allowAdicione uma linha como a linha abaixo.
ssh: 162.28.6.3, 103.124.4.9A 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.confConfirme se o caminho para o arquivo do log está correto, deve estar como o exemplo abaixo.
SECURE_LOG = /var/log/auth.logA opção HOSTS_DENY deve estar:
HOSTS_DENY = /etc/host.denyPara 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 = 5DENY_THRESHOLD_ROOT = 1DENY_THRESHOLD_RESTRICTED = 1
Para bloquear os Hosts, o Denyhosts utiliza o firewall Iptables
Salve e feche o arquivo. Passo 3 - Reiniciando o Serviço Para que as alterações tenham efeito é preciso reiniciar o serviço.IPTABLES = /sbin/iptables
$ sudo /etc/init.d/denyhosts restart(mais…)