Guía de tecnologías

Cómo prevenir ataques de fuerza bruta con Brutelock

5 min read Seguridad Actualizado 18 Oct 2025
Evitar ataques de fuerza bruta con Brutelock
Evitar ataques de fuerza bruta con Brutelock

Qué es Brutelock

Brutelock es un programa de código abierto que vigila activamente varios archivos de registro (logs) del sistema y bloquea inmediatamente las IPs que muestran comportamiento malicioso. Protege SSH, FTP, POP e IMAP y puede ampliarse para vigilar cualquier servicio añadiendo la ruta del log y una expresión regular.

Definición rápida: Un ataque de fuerza bruta intenta adivinar credenciales probando muchas combinaciones hasta tener éxito.

Beneficios principales

  • Bloqueo automático de IPs tras intentos fallidos repetidos.
  • Soporta múltiples servicios mediante reglas extensibles.
  • Ligero y fácil de compilar e instalar en la mayoría de distribuciones Linux.

Requisitos previos

  • Acceso root o privilegios sudo en el servidor.
  • Herramientas básicas: tar, make, gcc (según la distribución).
  • Puerta de enlace/iptables configurables (si usas otra gestión de firewall, ajusta los pasos).

Pasos de instalación

  1. Descarga el agente Brutelock y guárdalo en /usr/local/.
  2. cd /usr/local/
  3. tar -xjvf brutelock-version_number.tar.bz2
  4. cd /usr/local/brutelock-version_number
  5. ./configure
  6. make
  7. make install
  8. Edita el nuevo archivo de configuración (/usr/local/brutelock/conf/brutelock.conf) y añade tu clave de suscripción.
  9. Si hace falta, corrige la ruta del log de SSH en la configuración. Consulta el README incluido si no conoces la ruta en tu sistema. Descomenta los servicios adicionales que quieras proteger (ftp, pop, imap).
  10. Añade cualquier dirección IP a /usr/local/brutelock/conf/whitelist (una por línea) para IPs que nunca deben bloquearse. Asegura al menos localhost (127.0.0.1) y la IP pública del servidor.
  11. Añade una cadena separada en iptables: /sbin/iptables -N Brutelock-Firewall-INPUT
    /sbin/iptables -I INPUT -j Brutelock-Firewall-INPUT
  12. Inicia el demonio de Brutelock: /usr/local/brutelock/bin/brutelockd
  13. Observa cómo disminuyen los intentos fallidos en tus logs.

Configuración esencial

  • Suscripción: añade tu clave en brutelock.conf. Si no tienes clave, regístrate en el sitio de Brutelock (hay opción gratuita y suscripciones de pago con actualizaciones proactivas).
  • Whitelist: incluye localhost y la IP del servidor. Considera también las IPs de tu operadora o balanceador.
  • Regex: si añades servicios nuevos, prueba las expresiones regulares con grep para validar que detectan fallos correctamente.

Important: Si usas registros centralizados (rsyslog/ELK/Cloud), comprueba que Brutelock puede leer los logs locales o configura la fuente adecuada.

Añadir Brutelock al arranque en sistemas con systemd

Archivo de servicio sugerido (ejemplo básico):

[Unit]
Description=Brutelock daemon
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/brutelock/bin/brutelockd
Restart=on-failure

[Install]
WantedBy=multi-user.target

Guarda como /etc/systemd/system/brutelock.service, luego: systemctl enable --now brutelock.service

Comprobación y verificación

  • Sigue los logs donde Brutelock escribe (revisa brutelock.conf para la ruta). Un ejemplo genérico para ver intentos SSH:
tail -f /var/log/auth.log
  • Comprueba reglas de iptables: /sbin/iptables -L Brutelock-Firewall-INPUT -n -v

Cuando Brutelock no detecta o no bloquea (contrapruebas y limitaciones)

  • Logs no estándar: si el sistema registra en una ruta diferente o en formato distinto, Brutelock podría no detectar fallos. Solución: ajustar la ruta y la regex.
  • Balanceadores o NAT: si varias conexiones llegan desde una IP pública del balanceador, puedes bloquear tráfico válido. Solución: whitelist del balanceador o integrar con el balanceador para bloqueo a nivel de origen.
  • IPv6: comprueba soporte en tu configuración de iptables/ip6tables.
  • Distribuciones con firewalls gestionados (ufw/Firewalld): integra Brutelock o aplica reglas equivalentes.

