🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Syspanel: Cómo proteger tu servidor con fail2ban

Actualizado el 7 de noviembre de 2025

¿Qué es fail2ban y por qué tu servidor lo necesita?

Si tienes un servidor gestionado con Syspanel, probablemente ya sepas que la seguridad es una de las mayores preocupaciones de cualquier administrador. Cada día, miles de bots recorren Internet escaneando direcciones IP en busca de servidores vulnerables. Su objetivo principal es acceder a servicios como SSH, FTP o el panel de control mediante ataques de fuerza bruta, es decir, probando miles de combinaciones de usuario y contraseña por minuto.

fail2ban Syspanel es la combinación perfecta para detener este tipo de amenazas. fail2ban es una herramienta de seguridad que actúa como un portero automático: vigila los registros de tu servidor, detecta intentos fallidos de acceso repetidos y, cuando supera un umbral configurado, bloquea automáticamente la IP del atacante mediante el firewall del sistema.

Piensa en ello como un guardia de seguridad que, tras ver a alguien equivocarse tres veces con la llave de la puerta, decide no dejarle volver a intentarlo durante un buen rato. En este artículo te explicaremos paso a paso cómo configurar fail2ban en tu servidor con Syspanel, qué políticas de bloqueo aplicar y cómo sacarle el máximo partido a esta herramienta gratuita y de código abierto.


¿Cómo funciona fail2ban?

El funcionamiento de fail2ban es sorprendentemente sencillo, pero muy eficaz. La herramienta se ejecuta como un servicio en segundo plano y monitoriza continuamente los archivos de registro (logs) del sistema. Estos logs son como el diario de actividades de tu servidor: cada intento de conexión, cada error de autenticación y cada petición sospechosa queda registrada.

fail2ban utiliza filtros para identificar patrones de comportamiento malicioso. Por ejemplo, un filtro típico para SSH busca líneas como "Failed password for root from 203.0.113.5". Cuando el mismo IP aparece un número determinado de veces dentro de un periodo de tiempo concreto, fail2ban activa una acción, que normalmente consiste en añadir una regla al firewall (como iptables o nftables) para bloquear todo el tráfico proveniente de esa IP.

Componentes clave de fail2ban

  • Filtros: Expresiones regulares que definen qué patrones indican un ataque.
  • Acciones: Comandos que se ejecutan cuando se detecta un ataque (bloquear IP, enviar correo, etc.).
  • Jail (cárcel): La combinación de un filtro, una acción y una configuración de umbrales. Cada servicio protegido (SSH, Apache, Syspanel) tiene su propia jail.

¿Por qué usar fail2ban con Syspanel?

Syspanel es un panel de control de hosting muy potente que facilita la gestión de sitios web, bases de datos, correos electrónicos y usuarios FTP. Sin embargo, al ser una herramienta tan popular, también es un objetivo frecuente para los atacantes.

La seguridad del servidor no depende únicamente de tener contraseñas robustas. Necesitas una capa adicional que actúe de forma proactiva. Aquí es donde fail2ban brilla:

  1. Bloquea ataques fuerza bruta contra SSH, evitando que los bots pasen horas probando contraseñas.
  2. Protege el panel de Syspanel (puerto 2106), dificultando el acceso no autorizado a tu interfaz de administración.
  3. Reduce la carga del servidor: Al bloquear IPs maliciosas, evitas que tu servidor procese miles de peticiones basura.
  4. Es gratuito y configurable: Puedes ajustar la duración del bloqueo, el número de intentos permitidos y las acciones a tomar.

Requisitos previos antes de instalar fail2ban

Antes de comenzar, asegúrate de cumplir con los siguientes requisitos:

  • Tener acceso root o un usuario con privilegios sudo en tu servidor.
  • Que tu servidor tenga sistema operativo Ubuntu 20.04, 22.04, Debian 10/11 o CentOS 7/8 (los más comunes en instalaciones con Syspanel).
  • Tener el firewall activado (UFW, firewalld o iptables). Si no lo tienes, fail2ban puede funcionar igualmente, pero es recomendable activarlo.
  • Acceso a la terminal por SSH.

[!TIP]
Si no sabes qué sistema operativo tienes, ejecuta el comando cat /etc/os-release en tu terminal y te mostrará la información.


Instalación de fail2ban en tu servidor

La instalación es muy sencilla y solo te llevará un par de minutos. Dependiendo de tu sistema operativo, los comandos varían ligeramente.

Para Ubuntu y Debian

Abre tu terminal y ejecuta:

sudo apt update
sudo apt install fail2ban -y

Para CentOS o Rocky Linux

sudo yum install epel-release -y
sudo yum install fail2ban -y

Una vez instalado, el servicio se inicia automáticamente. Puedes comprobarlo con:

sudo systemctl status fail2ban

Deberías ver un mensaje que indica que el servicio está activo (running). Si no es así, inícialo con:

sudo systemctl start fail2ban
sudo systemctl enable fail2ban

Configuración básica de fail2ban

La configuración principal se encuentra en el archivo /etc/fail2ban/jail.conf. Sin embargo, nunca debes editar este archivo directamente porque las actualizaciones del paquete lo sobrescribirán. En su lugar, crearemos un archivo de configuración local:

sudo nano /etc/fail2ban/jail.local

Este archivo tendrá prioridad sobre el anterior. Ahora, vamos a añadir nuestras propias reglas.

Configuración general

[DEFAULT]
# Tiempo en segundos que una IP permanece bloqueada (1 hora)
bantime = 3600

# Tiempo en segundos durante el cual contamos los intentos fallidos (10 minutos)
findtime = 600

# Número máximo de intentos fallidos permitidos antes del bloqueo
maxretry = 5

# Ignorar IPs locales (no bloquear nunca)
ignoreip = 127.0.0.1/8 ::1

# Acción a tomar: bloquear con iptables
banaction = iptables-multiport

[!INFO]
Estos valores son un buen punto de partida. Si tu servidor tiene mucho tráfico legítimo, puedes aumentar maxretry a 8 o 10. Si quieres ser más estricto, reduce bantime o aumenta findtime.


Proteger SSH con fail2ban

SSH es el servicio más atacado en cualquier servidor. Configurar una jail para SSH es imprescindible. Añade lo siguiente al final de tu archivo jail.local:

[sshd]
enabled = true
port = ssh
logpath = /var/log/auth.log

Si tu servidor usa un puerto SSH personalizado (por ejemplo, el 2222), cambia la línea port = ssh por port = 2222.

Verificar la jail de SSH

Cuando guardes el archivo, reinicia fail2ban:

sudo systemctl restart fail2ban

Para comprobar que la jail está activa:

sudo fail2ban-client status sshd

Verás una salida similar a:

Status for the jail: sshd
|- Filter
|  |- Currently failed: 2
|  |- Total failed:     15
|  `- File list:        /var/log/auth.log
`- Actions
   |- Currently banned: 1
   |- Total banned:     3
   `- Banned IP list:   203.0.113.5

Esto te indica cuántas IPs están bloqueadas actualmente y cuántas han sido bloqueadas en total.


Proteger Syspanel con fail2ban (puerto 2106)

Aquí viene la parte más importante para los usuarios de Syspanel. El panel de administración se accede a través del puerto 2106 (por defecto). Los atacantes saben esto y, por tanto, intentarán acceder a este puerto con combinaciones de usuario y contraseña.

Para proteger Syspanel, necesitamos crear una jail específica. Añade esto a tu jail.local:

[syspanel]
enabled = true
port = 2106
logpath = /var/log/syspanel/auth.log
maxretry = 3
bantime = 7200

[!WARNING]
El logpath puede variar según la instalación de Syspanel. Si no encuentras el archivo de logs, busca en /var/log/ con el comando ls -la /var/log/ | grep syspanel. Si no existe, consulta la documentación oficial de Syspanel para conocer la ruta exacta.

¿Qué hace esta jail?

  • Permite solo 3 intentos fallidos en un periodo de 10 minutos.
  • Bloquea la IP durante 2 horas (7200 segundos) si se superan esos intentos.
  • Vigila exclusivamente el puerto 2106, donde se aloja Syspanel.

Otras jails recomendadas para tu servidor

Además de SSH y Syspanel, existen otros servicios que conviene proteger:

Proteger Apache o Nginx

Si alojas sitios web, añade estas jails:

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

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

Proteger ProFTPD o vsftpd

[proftpd]
enabled = true
port = ftp,ftp-data
logpath = /var/log/proftpd/proftpd.log

[vsftpd]
enabled = true
port = ftp,ftp-data
logpath = /var/log/vsftpd.log

Cómo comprobar el estado general de fail2ban

Para ver todas las jails activas y su estado:

sudo fail2ban-client status

Para ver una jail específica:

sudo fail2ban-client status nombre_de_la_jail

Desbloquear una IP manualmente

Si has bloqueado una IP por error (por ejemplo, la tuya propia), puedes desbloquearla al instante:

sudo fail2ban-client set sshd unbanip 203.0.113.5

Reemplaza 203.0.113.5 por la IP que quieras desbloquear.


Consejos avanzados para la seguridad del servidor

fail2ban es una pieza fundamental, pero no es la única. Para tener una seguridad del servidor realmente sólida, te recomendamos:

  1. Cambiar el puerto SSH por defecto (22) a un puerto no estándar. Edita /etc/ssh/sshd_config y cambia Port 22 por otro número (ej. 22000). Recuerda reiniciar el servicio SSH.
  2. Deshabilitar el acceso root por SSH: En el mismo archivo, cambia PermitRootLogin yes a PermitRootLogin no. Usa un usuario con sudo.
  3. Usar autenticación por clave SSH en lugar de contraseñas. Es prácticamente imposible de vulnerar por fuerza bruta.
  4. Mantener el sistema actualizado: Ejecuta sudo apt update && sudo apt upgrade semanalmente.
  5. Activar un firewall (UFW o firewalld) y permitir solo los puertos necesarios: 2106 (Syspanel), 22 (SSH), 80 (HTTP), 443 (HTTPS) y 25/587 (correo) si lo usas.

Preguntas frecuentes sobre fail2ban y Syspanel

¿fail2ban consume muchos recursos?

No. fail2ban es extremadamente ligero. Su uso de CPU y memoria es mínimo (menos de 20 MB de RAM). Puedes ejecutarlo sin preocuparte por el rendimiento.

¿Puedo usar fail2ban con Syspanel en un servidor compartido?

No. fail2ban necesita acceso root para modificar el firewall. En un hosting compartido no tienes esos privilegios. Esta guía es para servidores dedicados o VPS.

¿Qué pasa si bloqueo mi propia IP?

Si te bloqueas a ti mismo, puedes acceder al servidor mediante el panel de control de tu proveedor (VNC o consola web) y ejecutar el comando de desbloqueo que te mostramos antes.

¿fail2ban protege contra ataques DDoS?

No directamente. fail2ban está diseñado para ataques de fuerza bruta y patrones repetitivos. Para DDoS necesitas soluciones específicas como Cloudflare o un firewall de red.

¿Cómo sé si fail2ban está funcionando correctamente?

Puedes comprobar los logs de fail2ban en /var/log/fail2ban.log o ejecutar sudo fail2ban-client status. También puedes hacer una prueba manual intentando conectarte varias veces con una contraseña incorrecta.


Conclusión

Proteger tu servidor con fail2ban Syspanel es una de las decisiones más inteligentes que puedes tomar. Esta herramienta gratuita y ligera te ahorrará dolores de cabeza y mantendrá tu infraestructura a salvo de los ataques más comunes en Internet.

Hemos visto cómo instalarlo, configurarlo y proteger tanto SSH como el puerto 2106 de Syspanel. Recuerda que la seguridad es un proceso continuo: revisa periódicamente los logs, ajusta los umbrales según tus necesidades y combina fail2ban con otras buenas prácticas como el uso de claves SSH y la actualización constante del sistema.

No esperes a ser víctima de un ataque. Activa fail2ban hoy mismo y duerme tranquilo sabiendo que tu servidor tiene un guardián vigilante las 24 horas del día. Si tienes alguna duda, consulta la documentación oficial o contacta con el soporte de Syspanel. ¡Tu servidor te lo agradecerá!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel