Español

Configurar Fail2ban en un VPS Linux

Fail2ban supervisa los registros de los servicios y bloquea temporalmente las IP que se comportan de forma abusiva (fallos repetidos de SSH, sondeo HTTP, etc.). Complementa UFW y el refuerzo de SSH.

Requisitos previos

  • Ubuntu/Debian (o derivado) con sudo
  • El servicio a proteger ya en ejecución (p. ej. sshd, nginx)

Instalación

Bash
sudo apt update && sudo apt install -y fail2ban sudo systemctl enable fail2ban sudo systemctl start fail2ban

Configuración básica

Coloque los archivos personalizados en /etc/fail2ban/jail.d/ para que las actualizaciones no los sobrescriban.

Cree /etc/fail2ban/jail.d/local.conf:

INI
1[DEFAULT] 2bantime = 1h 3findtime = 10m 4maxretry = 5 5ignoreip = 127.0.0.1/8 ::1 6 7[sshd] 8enabled = true 9port = ssh 10logpath = %(sshd_log)s 11backend = %(sshd_backend)s

Si cambió el puerto SSH, establezca port = 2222 (ejemplo) en lugar de ssh.

Recargue Fail2ban:

Bash
sudo systemctl restart fail2ban sudo fail2ban-client status sudo fail2ban-client status sshd

Nginx (patrones HTTP agresivos)

Añada por ejemplo:

INI
[nginx-http-auth] enabled = true port = http,https logpath = /var/log/nginx/error.log

Ajuste las rutas de registro según su configuración.

Buenas prácticas

  • Añada su IP fija a ignoreip durante las pruebas.
  • Compruebe sudo fail2ban-client status sshd tras el despliegue.
  • Los bloqueos son temporales (bantime); ajústelos según su tolerancia.

Desbloquear una IP manualmente

Bash
sudo fail2ban-client set sshd unbanip 198.51.100.10

Solución de problemas

  • Sin bloqueos: asegúrese de que enabled = true, que logpath es correcto y que el servicio registra los fallos.
  • Bloqueado fuera: use la consola / IPMI de su proveedor u otra IP, luego corrija ignoreip o desbloquee.

¿Necesita ayuda?

¿Preguntas sobre esta guía? Nuestro equipo y la comunidad están aquí para ayudarle.

Mantente al día con las últimas ofertas, descuentos y promociones especiales.

Ver promociones