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

Te puede interesar también...

  • Comandos iptables
    La mayoría de los comandos que se utilizan con iptables tienen en común esta estructura. iptables [-t] [command] [ch...
  • Script copia archivo en multiples directorios
    Este script realiza los siguientes pasos, comprueba si existen los documentos de texto que almacenan los dominios dados ...
  • Desactivar EntropyChat
    El EntropyChat es una especie de sala de chat que el cPanel/WHM instala por defecto y que por lo general no se usa, aunq...
  • Limite del bufer de respuesta superado
    Solución: aumentar el límite de búfer Si se debe aumentar el límite de búfer, seleccionar un límite de búfer que permita...
  • Redirigir de http a https
    Estas lineas las tenemos que agregar en el .htaccess del dominio en cuestión. Estamos en una dirección http (sin conexió...