Cómo utilizar DenyHosts para prevenir ataques de fuerza bruta SSH
Los ordenadores expuestos a Internet son notoriamente peligrosos. No lo tome a la ligera sólo porque su sitio web es pequeño, menos popular o menos llamativo: la mayoría de los ataques en Internet no tienen objetivo; los piratas informáticos descubren hosts potencialmente vulnerables mediante un escaneo exhaustivo de puertos IP y luego los atacan con herramientas de escaneo automatizadas y detalladas. agrietamiento. Antes de modificar el puerto SSH 22, uno de los servidores del autor recibía una media de casi cien intentos de conexión desde diferentes IP cada día. DenyHosts es una de esas herramientas. A continuación se explica cómo instalar y utilizar la herramienta.
Cómo funciona DenyHosts
DenyHosts analizará automáticamente archivos de registro de seguridad como /var/log/secure. Cuando se encuentre una solicitud de conexión anormal, agregará automáticamente su IP a /etc. /hosts.deny para evitar que la IP sea descifrada por fuerza bruta. Al mismo tiempo, Denyhosts también puede desbloquear automáticamente direcciones IP bloqueadas después de un período de tiempo.
Sitio web oficial
El sitio web oficial de Denyhosts es: / (Incidente de puerta trasera de Putty, recuerde el sitio web oficial del software de seguridad)
Método de instalación p>
1. Descargue el código fuente de DenyHosts y descomprímalo (la última versión es 2.6)
1 [root@www ~]# wget/projects/denyhosts/files/denyhosts/2.6/DenyHosts. -2.6.tar .gz
2 [root@www ~]# tar zxvf DenyHosts-2.6.tar.gz
3 [root@www ~]# cd DenyHosts-2.6
2. Instalación e implementación
1 [root@www DenyHosts-2.6]# yum install python -y
2 [root@www DenyHosts-2.6]# python setup.py install
3 Prepare el archivo de configuración predeterminado
1 [root@www DenyHosts-2.6]# cd /usr/share/denyhosts/
2 [root@www denyhosts]# cp denyhosts.cfg-dist denyhosts .cfg
3 [root@www denyhosts]# cp daemon-control-dist daemon-control
4. Edite el archivo de configuración denyhosts.cfg
1 [root@www denyhosts]# vi denyhosts.cfg
La estructura del archivo de configuración es relativamente simple y los parámetros principales se describen brevemente a continuación:
PURGE_DENY: Cuando se bloquea una IP, cuánto tiempo tarda en desbloquearse automáticamente. Las opciones opcionales incluyen 3 min (tres minutos), 5 h (5 horas), 2 días (dos días), 8 semanas (8 semanas), 1 año (un año);
PURGE_THRESHOLD: define el número máximo de direcciones IP desbloqueadas De segunda categoría.
Es decir, si una IP se bloquea/desbloquea PURGE_THRESHOLD veces debido al descifrado por fuerza bruta de contraseñas SSH, se prohibirá permanentemente;
BLOCK_SERVICE: el nombre del servicio que debe bloquearse;
DENY_THRESHOLD_INVALID: El número de veces que un nombre de usuario no válido (usuario inexistente) ha sido bloqueado después de iniciar sesión;
DENY_THRESHOLD_INVALID: El número de veces que un nombre de usuario no válido (usuario inexistente) ha sido bloqueado bloqueado después de iniciar sesión;
DENY_THRESHOLD_VALID: el número de veces que un nombre de usuario válido ha sido bloqueado después de iniciar sesión (por ejemplo:
DENY_THRESHOLD_SERVICE: el nombre del servicio que necesita ser bloqueado);
DENY_THRESHOLD_INVALID: el nombre de usuario no válido (usuario inexistente) ha sido bloqueado después de iniciar sesión varias veces. g.,
DENY_THRESHOLD_ROOT: cuántas veces el usuario root intenta iniciar sesión antes de ser bloqueado;
HOSTNAME_LOOKUP: si se debe intentar resolver el nombre de dominio de la IP de origen; p>
Puedes seguir las instrucciones anteriores, explorar este archivo de configuración y modificarlo ligeramente si es necesario.
5. Inicie Denyhosts
1 [root@www denyhosts]# ./daemon-control start
Si necesita que DenyHosts se inicie automáticamente cada vez que reiniciar, también necesita:
6. Configurar el inicio automático
Hay dos métodos para configurar el inicio automático.
El primero es utilizar DenyHosts como un servicio similar a apache y mysql. Este método puede controlar su estado a través del comando /etc/init.d/denyhosts. El método es el siguiente:
1 [root@www denyhosts]# cd /etc/init.d
2 [root@www init.d]# ln -s /usr /share/ denyhosts/daemon-control denyhosts
3 [ root@www init.d]# chkconfig --add denyhosts
4 [root@www init.d]# chkconfig - nivel 2345 denyhosts en
El segundo método es agregar Denyhosts directamente a rc.local para que se inicie automáticamente (similar a la "carpeta de inicio" de Windows):
1 [root@www denyhosts ] # echo '/usr/share/denyhosts/daemon-control start' gt;gt; /etc/rc.local /etc/rc.local
Para ver qué IP se han bloqueado, abra /etc /hosts.deny archivo.