Instalar Denyhost
DenyHosts es un script escrito en Python que monitoriza las entradas del log de conexiones del SSH, /var/log/secure , para detectar ataques de fuerza bruta.
Cuando DenyHosts detecta que una IP esta realizando repetidos intentos de conexión fallidos, añade esta IP al fichero /etc/hosts.deny y de esta forma cortamos de inmediato los intentos de conexión desde la IP maliciosa.
Antes de descargar DenyHosts debemos comprobar la versión de Python disponible en el sistema:
python -V
Obtendremos algo parecido a esto:
Python 2.3.4
Después de conocer la versión de Python instalada en nuestro sistema, vamos a descargar el RPM de DenyHosts, el archivo preparado para la versión 2.3 de Python que es la que poseemos.
Para descargar directamente el paquete desde nuestro sistema utilizaremos wget:
Ejemplo:
#wget http://mesh.dl.sourceforge.net/sourceforge/denyhosts/DenyHosts-2.1-python2.3.noarch.rpm
Con el paquete descargado, ya podemos instalarlo:
#rpm -i DenyHosts-2.1-python2.3.noarch.rpm
Configuración
DenyHosts se instala en /usr/share/denyhosts en este directorio se encuentran los archivos de configuración. Disponemos de un archivo de ejemplo que tomaremos como base para crear la configuración:
#cd /usr/share/denyhosts
#cp denyhosts.cfg-dist denyhosts.cfg
Editamos el archivo denyhost.cfg con un editor y ajustamos los parámetros necesarios:
SECURE_LOG = /var/log/secure
HOSTS_DENY = /etc/hosts.deny
#
# Este parametro indica el periodo de tiempo (4 semanas) que mantendremos las IPs maliciosas
# en el fichero hosts.deny
PURGE_DENY = 4w
#
# Bloquear todos los servicios a la IP maliciosa
BLOCK_SERVICE = ALL
El resto de parámetros del archivo se pueden dejar con los valores por defecto, si además queremos recibir un mail cada vez que se detecten ataques, debemos especificar una dirección de correo válida en:
ADMIN_EMAIL =
Lo habitual es que utilicemos DenyHosts como servicio, para ello podemos aprovechar el archivo daemon-control-dist:
#cp daemon-control-dist daemon-control
Editamos el archivo y revisamos los valores:
DENYHOSTS_BIN = “/usr/bin/denyhosts.py”
DENYHOSTS_LOCK = “/var/lock/subsys/denyhosts”
DENYHOSTS_CFG = “/usr/share/denyhosts/denyhosts.cfg”
Despues, nos aseguramos que el archivo sea ejecutable para el usuario root:
chown root daemon-control
chmod 700 daemon-control
Arranque
Ya tenemos lista la configuración, ya podemos arrancar DenyHost:
./daemon-control start
Para que arranque automáticamente, crearemos los enlaces simbólicos necesarios:
cd /etc/init.d
ln -s /usr/share/denyhosts/daemon-control denyhosts
chkconfig –add denyhosts
De este modo tendremos configurado DenyHosts de la siguiente forma:
chkconfig –list denyhosts
denyhosts 0:desactivado 1:desactivado 2:activo 3:activo 4:activo 5:activo 6:desactivado
Si queremos ver las Ip´s que han sido bloqueadas en etc/hosts.deny, si queremos proteger una ip la añadiremosen el archivo etc/hosts.allow.
Share on Facebook