Table of Contents
Bloquear ataques al servidor SSH (ataques de fuerza bruta) mediante DenyHosts
DenyHosts. es un programa de seguridad de prevención de intrusiones de código abierto y gratuito basado en registros para servidores SSH. desarrollado en lenguaje Python. por Phil Schwartz. Su objetivo es monitorear y analizar los registros del servidor SSH en busca de intentos de inicio de sesión no válidos, ataques basados en diccionarios y ataques de fuerza bruta al bloquear las direcciones IP. de origen agregando una entrada a /etc/hosts.deny. en el servidor y evita que la dirección IP realice más intentos de inicio de sesión.
Instalar DenyHosts para bloquear ataques SSH
DenyHosts. es una herramienta muy necesaria para todos los sistemas basados en Linux, especialmente cuando permitimos inicios de sesión ssh basados en contraseña. En este artículo, le mostraremos cómo instalar y configurar DenyHosts. en RHEL 6.3/6.2/6.1/6/5.8. CentOS 6.3/6.2/6.1/6/5.8. y Fedora 17,16,15,14,13, 12. que utilizan el repositorio epel.
Consulte también.
- Sistema Fail2ban (Prevención de intrusiones) para SSH
- Deshabilitar o habilitar el inicio de sesión de raíz SSH
- Linux Malware Detect (LMD)
Instalación de DenyHosts en RHEL, CentOS y Fedora
De forma predeterminada
# yum–enablerepo = epel install denyhosts O # yum install denyhosts
Configuración de DenyHosts para direcciones IP de la lista blanca
Una vez instalados los Denyhosts. asegúrese de incluir en la lista blanca su propia dirección IP. para que nunca se bloquee. Para hacer esto, abra un archivo /etc/hosts.allow.
# vi/etc/hosts.allow freestar.config.enabled_slots.push
Debajo de la descripción, agregue cada dirección IP. una por una en una línea separada, que nunca desee bloquear. El formato debe ser el siguiente.
# # hosts.allow Este archivo contiene reglas de acceso que se utilizan para # permitir o denegar conexiones a servicios de red que # utilizan la biblioteca tcp_wrappers o que se han # iniciado a través de un tcp_wrappers-habilitado xinetd. # # Consulte ‘man 5 hosts_options’ y ‘man 5 hosts_access’ # para obtener información sobre la sintaxis de las reglas. # Consulte ‘man tcpd’ para obtener información sobre tcp_wrappers # sshd: 172.16.25.125. sshd: 172.16.25.126. sshd: 172.16.25.127.
Configuración de DenyHosts para alertas de correo electrónico
El archivo de configuración principal se encuentra en /etc/denyhosts.conf. Este archivo se utiliza para enviar alertas por correo electrónico sobre inicios de sesión sospechosos y hosts restringidos. Abra este archivo usando el editor VI.
# vi/etc/denyhosts.conf
Busque ‘ADMIN_EMAIL. y agregue su dirección de correo electrónico aquí para recibir alertas por correo electrónico sobre inicios de sesión sospechosos (para alertas de correo electrónico múltiples, utilice comas). Por favor, eche un vistazo al archivo de configuración de mi servidor CentOS 6.3. Cada variable está bien documentada, así que configúrala a tu gusto.
############ DENYHOSTS AJUSTES REQUERIDOS ############ SECURE_LOG =/var/log/secure HOSTS_DENY =/etc/hosts.deny BLOCK_SERVICE = sshd DENY_THRESHOLD_INVALID = 5 DENY_THRESHOLD_VALID = 10 DENY_THRESHOLD_ROOT = 1 DENY_THRESHOLD_RESTRICTED = 1 WORK_DIR =/var/lib/denyhosts SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS = SÍ HOSTNAME_LOOKUP = SÍ LOCK_FILE =/var/lock/SUBSYS/denyhosts ############ DenyHosts OPCIONAL AJUSTES ############ ADMIN_EMAIL = [email protected]. SMTP_HOST = localhost SMTP_PORT = 25 SMTP_FROM = DenyHosts <[correo electrónico protegido]>. SMTP_SUBJECT = Informe diario de DenyHosts ############ AJUSTES OPCIONALES DE DENYHOSTS ############ DAEMON_LOG =/var/log/denyhosts DAEMON_SLEEP = 30s DAEMON_PURGE = 1h
Reiniciando el servicio DenyHosts
Una vez que haya terminado con su configuración, reinicie el servicio denyhosts. para nuevos cambios. También agregamos el servicio denyhosts. al inicio del sistema.
# chkconfig denyhosts on # service denyhosts start
Ver registros de DenyHosts
Para ver denyhosts. ssh registra la cantidad de atacantes y piratas informáticos que intentan obtener acceso a su servidor. Utilice el siguiente comando para ver los registros en tiempo real.
# tail-f/var/log/secure 28 de noviembre 15:01:43 tecmint sshd [25474]: Contraseña aceptada para root desde 172.16.25.125 puerto 4339 ssh2 28 de noviembre 15:01:43 tecmint sshd [25474]: pam_unix (sshd: sesión): sesión abierta para el usuario root por (uid = 0) 28 de noviembre 16:44:09 tecmint sshd [25474]: pam_unix (sshd: sesión) : sesión cerrada para el usuario root Nov 29 11:08:56 tecmint sshd [31669]: Contraseña aceptada para root desde 172.16.25.125 puerto 2957 ssh2 Nov 29 11:08:56 tecmint sshd [31669]: pam_unix (sshd: session): sesión abierta para usuario root por (uid = 0) 29 de noviembre 11:12:00 tecmint atd [3417]: pam_unix (atd: session): sesión abierta para usuario root por (uid = 0) 29 de noviembre 11:12:00 tecmint atd [3417]: pam_unix (atd: sesión): sesión cerrada para el usuario root 29 de noviembre 11:26:42 tecmint sshd [31669]: pam_unix (sshd: sesión): sesión cerrada para el usuario root 29 de noviembre 12:54:17 tecmint sshd [7480]: Contraseña aceptada para root desde 172.16.25.125 puerto 1787 ssh2
Eliminar dirección IP prohibida de DenyHosts
Si alguna vez lo bloqueó accidentalmente y desea eliminar esa dirección IP. prohibida de los denyhosts. Debe detener el servicio.
#/etc/init.d/denyhosts stop
Para eliminar o eliminar la dirección IP prohibida. por completo. Debe editar los siguientes archivos y eliminar la dirección IP.
# vi/etc/hosts.deny # vi/var/lib/denyhosts/hosts # vi/var/lib/denyhosts/hosts-restricted # vi/var/lib/denyhosts/hosts-root # vi/var/lib/denyhosts/hosts-valid # vi/var/lib/denyhosts/users-hosts
Después de eliminar la dirección IP prohibida, reinicie el servicio nuevamente.
#/etc/init.d/denyhosts start
La dirección IP ofensiva agregada a todos los archivos en el directorio /var/lib/denyhosts. por lo que es muy difícil determinar qué archivos contener la dirección IP infractora. Una de las mejores formas de averiguar la dirección IP mediante el comando grep. Por ejemplo, para averiguar la dirección IP 172.16.25.125. hágalo.
cd/var/lib/denyhosts grep 172.16.25.125 *
Incluir direcciones IP en la lista blanca de forma permanente en DenyHosts
Si tiene una lista de direcciones IP estáticas que desea incluir en la lista blanca de forma permanente. Abra el archivo /var/lib/denyhosts/allowed-hosts. Cualquier dirección IP incluida en este archivo no será prohibida por defecto (considérelo como una lista while).
# vi/var/lib/denyhosts/allowed-hosts
Y agregue cada dirección IP en una línea separada. Guarde y cierre el archivo.