DenyHosts. Protección frente a ataques SSH.
Índice
1. Introducción
2. Instalación
3. Configuración
1. Introducción
Antes de incrementar la seguridad de nuestro sistema instalando y configurando DenyHosts para evitar ataques SSH, recomiendo la lectura de este otro tutorial:
Manual SSH: El dios de la administración remota
2. Instalación
Para instalar DenyHosts podemos usar Adept o Konsole:
sudo aptitude install denyhostsDenyHosts es un script en Python que analiza el log del servidor SSH y toma ciertas decisiones (configurables) cuando detecta que se están recibiendo repetidos intentos de conexión fallidos desde una IP concreta. Esta IP se añadirá al archivo /etc/hosts.deny para bloquear su acceso. En /etc/hosts.allow se puede indicar una lista de hosts a los que se les permite el acceso al sistema.
Para arrancar DenyHosts usaremos este comando:
sudo /etc/init.d/denyhosts startCuando reiniciemos el sistema, DenyHosts se arrancará automáticamente.
3. Configuración
El archivo de configuración de DenyHosts es /etc/denyhosts.conf. Veamos algunos parámetros de configuración interesantes:
- DENY_THRESHOLD_INVALID
- DENY_THRESHOLD_VALID
- SECURE_LOG
- PURGE_DENY
- BLOCK_SERVICE
Número de intentos fallidos permitidos con una cuenta que no existe. Una vez alcanzado ese número, se incluirá la IP en el archivo /etc/hosts.deny y se le denegará el servicio.
Lo mismo que en el caso anterior, pero para cuentas de usuario válidas.
Ruta del log del servidor SSH. En Kubuntu este log está en /var/log/auth.log
Indica el tiempo que una IP tiene que permanecer en el archivo /etc/hosts.deny. Cuando arranquemos denyhosts con la opción "purge"
sudo /etc/init.d/denyhosts start --purgese eliminarán las entradas de /etc/deny.hosts que sean más antiguas que el tiempo indicado por PURGE_DENY.
Indicamos el servicio que queremos bloquear a las IP's que están en /etc/hosts.deny (todos, sólo el ssh, etc...).
Hay muchas más opciones y están bastante bien explicadas (en inglés) en el propio archivo de configuración.
Más información en Konsole con:
man denyhosts