Enfoques alternativos

  • fail2ban: solución popular que cumple función similar; buena integración con muchas distribuciones.
  • Firewalls en la nube (Cloudflare, AWS WAF, Security Groups): útil para parches a nivel de borde.
  • Autenticación por clave SSH y uso de 2FA: reduce la superficie de ataque.

Lista de verificación para equipos (rol basada)

Administrador de sistemas:

  • Compilar e instalar Brutelock.
  • Añadir servicio systemd y activar.
  • Verificar whitelist y rutas de logs.

Equipo de seguridad:

  • Revisar reglas de bloqueo y tolerancia para evitar falsos positivos.
  • Coordinar con operaciones sobre listas blancas de IPs.

DevOps/Plataforma:

  • Integrar con despliegues automatizados y monitoreo.
  • Validar compatibilidad con balanceadores y NAT.

Mini metodología de despliegue (3 fases)

  1. Prueba en staging: instala y configura con logs de prueba y una whitelist abierta.
  2. Ajuste: calibra expresiones regulares y tiempos/límites de bloqueo.
  3. Producción: activar, monitorear 72 horas y ajustar según falsos positivos.

Medidas de seguridad adicionales

  • Deshabilita el login de root por SSH.
  • Usa autenticación por clave y, si es posible, 2FA.
  • Limita usuarios con acceso SSH mediante AllowUsers/AllowGroups.
  • Mantén el sistema y Brutelock actualizados.

Compatibilidad y notas de migración

  • Brutelock funciona en la mayoría de sistemas Linux; revisa dependencias antes de compilar.
  • En sistemas que usan nftables, adapta la integración o usa una capa de compatibilidad para iptables.
  • Si migras a contenedores, ejecuta Brutelock en el host o en una VM que tenga acceso a los logs relevantes.

Riesgos y mitigaciones

Riesgo: bloqueo de IPs legítimas. Mitigación: whitelist, periodos de bloqueo razonables y monitorización.

Riesgo: pérdida de visibilidad con logs centralizados. Mitigación: asegurar acceso a logs o enviar eventos relevantes a la plataforma de seguridad.

Preguntas frecuentes

¿Necesito una clave de suscripción? Puedes usar la opción gratuita registrándote; la clave permite bloqueo activo y actualizaciones del servicio.

¿Qué IPs debo incluir en la whitelist? Al menos 127.0.0.1 y la IP pública del servidor. Añade IPs de tus servicios de monitorización y balanceadores.

¿Funciona con IPv6? Depende de la configuración de iptables/ip6tables y de la versión de Brutelock; verifica y ajusta según sea necesario.

Resumen

  • Brutelock ofrece bloqueo automático de IPs que realizan ataques de fuerza bruta.
  • La instalación es por compilación y requiere ajuste de configuración y whitelist.
  • Prueba en staging, calibra las reglas y monitoriza en producción.

Notas

  • Ajusta las expresiones regulares y las rutas de logs según la distribución.
  • Considera soluciones en la nube o adicionales como fail2ban si se adaptan mejor a tu entorno.
Autor
Edición

Materiales similares

Desactivar escritura gestual en Android
Android

Desactivar escritura gestual en Android

Solución: gdi32full.dll falta en Windows 10
Windows

Solución: gdi32full.dll falta en Windows 10

Foto de perfil personalizada en Netflix
Streaming

Foto de perfil personalizada en Netflix

Convertir .img a archivo flashable para Odin
Android

Convertir .img a archivo flashable para Odin

Cómo hacerse viral en TikTok — Guía práctica
Redes sociales

Cómo hacerse viral en TikTok — Guía práctica

Formatear SD a FAT32 en Mac — 3 métodos
Almacenamiento SD

Formatear SD a FAT32 en Mac — 3 métodos