Un puerto SSH expuesto recibe tráfico de relleno de credenciales las 24 horas
Las botnets de escaneo recorren todo el espacio de direcciones IPv4 enrutable y prueban listas de contraseñas contra cada equipo que responde en TCP/22. Un demonio SSH accesible desde internet recibe ese tráfico tanto si el equipo es un bastión corporativo como si es un único VPS.
- Miles de autenticaciones fallidas al día
- Un equipo nuevo que responde en TCP/22 empieza a registrar autenticaciones SSH fallidas pocas horas después de que su dirección pase a ser enrutable. Un servidor típico expuesto a internet registra a diario miles de eventos «Failed password» e «Invalid user» en systemd-journald, procedentes de rangos de direcciones que rotan más rápido de lo que cualquier administrador puede revisar.
- CPU, memoria y escrituras de diario gastadas en tráfico que nunca se autenticará
- Cada intento de autenticación SSH cuesta un apretón de manos TCP, un intercambio de claves SSH, un recorrido de la pila PAM a través de /etc/pam.d/sshd y una escritura síncrona en systemd-journald. Un flujo sostenido de fuerza bruta mantiene así una carga de fondo permanente en el equipo, infla el almacenamiento del diario y empuja los inicios de sesión administrativos reales detrás de la cola MaxStartups de sshd, sin que el atacante tenga que autenticarse para lograrlo.
- Una sola contraseña adivinada es un compromiso total
- Una única contraseña correcta concede un intérprete de comandos interactivo con los privilegios de esa cuenta: preparación de ransomware, exfiltración de datos o spam saliente atribuido a la dirección del propio equipo. Las contraseñas débiles o reutilizadas de una filtración pública caen ante un ataque de diccionario en cuestión de días, y el registro de autenticación anota el intento correcto exactamente igual que cualquier otra línea.
- pam_faillock convierte el ataque en un bloqueo del administrador real
- La pila PAM configurada en /etc/pam.d/sshd cuenta los fallos consecutivos con pam_faillock y bloquea la cuenta en cuanto se alcanza el umbral deny. Un atacante que solo ha adivinado un nombre de usuario válido - nunca la contraseña - puede por tanto disparar ese contador a propósito y dejar al administrador real fuera del equipo. El resultado es una denegación de servicio producida íntegramente por el mecanismo de defensa.
SSH Protector traslada la decisión del espacio de usuario al hook input de netfilter
El demonio SSH Protector correlaciona los eventos de autenticación fallidos por red de origen y confirma una regla nftables que descarta todo el /24 del atacante. Una vez que esa regla existe, netfilter descarta los paquetes en el hook input del kernel: antes de que sshd acepte una conexión, antes de cualquier recorrido de PAM y antes de escribir nada en el diario. La carga de CPU, el volumen del diario y el número de intentos que llegan a la comprobación de contraseña bajan a la vez.

