• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal

Bitacora Linux Logo

  • Acceder
  • Curso
  • Contactar
  • Apache
  • Consola y Servidores
  • Programacion
    • PHP
    • Javascript y HTML5
  • Otros

Asegura tu servidor con Denyhosts

Cuando tenemos un servidor con Linux andando, uno de los principales ataques que solemos sufrir, son los de fuerza bruta.

Estos ataques se basan en bot o redes de bot que usan combinaciones de usuarios y contraseñas, mediante diccionarios.

Una buena configuración de Denyhosts nos puede ayudar a proteger nuestro servidor de estos ataques.

¿Que es y porque asegurar tu servidor con Denyhosts?

Denyhosts, lo que hace es analizar el fichero «/var/log/auth.log» y ver los logins fallidos que hay. Según lo que le indiquemos en el fichero de configuración, baneará esa ip introduciendola en /etc/hosts.deny o le dejara algún reintento mas.

Instalación

Primeramente lo instalamos

apt-get install denyshosts

Configuración de Denyhosts

Una vez instalado vamos configurarlo, para ello editaremos el archivo denyshots.conf, que lo encontraremos en la siguiente ruta «/etc/denyhosts.conf»

SECURE_LOG = /var/log/auth.log

Le estamos indicando el fichero desde el cual tiene que analizar los intentos fallidos. Esta linea sera valida para Debian.

HOSTS_DENY = /etc/hosts.deny

Fichero donde se introducirán las ips baneadas.

PURGE_DENY = 2w

El tiempo que durara el baneo. En esta caso seran 2 semanas. Se pueden especificar minutos, horas, dias, semanas y años.

PURGE_THRESHOLD = 3

El numero de baneos que puede tener una ip. Si llega a 3 baneos, el baneao sera definitivo.

BLOCK_SERVICE = ALL

Los servicios que seran denegados a la ip baneada, en esta caso especificamos todos.

DENY_THRESHOLD_INVALID = 3

Numero de intentos para una cuenta que no existe. Lo vamos a dejar en 3 intentos. Básicamente porque es bastante sospechoso que un usuario intente acceder con una cuenta que no existe.

DENY_THRESHOLD_VALID = 5

Lo mismo que lo anterior, pero para cuentas que existan. Un maximo de 5 intentos para una cuenta que existe en el servidor.

DENY_THRESHOLD_ROOT=1

Numero de intentos para el acceso como root

SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES

Reportar entradas sospechosas.

HOSTNAME_LOOKUP=YES

Si es posible apuntar el nombre de host.

LOCK_FILE = /var/run/denyhosts.pid

Notificaciones

Donde guarda el pid el programa.

ADMIN_EMAIL = root@localhost

SMTP_HOST = localhost

SMTP_PORT = 25

SMTP_FROM = DenyHosts <nobody@localhost>

SMTP_SUBJECT = Reporte DenyHosts

Para que nos notifique por correo los baneos.

SYSLOG_REPORT=NO

Si queremos que nos reporte los ficheros de sistema.

Baneos

AGE_RESET_VALID=5d

Periodo de tiempo tras el cual se reiniciará el contador de intentos para los usuarios validos

AGE_RESET_ROOT=25d

Lo mismo pero para el usuario root.

AGE_RESET_INVALID=10d

Para usuarios que nos existen.

RESET_ON_SUCCESS = yes

Se resetearan los intentos al hacer login.

DAEMON_LOG = /var/log/denyhosts

Log del Denyhosts.

DAEMON_SLEEP = 30s

Intervalo de tiempo en el que revisara el log de entrada.

DAEMON_PURGE = 1h

Intervalo de tiempo para quitar los baneos.

SYNC_SERVER = https://xmlrpc.denyhosts.net:9911

SYNC_INTERVAL = 1h

Denyhosts actualizara la lista de hosts baneados cada hora con el servidor de Denyhosts.

SYNC_UPLOAD = yes

SYNC_DOWNLOAD = yes

SYNC_DOWNLOAD_THRESHOLD = 5

Subiremos nuestros hosts baneados, actualizaremos nuestra lista con los hosts que han subido otros usuarios, pero solamente los que le coinciden al menos a 5 usuarios.

Ahora solamente tenemos que arrancar el denyhosts.

Reinicio

/etc/init.d/denyhosts start

Como has podido comprobar configurar Denyhosts, no tiene mucha complicacion, aunque lo ideal es complementarlo con un buen iptables.

Si tuvieras cualquier duda para configurarlo, aqui te dejo un asistente para generar el fichero de configuracion.

Asistente de Configuracion de Denyhosts

  • Fichero desde el cual tiene que analizar los intentos fallidos
  • Fichero donde se introduciran las ips baneadas.
  • El tiempo que durara el baneo
  • Por favor, escribe un número entre 1 y 10.
    El numero de baneos que puede tener una ip
  • Servicios que seran bloqueados
  • Numero de intentos para una cuenta que no existe
  • Intentos para una cuenta que existe
  • Numero de intentos para la cuenta root.
  • Reportar Entradas Sospechosas
  • Apuntar el nombre del host
  • Fichero donde guarda el pid
  • Direccion de email para notificar los intentos
  • Si queremos que nos reporte los ficheros del sistema
  • Reseteo para cuentas baneadas que no son root
  • Reseteo para la cuenta root si esta baneada
  • Reseteo para cuentas que no existen
  • Resetear baneaos al hacer loging
  • Log de Denyhosts
  • Intervalo de tiempo en el que se revisara el log de entrada
  • Intervalo de tiempo para quitar revisar log y quitar baneos
  • Servidor de hosts baneados del propio denyhosts
  • Cada cuanto se actualizara
  • Si subiremos nuestros hosts baneados
  • Si bajaremos los hosts baneados
  • Por favor, escribe un número entre 1 y 100.

Para cualquier duda o consulta no dudes en consultarme.

Comparte esta entrada:

Compartir en X (Twitter) Compartir en Facebook Compartir en Email Compartir en WhatsApp Compartir en Telegram

Interacciones con los lectores

Deja una respuesta

Lo siento, debes estar conectado para publicar un comentario.

sidebar

sidebar-alt

Diseño y Desarrollo por juanjomc.com

Utilizamos cookies propias y de terceros para garantizar el funcionamiento de la web, medir su uso y mejorar nuestros servicios. Puede aceptar todas las cookies, rechazar las no necesarias o configurar sus preferencias. Política de cookies

Configurar cookies

Necesarias para que la web funcione correctamente. No se pueden desactivar desde este panel.

Ayudan a medir el uso del sitio y mejorar sus contenidos.

Permiten publicidad, medición de campañas o personalización de anuncios.

Guardan preferencias o permiten contenido externo no necesario.