O seu portal de estudos

Protegendo seu servidor SSH contra ataque brute force (denyhosts)

Posted by Ricardo Pinheiro em 26 de julho de 2011

Mostrei em outro post como proteger seu servidor ssh com o fail2ban. Nesse post irei demonstrar o uso do DenyHosts, que tem a mesma finalidade, para proteger o seu servidor ssh contra ataque de brute force.

Que o SSH é uma ferramenta indispensável para qualquer administrador GNU/Linux e a até Unix/Correlatos não é nenhuma novidade, mas por incrível que pareça quando menciono que qualquer um que tenha o SSH instalado e o mesmo está acessível na internet ele está sujeito a tentativas de acessos não autorizados cometidos por pessoas mau intencionadas que fazem uso de diversos scripts/programas criados especificamente para esse propósito.

O DenyHosts permite o monitoramento do serviço SSH e pode bloquear tentativas consecutivas de acesso a usuários existentes ou não em seu servidor.

Primeiramente vamos instalar o DenyHosts:

# apt-get install denyhosts

Vamos a configuração e algumas explicações de alguns parâmetros

# vi /etc/denyhosts.conf

# Arquivo de log de autenticação
SECURE_LOG = /var/log/auth.log

# O denyhosts vem configurado para utilizar tcp_wrappers
HOSTS_DENY = /etc/hosts.deny

# Por quanto tempo as entradas no arquivo hosts.deny serão mantidas, ajuste as suas necessidades.
PURGE_DENY = 1d

# Qual o serviço será monitorado, para todos use ALL
BLOCK_SERVICE = sshd

# Bloqueia o host após a quantidade especificada de falhas de login de usuários inválidos.
DENY_THRESHOLD_INVALID = 3

# Bloqueia host após falhas de login para usuários válidos
DENY_THRESHOLD_VALID = 5

# Bloqueia qualquer tentativa de login do usuário root
DENY_THRESHOLD_ROOT = 1

# Igual a opção acima mas para nomes de usuários listados em WORK_DIR/restricted-usernames
DENY_THRESHOLD_RESTRICTED = 1

# Diretório onde o denyhost escreve seus dados
WORK_DIR = /var/lib/denyhosts

# Tenta obter um nome associado ao endereço IP
HOSTNAME_LOOKUP=YES

# Email do administrador
ADMIN_EMAIL = seunome@seudominio

# Host e porta do servidor SMTP
SMTP_HOST = localhost
SMTP_PORT = 25

# Quem esta enviando o email
SMTP_FROM = DenyHosts <nobody@localhost>

# Desbloqueio de usuários válidos que tenham apenas errado na digitação
AGE_RESET_VALID=1d

# O mesmo só que aplicado ao usuário root
AGE_RESET_ROOT=25d

# O mesmo para usuário restrito
AGE_RESET_RESTRICTED=25d

# Para usuários inválidos
AGE_RESET_INVALID=10d

# Onde irá armazenar o log
DAEMON_LOG = /var/log/denyhosts

—–

Após as modificações vamos reiniciar o denyhosts

# /etc/init.d/denyhosts restart

Na imagem abaixo tenho uma pequena amostra de todos os hosts bloqueados pelo denyhosts

Uma boa pedida também é configurar o seu servidor SSH para não permitir login do usuário root (PermitRootLogin no) e também a troca da porta de acesso (Port 6702).

Espero que tenham gostado do post e não deixem de assinar o nosso portal.

 

Anúncios

8 Respostas to “Protegendo seu servidor SSH contra ataque brute force (denyhosts)”

  1. jonas said

    Ricardo muito Bom.
    Gostaria de saber se existe a possiblidade de criar artigos relacionados a monitoramento do servidor
    Especificamente com o zabbix.
    Valeu

  2. ricardo montenegro said

    Muito bom, já está funcionando 100%.
    Agora acho que estou mais seguro, rsrsrsrs

  3. Boa Noite !
    Primeiramente quero parabeniza-lo pelo ótimo tutorial, e tbm gostaria de saber se posso usar esta ferramenta para proteger outros serviços como FTP, SMTP, MYSQL ? se a resposta for positiva, gostaria de saber como ficaria as configurações.

    • Ricardo Pinheiro said

      Jorge,

      Obrigado pelo elogio. Quanto aos serviços cobertos pelo DenyHosts na teoria ele protege qualquer serviço que utilize tcpwrappers, mas eu nunca o utilizei para proteger outro serviço que não seja o SSH.

      Abraços

  4. jader said

    Acho uma boa pedida posts de monitoramento com o zabbix, vejo pouco material em português!! E em forma de vídeo seria mas interessante, parebéns pelos posts Ricardo. Ansioso já pelo post de zabbix. 🙂 Abs

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

 
%d blogueiros gostam disto: