Para evitar ataques de fuerza bruta, requiera autenticación multifactor en cada inicio de sesión a través de Internet, limite los intentos fallidos por cuenta, IP y globalmente, bloquee las contraseñas violadas, almacene hashes con Argon2id o bcrypt y alerte sobre fallas de inicio de sesión anormales. Coloque estos controles en capas, porque nadie detiene todas las variantes.
Abra el registro de autenticación de cualquier servidor SSH unas horas después de que se conecte y verá esto:
3 de octubre 02:14:07 web01 sshd[2231]: Contraseña fallida para root desde 203.0.113.45 puerto 51022 ssh2
3 de octubre 02:14:09 web01 sshd[2233]: Contraseña fallida para administrador del puerto 198.51.100.17 40318 ssh2
3 de octubre 02:14:11 web01 sshd[2236]: Contraseña fallida para ubuntu desde 192.0.2.88 puerto 33874 ssh2Tres nombres de usuario, tres IP, con dos segundos de diferencia. Nadie está escribiendo. Los bots prueban cada página de inicio de sesión, puerto SSH y punto final API que encuentran, y una única suposición exitosa conduce directamente aadquisición de cuenta. A continuación se muestran nueve controles clasificados por impacto, además de cómo detectar y responder a un ataque en curso.
Cómo prevenir ataques de fuerza bruta: 9 controles clasificados por impacto
Aplique la autenticación multifactor.Una contraseña adivinada correctamente o filtrada ya no otorga acceso.
Límite de velocidad y aceleración de inicios de sesión.Adivinar lentamente a una velocidad que lo haga inútil.
Siga las reglas de contraseña NIST SP 800-63B.Favorecer la longitud, bloquear contraseñas violadas, eliminar la rotación forzada.
Hash de contraseñas con Argon2id o bcrypt.Una base de datos robada no debería convertirse en una base de datos descifrada.
Agregue CAPTCHA y detección de bots de forma selectiva.Desafíe únicamente el tráfico sospechoso.
Fortalezca los inicios de sesión SSH, RDP, CMS y API.Cierre los servicios que los atacantes atacaron primero.
Utilice reputación de IP, reglas geográficas y un WAF.Elimine temprano el tráfico malo conocido.
Monitorear y alertar sobre fallas de autenticación.Capte lo que se escapa de la prevención.
Pon a prueba tus propias defensas.Confirme que los controles funcionan antes de que lo haga un atacante.
¿Poco tiempo? Realice primero los controles 1, 2 y 8. MFA limita el daño, la limitación de velocidad ralentiza el ataque y el seguimiento le indica lo que está sucediendo.
Por qué la prevención difiere según la variante

Cada variante es detenida por un control diferente, así que debes saber a cuál te enfrentas.
Variante | Cómo funciona | Firma de registro | Mejor control |
|---|---|---|---|
Fuerza bruta simple | Muchas conjeturas contra una cuenta | Muchos fracasos, un nombre de usuario | Estrangulamiento, bloqueo temporal |
Rociado de contraseñas | Algunas contraseñas comunes en muchas cuentas | Uno o dos fallos por cuenta | Límites globales y por IP, MFA |
Relleno de credenciales | Se repiten los pares de nombre de usuario y contraseña filtrados | IP rotativas de gran volumen | Ministerio de Asuntos Exteriores, control de incumplimiento |
Cracking sin conexión | Adivinando contra hashes robados | Ninguno en sus sistemas | Argon2id o bcrypt, contraseñas largas |
La fumigación derrota los bloqueos por cuenta porque cada cuenta casi no ve fallas. El craqueo sin conexión no deja ningún rastro, por lo que el hash es importante incluso si tu página de inicio de sesión es perfecta.
Control 1: Aplicar la autenticación multifactor

MFA ocupa el primer lugar porque hace que una contraseña correcta sea insuficiente. Clasificados por fuerza:
Claves de acceso y claves FIDO2.Resistente al phishing porque la credencial está vinculada al dominio real.
Aplicación de autenticación TOTP.Sólido, aunque un proxy de phishing en vivo puede transmitir el código.
Empuje con coincidencia de números.Bloquea aprobaciones ciegas.
Códigos SMS.Los más débiles, expuestos al intercambio de SIM. Úselo solo como alternativa.
Contrarreste la fatiga de MFA, donde los atacantes envían mensajes de spam hasta que alguien los apruebe, con coincidencia de números, un límite de mensajes por hora y alertas después de repetidas denegaciones. Implementación por radio de explosión: paneles de administración y consolas en la nube, luego correo electrónico, VPN y alojamiento de códigos, luego todos los demás. Bloquee también la ruta de recuperación. Nunca permita que el soporte deshabilite MFA solo por correo electrónico.
Control 2: Límite de velocidad y aceleración de intentos de inicio de sesión

Un robot que intenta 10.000 contraseñas por minuto es una amenaza. Si se mantiene a 5 por minuto, no lo es. Acelere antes de bloquear, porque los bloqueos estrictos permiten a los atacantes negar el servicio a usuarios reales.
Fallos 1 a 3: sin demora
Fallos 4 en adelante: 1, 2, 4, 8 segundos, con un límite de 60
Después de 10 fallos: bloqueo de 15 minutos más un correo electrónico al propietario de la cuenta
Límite en tres dimensiones, ya que cada variante pasa por una diferente: por cuenta (10 fallas cada 15 minutos), por IP (20 intentos por minuto) y global (alerta por encima de 3 fallas de referencia).
nginx
limit_req_zone $binary_remote_addr zona=login:10m tasa=5r/m;
ubicación / iniciar sesión {
limit_req zona=ráfaga de inicio de sesión=3 nodelay;
limit_req_status 429;
proxy_pass http://app_backend;
}Nginx solo ve IP, así que use contadores de Redis o un WAF para la cuenta y las capas globales. Aplique los mismos límites al restablecimiento de contraseña, la entrada MFA (un código de 6 dígitos tiene solo 1.000.000 de combinaciones) y las rutas de inicio de sesión API.
Control 3: Establecer reglas de contraseña basadas en NIST SP 800-63B
El NIST reemplazó las antiguas reglas de complejidad con una guía basada en cómo adivinan los atacantes.
Requiere un mínimo de 8 caracteres con MFA y 15 o más para cuentas de administrador. Permita 64 o más.
Suelta combinaciones forzadas de símbolos y números.
grapa correcta de la batería del caballolatidos¡P@ssw0rd!.Verifique las nuevas contraseñas con la API Have I Been Pwned Pwned Passwords, que utiliza k-anonimato para que la contraseña completa nunca salga de su sistema.
Finalizar la rotación programada. Fuerce un reinicio solo si hay evidencia de compromiso, como una coincidencia encontrada a través demonitoreo de la web oscura.
Permita pegar para que funcionen los administradores de contraseñas.
Si un auditor aún exige rotación, documente el fundamento del NIST y aplique la regla más estricta solo cuando un marco lo requiera.
Control 4: Contraseñas hash para detener ataques sin conexión
Los límites de velocidad no hacen nada una vez que un atacante controla su base de datos. Una GPU moderna prueba miles de millones de conjeturas MD5 por segundo, por lo que los hash rápidos caen en horas. Aquí es dondecomprender cómo funciona el hashingvale la pena. Utilice un algoritmo lento y con poca memoria:
Argón2id.La recomendación actual de OWASP.
cifrar.Alternativa fuerte.
bcrypt.Probado en batalla, factor de costo 12 o superior.
PBKDF2.Solo cuando el cumplimiento lo requiera, con 600.000 o más iteraciones.
Nunca utilice MD5, SHA-1 o SHA-256 solos. Las bibliotecas manejan la salazón, así que nunca lo escribas tú mismo. Ajuste el factor de trabajo a aproximadamente 250 a 500 ms por hash y vuelva a realizar el hash en el próximo inicio de sesión cuando la configuración mejore.
pitón
desde argon2 importar ContraseñaHasher
ph = PasswordHasher(costo_tiempo=2, costo_memoria=19456, paralelismo=1)
almacenado = ph.hash (contraseña)
ph.verify(almacenado, contraseña) # aumenta si no coincideConfirme los parámetros con la hoja de referencia de almacenamiento de contraseñas de OWASP actual antes del envío.
Control 5: agregar CAPTCHA y detección de bots de forma selectiva
CAPTCHA agrega fricción, no una pared. Los servicios de resolución venden desafíos resueltos por humanos a bajo precio, y los modelos de IA ahora superan muchos acertijos de imágenes. Desencadene desafíos según el riesgo: tres o más fallas, un nuevo dispositivo o país, IP del proveedor de alojamiento o firmas de navegador sin cabeza. Cloudflare Turnstile, hCaptcha y reCAPTCHA v3 puntúan el riesgo de forma invisible. Combínelos con huellas digitales del dispositivo y análisis de tiempo, y ofrezca una alternativa accesible para los usuarios que no pueden completar desafíos visuales.
Control 6: Reforzar los servicios más afectados por los atacantes
SSH.Elimina la contraseña y la fuerza bruta no tendrá nada que adivinar.
ContraseñaAutenticación no
PermitRootLogin no
Permitir que los usuarios implementen el administrador
MaxAuthTries 3Generar claves conssh-keygen -t ed25519, confirme el inicio de sesión con clave en una segunda sesión, luego vuelva a cargarsshd. Agregue Fail2ban como capa de soporte. Cambiar el puerto reduce el ruido del registro pero no es un control.
RDP.Nunca exponga el puerto 3389. Colóquelo detrás de una VPN o puerta de enlace (vea cómoZTNA y VPN se adaptan a las estrategias de seguridad modernas), habilite la autenticación a nivel de red, requiera MFA y establezca una política de bloqueo de 5 fallas durante 15 minutos.
WordPress y CMS.Limitar intentos de inicio de sesión, bloquear/xmlrpc.php(susistema.multicallEl método prueba cientos de contraseñas por solicitud), restringir/wp-login.phppor IP y hacer cumplir la MFA administrativa.
API.Establezca límites por clave y por IP con429respuestas, utiliza claves aleatorias de 332 bytes o más, caducan los tokens en una hora y devuelven errores idénticos para nombres de usuario y contraseñas incorrectos.
Control 7: utilice reputación de IP, reglas geográficas y un WAF
El filtrado perimetral es un prefiltro, no una defensa principal. Obtenga fuentes de reputación como AbuseIPDB y Spamhaus DROP, desafíe los rangos de proveedores de alojamiento y los nodos de salida de Tor en las rutas de inicio de sesión y aplique reglas geográficas donde se concentran sus clientes. Utilice MFA incremental en lugar de bloques rígidos para que los viajeros no queden excluidos. Implemente reglas WAF basadas en tasas (Cloudflare, AWS WAF o ModSecurity), comenzando en modo de conteo antes de cambiar a bloque. Las redes de proxy residenciales rotan las IP domésticas reales y evaden todo esto, por lo que MFA y la limitación por cuenta aún soportan la carga.
Control 8: Monitorear y alertar sobre fallas de autenticación

La prevención finalmente falla y, sin supervisión, un inicio de sesión exitoso por fuerza bruta parece normal. Buenovigilancia de la ciberseguridadcomienza con los registros correctos: ID de eventos de Windows 4625, 4624 y 4740; SSHautenticación.logPicos 401 en inicios de sesión web y registros de inicio de sesión de proveedores de identidad. Nunca registre contraseñas.
Escriba una detección por variante:
Fuerza bruta:más de 10 fallos para una cuenta en 5 minutos
Pulverización:una IP falla contra más de 15 nombres de usuario en 30 minutos
Relleno:volumen de inicio de sesión superior a 3 veces el valor base con una alta tasa de fracaso
Compromiso:un inicio de sesión exitoso después de una explosión fallida. Llama a alguien para este.
Abuso de MFA:tres o más mensajes push denegados
índice=wineventlog Código de evento=4625
| contenedor _intervalo de tiempo = 30 m
| stats dc(TargetUserName) como usuarios por _time, IpAddress
| donde usuarios > 15Wazuh es un punto de partida gratuito con SSH integrado y reglas de fuerza bruta. Ejecute alertas en modo de solo informe durante una semana y ajústelas con su propia línea de base.
Control 9: Pon a prueba tus propias defensas
Un control no probado es una suposición. Pruebe únicamente los sistemas de su propiedad o que tenga autorización por escrito para probarlos, utilizando una cuenta de prueba dedicada. Hydra, Medusa y Burp Intruder cubren formularios y servicios de inicio de sesión, y Hashcat prueba la resistencia fuera de línea con una copia de sus propios hashes en un laboratorio. Doblando esto en un formato más ampliopruebas de penetración y evaluación de vulnerabilidadEl programa lo mantiene en un horario.
Verifique que 15 fallas rápidas provoquen retrasos, que una contraseña en 30 cuentas active la detección de pulverización, que se niegue una contraseña correcta sin MFA, que SSH rechace las contraseñas y que una ráfaga de fallas seguida de éxito llegue a su buscapersonas. La prueba de alerta es tan importante como la prueba de bloqueo. Vuelva a realizar la prueba trimestralmente y después de cualquier cambio de autenticación.
Qué hacer durante un ataque activo
Confirmar alcance.Identifique cuentas objetivo, IP de origen y cualquier éxito después de una falla.
Bloquea la fuente.Utilice reglas de firewall o WAF, o bloquee mediante ASN o solicite un patrón si las IP rotan. Cambie las reglas del modo de conteo a bloquear.
Bloquee las cuentas comprometidas.Restablezca contraseñas, revoque sesiones y verifique la propiedad de MFA a través de otro canal.
Apretar temporalmente.Reducir los umbrales y exigir un refuerzo de la ayuda macrofinanciera, y luego eliminar las medidas después del ataque.
Busque actividad posterior al compromiso.Busque nuevos dispositivos MFA, reglas de reenvío de buzones de correo, claves API y concesiones de OAuth.
Documento.Registre qué control debería haber detenido esto y arregle la brecha. Verifique los plazos de notificación de incumplimiento si se accedió a los datos.
Lista de verificación para la prevención de fuerza bruta
Hazlo hoy
Enumere todos los inicios de sesión conectados a Internet
Habilite MFA en cuentas de administrador, correo electrónico y nube
Deshabilite las contraseñas SSH y cierre el RDP público
Hazlo esta semana
Agregar límites de inicio de sesión, restablecimiento y velocidad de punto final MFA
Comparar contraseñas con listas de infracciones
Establecer alertas para el éxito después de que se produzcan fallos
Haz este trimestre
Ejecutar una prueba autorizada contra cada control
Ajustar los umbrales de alerta
Volver a comparar los factores de trabajo hash
Conclusión
Los ataques de fuerza bruta son automáticos y constantes, por lo que la defensa también debe ser automática. Priorice MFA, limitación de velocidad en capas, hash sólido con detección de infracciones y alertas sobre éxito tras fracaso. Juntos aumentan el costo de atacarte más allá de lo que gastarán la mayoría de los robots.
El siguiente paso hoy:enumere todos los inicios de sesión conectados a Internet y marque cuáles carecen de MFA y limitación de velocidad. Primero arregle los paneles de administración, el correo electrónico y el acceso remoto.
Preguntas frecuentes
¿Cuál es la forma más eficaz de prevenir ataques de fuerza bruta?
MFA resistente al phishing, como claves de acceso o claves FIDO2. Esto hace que una contraseña correcta sea insuficiente, lo que neutraliza las conjeturas, el relleno y las credenciales suplantadas. Combínelo con limitación de velocidad.
¿El bloqueo de cuentas detiene los ataques de fuerza bruta?
Detiene las adivinanzas de una sola cuenta, pero los atacantes pueden activar bloqueos para bloquear a usuarios reales y no hace nada contra la pulverización de contraseñas. Utilice retrasos progresivos más límites globales y por IP.
¿Cuánto tiempo se tarda en forzar una contraseña por fuerza bruta?
Depende de la longitud, el juego de caracteres y el tipo de hash. La longitud es lo más importante y los hashes rápidos como MD5 caen mucho más rápido que Argon2id. Pruebe sus propios hashes en un laboratorio en lugar de confiar en una figura genérica.
¿Puede una VPN o cambiar el puerto predeterminado detener los ataques de fuerza bruta?
Una VPN elimina la exposición pública, por lo que los atacantes deben pasar primero su autenticación. Cambiar el puerto sólo reduce el ruido del escáner y se encuentra en minutos.
¿Cuál es la diferencia entre fuerza bruta y relleno de credenciales?
La fuerza bruta adivina contraseñas. El relleno de credenciales reproduce pares filtrados reales, apostando por la reutilización. Contraseñas únicas, detección de infracciones y MFA dejan de rellenar.
¿Cómo sé si me están forzando brutamente?
Busque picos de inicio de sesión fallidos, fallas de una IP en muchos nombres de usuario, intentos de contraseña en muchas cuentas e inundaciones de bloqueos. Un éxito justo después de un fracaso es la señal más grave.
¿Fail2ban es suficiente para proteger SSH?
No. Los ataques distribuidos se mantienen por debajo de sus umbrales. Deshabilite la autenticación de contraseña y solicite claves, y mantenga Fail2ban como capa de soporte.
