LinuxParty

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado
 

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.

Instale DenyHosts para bloquear ataques SSH

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 
Pin It

Comentarios   

jose ramon
0 # jose ramon 05-05-2015 04:46
:lol: hola

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
Responder | Responder con una citación | Citar

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías

Nos obligan a moslestarte con la obviedad de que este sitio utiliza Cookies. Ver política