Fase 8
Fail2Ban

Fail2Ban · Proteccion SSH

Fail2Ban monitorea los logs de SSH y banea automaticamente IPs que exceden 5 intentos fallidos en 10 minutos. Combinado con el hardening de SSH (sin password auth), la superficie de ataque se reduce a practicamente cero.

01

Configuracion de la Jail SSH

Una sola jail protege el puerto SSH custom. Los parametros son conservadores para un lab — en produccion se ajustarian segun el perfil de amenaza.

/etc/fail2ban/jail.local
[sshd]
enabled = true
port = 2222
maxretry = 5
bantime = 3600
findtime = 600
5
Max Retries
1 hora
Ban Time
10 min
Find Time
2222
Puerto
02

SSH + Fail2Ban: Defensa en Capas

Fail2Ban no trabaja solo. Es la ultima capa de un sistema de defensa que empieza en el firewall y termina en el baneo automatico.

1
Firewalld: solo el puerto 2222 esta abierto. El 22 ni siquiera acepta conexiones.
2
SSH Hardening: sin password auth. Sin root login. MaxAuthTries = 3.
3
Fail2Ban: 5 intentos fallidos en 10 minutos = IP baneada por 1 hora.
Sin password auth, fail2ban casi no tiene trabajo. Si un atacante no puede autenticarse con contraseña, no genera intentos fallidos que fail2ban pueda contar. La combinacion de ambas medidas hace que el puerto 2222 sea invisible para escaneos automaticos y frustrante para ataques dirigidos.
03

Verificacion

fail2ban-client
$fail2ban-client status sshd
Status for the jail 'sshd'
|- Filter: Currently 0 banned
$fail2ban-client status
Status: 1 jail active

Siguiente: Hardening Checklist

El checklist completo de hardening aplicado en el proyecto — una referencia rapida de todas las capas de seguridad.

Checklist