martes, diciembre 19, 2006

DenyHost al rescate de SSH.

DenyHosts es un script escrito en Python que tiene como único fin el evitar ataques por fuerza bruta, algo más que habitual cuando tenemos una máquina corriendo un servidor SSH público. Este script monitoriza el fichero /var/log/auth.log en búsqueda de un anormal crecimiento del mismo, como por ejemplo mi propio auth.log:

Jul 9 09:20:18 firewall-one sshd[687]: Failed password for root from 222.122.160.115 port 35695 ssh2
Jul 9 09:20:21 firewall-one sshd[689]: Could not reverse map address 222.122.160.115.
Jul 9 09:20:21 firewall-one PAM_unix[689]: authentication failure; (uid=0) -> root for ssh service
Jul 9 09:20:23 firewall-one sshd[689]: Failed password for root from 222.122.160.115 port 35909 ssh2
Jul 9 09:20:26 firewall-one sshd[691]: Could not reverse map address 222.122.160.115.


Instalación:
apt-get install denyhosts

Configuración:
vi /etc/denyhosts.conf
DENY_THRESHOLD_INVALID = 2 #Número de intentos fallidos permitidos a un usuario inexistente antes de denegar acceso
DENY_THRESHOLD_VALID = 4 #Número de intentos fallidos permitidos a un usuario existente antes de denegar acceso


/etc/init.d/denyhosts start
El fichero de configuración es mucho mas extenso, pudiendo filtrar las reglas, pero en un blog no es muy buena idea extenderse demasiado, de todas formas el fichero está muy bien comentado, eso sí en inglés(No problem).

No hay comentarios: