CentOS 5 – DenyHosts

DenyHosts es un software bastante utilizado que intenta evitar los ataques de fuerza bruta vía ssh (dictionary based attacks o brute force attack).

Existen varios, como FailtoBan, aunque esté sea más genérico y dependa mucho de encontrar las expresiones regulares adecuadas lo que todavía no está bien encontrado.

Volviendo a DenyHosts, si lo que queremos es evitar ataques por ssh, este software es bastante útil. Lo digo porque cuando tienes el fichero btmp con este tamaño:

[root@hn19 software]# ls -lisah /var/log/btmp
3189425 785M -rw------- 1 root utmp 784M Jul 30 07:39 /var/log/btmp

Es para hacer algo, ¿no?

1. Descargar RPMforge
# wget
rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm

2. Instalar RPMforge
# rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm

3. Instalar DenyHosts
# yum install denyhosts

El archivo de configuración está en:

/etc/denyhosts/denyhosts.cfg

4. Iniciar denyhosts
[root@ software]# service denyhosts start
starting DenyHosts: /usr/bin/env python
/usr/bin/denyhosts.py --daemon --config=/etc/denyhosts/denyhosts.cfg

Es más que posible que ya en el primer arranque del servicio, nos añada hosts al fichero /etc/hosts.deny para su bloqueo. En el log podemos ir viendo el funcionamiento del servicio.

# tail -f /var/log/denyhosts


#!/bin/bash
#modificar si el mirror ya no esta disponible
URL_DENYHOSTS="http://downloads.sourceforge.net/project/denyhosts/denyhosts/2.6/DenyHosts-2.6.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fdenyhosts%2Ffiles%2F&ts=1290179362&use_mirror=ovh"
RUTA_PYTHON="/usr/bin/python"
RUTA_DENYHOSTS="/usr/share/denyhosts"
cd /tmp
wget $URL_DENYHOSTS
tar xf DenyHosts-2.6.tar.gz
cd DenyHosts-2.6
python setup.py install
cd $RUTA_DENYHOSTS
cp denyhosts.cfg-dist denyhosts.cfg
cp daemon-control-dist daemon-control
chown root daemon-control
chmod 700 daemon-control
 cd /etc/init.d
ln -s /usr/share/denyhosts/daemon-control denyhosts
chkconfig --add denyhosts

SECURE_LOG = /var/log/secure
HOSTS_DENY = /etc/hosts.deny
PURGE_DENY = 30d
PURGE_THRESHOLD = 1
BLOCK_SERVICE = sshd
DENY_THRESHOLD_INVALID = 5
DENY_THRESHOLD_VALID = 10
DENY_THRESHOLD_ROOT = 3
DENY_THRESHOLD_RESTRICTED = 3
WORK_DIR = /usr/share/denyhosts/data
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
HOSTNAME_LOOKUP=YES
LOCK_FILE = /var/lock/subsys/denyhosts
SYSLOG_REPORT=YES
AGE_RESET_VALID=5d
AGE_RESET_ROOT=25d
AGE_RESET_RESTRICTED=25d
AGE_RESET_INVALID=10d
DAEMON_LOG = /var/log/denyhosts
DAEMON_SLEEP = 30s
DAEMON_PURGE = 1h

One thought on “CentOS 5 – DenyHosts

  1. En el primer punto das un enlace para descargar RPMFORGE. He visto que hay versiones mas recientes de este paquete, ademas de paquetes para Centos 3 y 4. Los puedes encontrar en el siguiente enlace:

    http://packages.sw.be/rpmforge-release/

    He realizado la búsqueda debido a que quería instalarlo en un Centos 4.7, y el paquetes al que haces referencia en tu enlace no me servia.

    Yo he descargado el siguiente paquete:
    http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el4.rf.x86_64.rpm

    Saludos!

Leave a Reply

Your email address will not be published. Required fields are marked *