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

Cómo bloquear direcciones IP en DirectAdmin (Fail2Ban y reglas manuales)

Actualizado el 21 de enero de 2026

¿Recibes ataques constantes, intentos de acceso sospechosos o simplemente quieres blindar tu servidor? Saber cómo bloquear direcciones IP en DirectAdmin es una de las habilidades más valiosas que puedes dominar como administrador, aunque seas novato.

Un ataque de fuerza bruta o un bot malicioso puede consumir los recursos de tu VPS o servidor dedicado en minutos. Por suerte, DirectAdmin ofrece herramientas potentes y accesibles para detener a estos intrusos.

En esta guía extensa, te enseñaré dos métodos principales: el uso de Fail2Ban (la solución automática e inteligente) y la creación de reglas manuales de firewall (para el control absoluto). Vamos a ello.

¿Por qué es crucial bloquear IPs en tu servidor?

Antes de ensuciarnos las manos con comandos, entendamos el "por qué". Cada segundo que tu servidor está expuesto, bots automatizados escanean puertos y prueban contraseñas. Si no tienes una estrategia de bloqueo, es como dejar la puerta de tu casa abierta en un barrio peligroso.

Bloquear IPs no solo protege tus sitios web, sino que también:

  • Reduce la carga del servidor: Al bloquear conexiones maliciosas, liberas RAM y CPU para los visitantes legítimos.
  • Previene el robo de datos: Corta el paso a hackers que intentan acceder a paneles de control o bases de datos.
  • Mejora el SEO: Si tu web se cae por un ataque DDoS, Google lo penalizará. Un servidor estable y seguro es sinónimo de buen posicionamiento.

Método 1: Usando Fail2Ban en DirectAdmin (El Guardián Automático)

Fail2Ban es, sin duda, la mejor herramienta para la seguridad DirectAdmin. Su funcionamiento es sencillo: analiza los archivos de registro (logs) del servidor. Si detecta múltiples intentos fallidos de algo (por ejemplo, iniciar sesión en DirectAdmin o en SSH), automáticamente añade esa IP a una lista negra del firewall.

La ventaja es que no tienes que estar pendiente 24/7; él hace el trabajo sucio por ti.

Paso 1: Acceder al Administrador de Fail2Ban

Primero, inicia sesión en tu panel de DirectAdmin como administrador (usuario admin).

  1. Busca en el menú principal la sección "Sistema" o "Gestor de Servidores".
  2. Haz clic en el icono llamado "Fail2Ban" o "Gestor de Fail2Ban".

Verás una interfaz con pestañas (General, Autenticación, Exim, etc.). No te asustes, solo necesitas entender lo básico.

Paso 2: Activar y Configurar las Protecciones Básicas

Lo primero es asegurarte de que el servicio esté "Encendido". En la pestaña "General", verás un interruptor o un botón para activarlo. Actívalo si no lo está.

Ahora, ve a la pestaña "Autenticación". Aquí es donde ocurre la magia. Verás una lista de servicios (SSH, DirectAdmin, FTP, etc.). Para cada uno, puedes configurar:

  • Max Attempts (Intentos máximos): ¿Cuántos intentos fallidos se permiten antes del bloqueo? Te recomiendo 3 para SSH y 5 para DirectAdmin.
  • Find Time (Tiempo de búsqueda): ¿En cuántos segundos se cuentan esos intentos? Por ejemplo, 600 (10 minutos).
  • Ban Time (Tiempo de bloqueo): ¿Cuántos segundos estará bloqueada la IP? 3600 (1 hora) es un buen comienzo. Para ataques repetitivos, Fail2Ban duplica el tiempo automáticamente.

[!TIP]
No seas demasiado estricto con DirectAdmin. Si pones Max Attempts en 2, podrías bloquearte a ti mismo si olvidas tu contraseña dos veces seguidas. Un valor de 5 es equilibrado.

Paso 3: Crear una Regla Personalizada (Jail Local)

A veces, necesitas proteger un servicio específico que no viene por defecto. Para ello, crearemos un "jail" personalizado.

  1. Ve a la pestaña "Configuración" o busca el botón "Editar Configuración".
  2. Busca el campo llamado local o jail.local. Si no existe, lo creamos.
  3. Añade el siguiente bloque para proteger, por ejemplo, tu servidor web (Apache o Nginx):
[apache-auth]
enabled = true
port = http,https
filter = apache-auth
logpath = /var/log/httpd/error_log
maxretry = 5
findtime = 300
bantime = 1800

[!WARNING]
Editar los archivos de configuración de Fail2Ban requiere precisión. Un error de sintaxis puede impedir que el servicio se reinicie. Si no estás seguro, copia el bloque exactamente como está aquí y solo cambia los números de tiempos.

Paso 4: Verificar y Desbloquear IPs Manualmente

¿Qué haces si te bloqueaste a ti mismo? No entres en pánico. Fail2Ban tiene una interfaz gráfica en DirectAdmin.

  1. Ve a la pestaña "Lista Negra" o "IPs Bloqueadas".
  2. Verás una tabla con la IP, el servicio y el tiempo restante.
  3. Para desbloquear, simplemente haz clic en el icono de eliminar (normalmente una "X" roja) al lado de la IP.

Esto ejecutará el comando fail2ban-client unban <IP> automáticamente.

Método 2: Reglas Manuales de Firewall (Control Total)

Aunque Fail2Ban es genial, hay ocasiones en las que necesitas bloquear una IP de inmediato, sin esperar a que se cumplan los intentos. O quizás quieres bloquear un rango entero de IPs de un país hostil.

Para esto, usaremos el firewall del sistema (normalmente iptables o firewalld). DirectAdmin tiene una interfaz para esto, pero también puedes hacerlo por SSH.

Opción A: Usando la Interfaz de DirectAdmin (CSF)

Si tu servidor usa ConfigServer Security & Firewall (CSF), la interfaz de DirectAdmin es tu mejor amiga.

  1. Ve a "Sistema" -> "ConfigServer Security & Firewall".
  2. Busca la sección "Quick Action" o "Acciones Rápidas".
  3. En el campo "IP Address", escribe la IP que quieres bloquea.
  4. Haz clic en el botón "Block" o "Bloquear".

Esto añade la IP a la lista negra de CSF (/etc/csf/csf.deny) y actualiza las reglas de iptables al instante.

Opción B: Usando Comandos SSH (Iptables Puro)

Si no tienes CSF o prefieres el método clásico, conecta por SSH a tu servidor y ejecuta:

# Bloquear una IP específica
iptables -A INPUT -s 123.456.789.0 -j DROP

# Bloquear un rango de IPs (ejemplo: 123.456.789.0 a 123.456.789.255)
iptables -A INPUT -s 123.456.789.0/24 -j DROP

[!WARNING]
Ojo con los rangos. Bloquear un rango completo (/24) puede dejarte fuera si tu proveedor de internet usa ese mismo rango. Úsalo solo si sabes exactamente lo que haces.

Hacer que el bloqueo sea permanente

El problema con iptables es que las reglas se pierden al reiniciar el servidor. Para guardarlas, usa:

# En sistemas con iptables-persistent
netfilter-persistent save

# En sistemas RedHat/CentOS
service iptables save

Opción C: Bloqueo a nivel de DNS (Cloudflare)

Si tu dominio usa Cloudflare, puedes bloquear IPs en el firewall de su panel. Esto es útil porque bloquea el tráfico antes de que llegue a tu servidor. Sin embargo, esto no es parte de DirectAdmin directamente, sino una capa adicional.

Estrategias Avanzadas de Bloqueo

Bloquear IPs es un juego del gato y el ratón. Aquí tienes algunas tácticas profesionales:

Bloquear países enteros (GeoIP)

Si tu sitio es solo para España, ¿por qué permitir conexiones desde Rusia o China? Con CSF puedes instalar GeoIP y bloquear países enteros.

  1. Instala las bases de datos de GeoIP (pregunta a tu proveedor de hosting).
  2. En el archivo csf.conf, busca CC_DENY y añade los códigos de país: CC_DENY = "RU, CN, KP".
  3. Guarda y reinicia CSF.

Análisis de Logs para detección temprana

Aprende a leer tus logs. Un buen comando para ver intentos de acceso fallidos es:

grep "Failed password" /var/log/secure | awk '{print $(NF-3)}' | sort | uniq -c | sort -nr | head -20

Este comando te dará una lista de las IPs que más intentan acceder por SSH. Cualquiera con más de 10 intentos es sospechoso y merece ser bloqueado manualmente.

Solución de Problemas Comunes (FAQ)

¿Por qué Fail2Ban no bloquea la IP que yo quiero?

Puede ser que el filtro no esté capturando el log correcto. Verifica la ruta del archivo logpath en tu configuración. A veces, los logs de DirectAdmin están en una ruta personalizada.

Bloqueé una IP y el sitio sigue cayendo. ¿Qué hago?

Si el ataque es un DDoS distribuido (desde muchas IPs), bloquear una a una no servirá. Necesitas un firewall de red o un servicio anti-DDoS (como Cloudflare). Fail2Ban no es suficiente para esto.

¿Cómo desbloqueo una IP si no tengo acceso a DirectAdmin?

Si te bloqueaste a ti mismo, tendrás que pedir ayuda a tu proveedor de hosting o usar la consola VNC/KVM de tu VPS para acceder por consola física y ejecutar:

fail2ban-client unban <TU_IP>

¿Es mejor usar Fail2Ban o reglas manuales?

No son excluyentes, son complementarios. Fail2Ban es la red de seguridad automática. Las reglas manuales son la solución quirúrgica para amenazas conocidas. Un buen administrador usa ambas.

Conclusión: Tu servidor, tu fortaleza

Dominar el arte de bloquear IPs en DirectAdmin es un rito de iniciación para cualquier webmaster serio. Con Fail2Ban, te aseguras de que los ataques automatizados sean repelidos sin tu intervención. Con las reglas manuales de firewall, tomas el control absoluto en situaciones de emergencia.

Recuerda que la seguridad DirectAdmin es un proceso continuo. No configures esto una vez y lo olvides. Revisa tus logs periódicamente, ajusta los tiempos de bloqueo y mantente informado sobre nuevas amenazas.

[!TIP]
La paciencia es clave. No bloquees IPs a la ligera. Asegúrate de que la IP sospechosa no sea un proxy de Google o un rango de tu proveedor de correo. Un bloqueo incorrecto puede dañar tu posicionamiento web.

Si este artículo te ha sido útil, compártelo con otros administradores que estén empezando. La comunidad crece cuando compartimos conocimiento. Y recuerda, si migras a otros paneles como Syspanel (cuyo puerto de acceso es el 2106), los conceptos de firewall y Fail2Ban son prácticamente idénticos, así que lo aprendido aquí te servirá siempre.

¡Ahora ve y asegura ese servidor!

¿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