Ver Feed RSS

tomelin

Segurança SSH com Deny Hosts

Avalie este Post de Blog
O que é Denuy Hosts:
É um script feito em PYTHON 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. Na configuração pode indicar quantas tentativas o usuário pode fazer sem sucesso se não o DenyHosts copia o IP para dentro de “/etc/hosts.deny”.
Essa 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 irá ficar bloqueado esse IP.

Requisitos:
É necessário do Python para rodar o DenyHosts.

Instalação:

1) Vamos entrar no diretório onde irá ficar o DenyHosts:
cd /opt
2) Agora iremos baixar o DenyHosts da seguinte forma:
wget -c http://ufpr.dl.sourceforge.net/sourc...sts-2.6.tar.gz
3) Iremos descompactar:
tar -zxvf DenyHosts-2.6.tar.gz
cd DenyHosts-2.6
4) Agora vamos criar os links
ln -s /opt/DenyHosts-2.6 /usr/share/denyhosts
ln -s /opt/DenyHosts-2.6/denyhosts.py /usr/bin
ln -s /opt/DenyHosts-2.6/daemon-control-dist /etc/rc.d/rc.denyshosts
5) O DenyHosts já vem com um arquivo de configuração pré-pronto, iremos apenas copiar ele
cp /opt/DenyHosts-2.6/denyhosts.cfg.dist /opt/DenyHosts-2.6/denyhosts.cfg


Configuração:
Dentro do arquivo de configuração “/opt/DenyHosts-2.6/denyhosts.cfg”, iremos descomentasr/comentar e 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 = [email protected]
#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 existe muitas outras opções do DenyHosts.


Colocando o DenyHosts em produção:
/etc/rc.d/rc.denyshosts restart

Verificando se ele está executando:
ps ax | grep denyhosts
2600 ? S 0:03 python /usr/bin/denyhosts.py --daemon --config=/usr/share/denyhosts/denyhosts.cfg
1940 pts/0 R+ 0:00 grep denyhosts


Testando o DenyHosts
#Vamos tentar locar na máquina local com o usuário fulano:
ssh -l fulano localhost
#Depois de colocar as senhas verifique o resultado
cat /opt/DenyHosts/data/users-invalid
fulano:5:Thu Dec 18 13:31:27 2008

Isso aí, agora seu serviço de Ssh está mais seguro.

Atualizado 14-01-2009 em 17:28 por tomelin

Categorias
Não Categorizado

Comentários

  1. Avatar de info24hs
    Ai! Parabéns! Tenho certeza que tem muito para contribuir nesse fórum, encha esse blog de posts..

    Abração..
  2. Avatar de danielrcom
    Brigadão, amigo.. Muito bom artigo.

+ Enviar Comentário