LinuxParty
DenyHosts es un programa de código abierto y programa de seguridad de prevención de intrusiones para servidores SSH desarrollados en lenguaje Python por Phil Schwartz. Su objetivo es controlar y analizar los registros del servidor SSH para los intentos de login fallidos, ataques basados en diccionario y ataques de fuerza bruta mediante el bloqueo de las direcciones IP que se originan por la adición de una entrada al archivo /etc/hosts.deny en el servidor y evita que la dirección IP inicie de sesión.
DenyHosts es una herramienta para todos los sistemas basados en Linux, especialmente cuando estamos permitiendo contraseña ssh base . En este artículo vamos a mostrar cómo instalar y configurar DenyHosts
DenyHosts Instalación de RHEL, CentOS y Fedora
Por instrumento DenyHosts predeterminada no está incluida en los sistemas Linux, tenemos que instalarlo mediante terceros repositorio EPEL . Una vez añadido repositorio, instalar el paquete usando los siguientes comandos YUM.
# yum --enablerepo=epel install denyhosts O # yum install denyhosts
Configuración DenyHosts para lista blanca de direcciones IP
Una vez que DenyHosts esté instalado, asegúrese de que en la lista blanca esté su propia dirección IP, para que nunca se le cierre la puerta. Para ello, abra un archivo /etc/hosts.allow.
# vi /etc/hosts.allow
A continuación la descripción, agregue la dirección IP en una línea separada, que nunca desea bloquear. El formato debe ser de la siguiente manera.
# # Hosts.allow Este archivo contiene reglas de acceso que se utilizan para # Permitir o denegar la conexión a los servicios de red que # Utilizar la biblioteca tcp_wrappers o que han sido # Iniciado a través de un xinetd tcp_wrappers habilitado. # # Véase 'man 5 hosts_options "y" man 5 hosts_access'
# Para información sobre la sintaxis de la regla. # Véase '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 DenyHosts para alertas por correo electrónico
El archivo de configuración se encuentra en /etc/denyhosts.conf. Este archivo se utiliza para enviar alertas por correo electrónico acerca de los inicios de sesión sospechosos y los host restringidas. Abra el archivo utilizando el editor vi.
vi /etc/denyhosts.conf
Busque el "ADMIN_EMAIL 'y añada su dirección de correo electrónico para recibir alertas por email acerca logins sospechosos (para múltiples alertas, utilizar comas para separar destinatarios). Por favor, eche un vistazo en el archivo de configuración de mi servidor CentOS 6.3. Cada variable está bien documentada para configurarlo de acuerdo a su gusto.
############ DENYHOSTS REQUIRED SETTINGS ############ 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=YES HOSTNAME_LOOKUP=YES LOCK_FILE = /var/lock/subsys/denyhosts ############ DENYHOSTS OPTIONAL SETTINGS ############ ADMIN_EMAIL = Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. SMTP_HOST = localhost SMTP_PORT = 25 SMTP_FROM = DenyHosts <Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.> SMTP_SUBJECT = DenyHosts Daily Report ############ DENYHOSTS OPTIONAL SETTINGS ############ DAEMON_LOG = /var/log/denyhosts DAEMON_SLEEP = 30s DAEMON_PURGE = 1h
Reiniciar Servicio DenyHosts
Una vez que haya terminado con la configuración, reinicie el servicio denyhosts para hagan efectos los nuevos cambios. También vamos a añadir el servicio denyhosts para el arranque del sistema.
# chkconfig denyhosts on # service denyhosts start
Ver Logs DenyHosts
Para ver los registros de cuantos atacantes por ssh trataron de obtener acceso a su servidor ssh, Utilice el comando siguiente para ver los registros en tiempo real.
tail -f /var/log/secure
Nov 28 15:01:43 tecmint sshd[25474]: Accepted password for root from 172.16.25.125 port 4339 ssh2
Nov 28 15:01:43 tecmint sshd[25474]: pam_unix(sshd:session): session opened for user root by (uid=0)
Nov 28 16:44:09 tecmint sshd[25474]: pam_unix(sshd:session): session closed for user root
Nov 29 11:08:56 tecmint sshd[31669]: Accepted password for root from 172.16.25.125 port 2957 ssh2
Nov 29 11:08:56 tecmint sshd[31669]: pam_unix(sshd:session): session opened for user root by (uid=0)
Nov 29 11:12:00 tecmint atd[3417]: pam_unix(atd:session): session opened for user root by (uid=0)
Nov 29 11:12:00 tecmint atd[3417]: pam_unix(atd:session): session closed for user root
Nov 29 11:26:42 tecmint sshd[31669]: pam_unix(sshd:session): session closed for user root
Nov 29 12:54:17 tecmint sshd[7480]: Accepted password for root from 172.16.25.125 port 1787 ssh2es IP no permitidas de DenyHosts
Si alguna vez ha bloqueado accidentalmente y desea eliminar la dirección IP baneada de las denyhosts. Es necesario detener el servicio.
# /etc/init.d/denyhosts stop
Para quitar o eliminar direcciones IP prohibido completamente. Hay que 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 quitar la dirección IP prohibida, reinicie el servicio de nuevo.
# /etc/init.d/denyhosts start
La dirección IP infractora, es añadida a todos los ficheros en el directorio / var/lib/denyhosts, así que se hace muy difícil determinar los archivos que contienen la dirección IP infractora. La mejor manera de averiguar la dirección IP es con el comando grep. Por ejemplo, para averiguar la dirección IP 172.16.25.125, hacer.
cd /var/lib/denyhosts grep 172.16.25.125 *
Lista blanca de direcciones IP en DenyHosts
Si tienes la lista de direcciones IP estáticas podrá usarla como lista blanca de forma permanente. Abra el archivo de archivo /var/lib/DenyHosts/allowed-hosts. Sea cual sea la dirección IP incluida en este archivo no será prohibido de forma predeterminada (considere esto como una lista blanca).
# vi /var/lib/denyhosts/allowed-hosts
Y añadir la dirección IP de cada línea por separado. Guarde y cierre el archivo.
# No debemos bloquear localhost 127.0.0.1 172.16.25.125 172.16.25.126 172.16.25.127
-
Seguridad
- Conexión Segura NFS en Linux, Tunelizar NFS sobre SSH y Configuración de NFS sobre SSH para Mayor Seguridad
- Utilizar ssh sin contraseña con ssh-keygen y ssh-copy-id
- Millones de teléfonos móviles podrían ser vulnerables a la vigilancia del gobierno chino
- Cómo limitar las conexiones SSH a la red local en Linux
- Los televisores inteligentes son como un «caballo de Troya digital» en los hogares
- Snort para Windows, detección de Intrusos y seguridad.
- Detección de Intrusiones con las herramientas: BASE y Snort.
- El Sistema de Detección de Intrusos: Snort. ( Windows y Linux )
- Configuración con Ejemplos de Snort para Windows, detección de intrusiones
- ¿El gobierno de EE. UU. ignoró la oportunidad de hacer que TikTok fuera más seguro?
- ¿Qué es SSH y cómo se utiliza? Los conceptos básicos de Secure Shell que necesitas saber
- Asegurar memcached del servidor, para evitar amplificar ataques DDoS
- Consejos de Seguridad para Pagos Móviles en España: Protege tus Transacciones con Estos Consejos Prácticos
- 22 herramientas de seguridad de servidores Linux de código abierto en 2023
- 8 hábitos que deben tomar los teletrabajadores altamente seguros
Comentarios
en la versión denyhosts.noarc h 0:2.6-5 , han cambiado las rutas y nombre fichero ,por lo menos en cent os 6.5
/etc/denyhosts/denyhosts.cfg
un saludo