Pplware

DenyHosts – Proteja o seu servidor de ataques via SSH

…baseados em dicionários e de força bruta

Como já tive oportunidade de referir em vários artigos, sou um “viciado” em SSH para acesso remoto as minhas máquinas a partir de qualquer lugar/dispositivo. O SSH (Secure Shell), também conhecido como Secure Socket Shell, é um protocolo/aplicação que permite de forma segura aceder remotamente a uma máquina Linux.

No entanto, ao activarmos o SSH numa máquina Linux no porto 22 e estando esta exposta para o exterior (Internet), é frequente começarmos a receber milhares de tentativa de acesso provenientes de todo o mundo. Como resolver esta situação?

Para quem não sabe, os ataques baseados em força bruta recorrem normalmente a dicionários e vão testando milhares de utilizadores e passwords até que se consiga ganhar acesso. Para quem é administrador de sistemas linux e caso tenha o SSH a correr no sistema, pode visualizar facilmente essa informação nos logs do sistema (no caso do CentOS, essa informação está em /var/log/secure).

O que é o DenyHosts?

O DenyHosts é um script desenvolvido para sistemas Linux que permite “ajudar” no controlo de ataques indevidos via SSH. Na prática, este script avalia constantemente as tentativas de acesso via SSH e no caso  de serem considerados como ataques de força bruta, é criada uma entrada no ficheiro /etc/hosts.deny que bloqueia o acesso da máquina remota (que supostamente está a tentar aceder indevidamente).

Este script permite:

Como instalar o DenyHosts no CentOS?

Para este tutorial, recorremos ao CentOS 6.0.

Para instalar o DenyHosts via repositório, vamos adicionar à nossa máquina o repositório EPEL

rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
yum install yum-priorities

Em seguida instalamos o script DenyHosts

yum install denyhosts

Definimos que o denyhosts deverá arrancar ao automaticamente com o sistema

chkconfig denyhosts on

e em seguida, arrancamos o serviço

service denyhosts start

E está feito. Caso pretendam realizar alguma configuração no denyhosts devem fazê-la em /etc/denyhosts.conf

Para verificarem quais as máquinas que o denyhosts coloca na blacklist, basta aceder ao ficheiro /etc/hosts.deny, utilizado para isso, por exemplo, o comando:

tail -f /etc/hosts.deny

Dica: Para verificarem o denyhosts experimentem, a partir de uma máquina remota, ligaram-se ao vosso servidor com SSH e experimentarem 5 autenticações falhadas.

Exit mobile version