Evitando Brute Force Attack usando DenyHosts

DenyHosts es un script que lee nuestro log para saber si alguien nos esta haciendo un BFA, esta hecho en python, para instalarlo solo hay que seguir estas pequeñas instrucciones(CentOS, RedHat o Fedora)

1. Primero revisamos que version de python tenemos (para los q no saben escriban python -V)
2. Despues dependiendo de la version (2.3.x o 2.4.x) descargamos el rpm

wget http://superb-east.dl.sourceforge.net/sourceforge/denyhosts/DenyHosts-2.6-python2.3.noarch.rpm (2.3.x)
wget http://superb-east.dl.sourceforge.net/sourceforge/denyhosts/DenyHosts-2.6-python2.4.noarch.rpm (2.4.x)


3. Posteriormente instalamos el rpm

rpm -i DenyHosts-2.1-python2.3.noarch.rpm (2.3.x)
rpm -i DenyHosts-2.1-python2.4.noarch.rpm (2.4.x)


4. Ahora proseguiremos con la configuracion, nos dirigimos a la carpeta donde se instalo (/usr/share/denyhosts)

cd /usr/share/denyhosts


5. Ahora copiamos con otro nombre diferente el archivo denyhosts.cfg-dist

cp denyhosts.cfg-dist denyhosts.cfg


Para ahorar el paso 4 y 5 escribe: cp /usr/share/denyhosts/denyhosts.cfg-dist /usr/share/denyhosts/denyhosts.cfg o simplemente copia y pega

6. Ahora editamos nuestro archivo
nano denyhosts.cfg (pueden usar vi o el q mas les guste)
(para los que se saltaron el apso 4 y 5 escriban nano /usr/share/denyhosts/denyhosts.cfg o usen el editor q gusten en lugar de nano)

Dentro de nuestro archivo veremos que esta la opcion para RedHat o Fedora (Tambien entra CentOS o derivados de los anteriores), Mandrake, FreeBSD, OpenBSD, Suse, Mac OS X, lo que nos importa es que la linea del log que revisaremos en RedHat o Fedora o CentOS se encuentre descomentada (si seguiste los pasos aqui expuestos estara descomentada) y quedaria de la siguiente manera:

SECURE_LOG = /var/log/secure

Tambien tiene q estar descomentada la siguiente linea

HOSTS_DENY = /etc/hosts.deny Aqui iran los que se bloquearan

Bajamos un poco mas y encontramos la siguiente linea

PURGE_DENY = 2w Despues del igual ponemos el tiempo que queremos banear las ips, para minutos m, para horas h, para dias d, para semanas w y para años y, ejemplo 2w para bloquear 2 semanas)

BLOCK_SERVICE = ALL Los servisios que bloquearemos a esta seran todos XD)

Esto es lo mas importante, tiene la opcion de mandarnos el reporte a nuestro mail, bajemos hasta donde diga

ADMIN_EMAIL = (aqui ponemos nuestro email xD)

Nos da la opcion de usar un servidor smtp
SMTP_HOST = localhost
SMTP_PORT = 25
SMTP_USERNAME=foo (descomentamos esta linea y ponemos el user)
SMTP_PASSWORD=bar (descomentamos esta linea y ponemos el pass)
SMTP_FROM = DenyHosts (aqui ponemos lo que queramos ejemplo: Seguridad o reporte@dominio.com o lo q queramos xD )
SMTP_SUBJECT = DenyHosts Report (El Asunto, igual lo que queramos, ejemplo: Reporte de ataques)

Esto es lo basico por asi decirlo

7. Ahora copias daemon-control-dist con otro nombre
cp daemon-control-dist daemon-control

8. Editamos el archivo
nano daemon-control (nano /usr/share/denyhosts/daemon-control)
Y revisamos que se encuentren las siguientes lineas:
DENYHOSTS_BIN = "/usr/bin/denyhosts.py"
DENYHOSTS_LOCK = "/var/lock/subsys/denyhosts"
DENYHOSTS_CFG = "/usr/share/denyhosts/denyhosts.cfg"

9. Ahora lo asignamos a root
chown root daemon-control

10. Le cambiamos permisos
chmod 700 daemon-control

11. Iniciamos DenyHosts
./daemon-control start

12. Hacemos que inicie automaticamente
cd /etc/init.d
ln -s /usr/share/denyhosts/daemon-control denyhosts
chkconfig --add denyhosts

Listo espero les sirva de algo y les guste

0 comentarios: