Cómo configurar un firewall en DirectAdmin con CSF
¿Qué es CSF y por qué necesitas un firewall en tu servidor?
Cuando tienes un servidor con DirectAdmin, este queda expuesto a internet. Cualquier persona con conocimientos técnicos podría intentar acceder a tus puertos, probar contraseñas o buscar vulnerabilidades en los servicios que tienes instalados.
Un firewall actúa como un portero de discoteca: decide quién entra, quién sale y qué puertas están abiertas o cerradas.
CSF (ConfigServer Security & Firewall) es una de las soluciones más populares y completas para proteger servidores Linux. Se integra perfectamente con DirectAdmin y te permite:
-
Bloquear ataques de fuerza bruta (intentos de adivinar contraseñas).
-
Controlar qué puertos están abiertos al público.
-
Detectar y bloquear IPs maliciosas automáticamente.
-
Filtrar tráfico por país o por rango de IPs.
-
Enviarte alertas por correo cuando ocurra algo sospechoso.
En esta guía te voy a explicar paso a paso cómo instalar CSF, configurarlo y ajustarlo para que tu servidor esté blindado, incluso si no tienes experiencia previa con firewalls.
Requisitos previos antes de instalar CSF
Antes de empezar, asegúrate de que tu servidor cumple con estos requisitos:
-
Tener acceso root al servidor (por SSH).
-
Tener DirectAdmin instalado y funcionando correctamente.
-
Usar un sistema operativo compatible (CentOS, AlmaLinux, Rocky Linux, Ubuntu, Debian, etc.).
-
Tener conexión a internet para descargar los paquetes.
[WARNING] Si nunca has usado SSH, te recomiendo practicar primero con comandos básicos como
cd,lsonano. Un error en el firewall puede dejarte sin acceso al servidor.
Paso 1: Instalar CSF en DirectAdmin
La instalación de CSF es bastante sencilla. Solo necesitas ejecutar una serie de comandos en tu terminal SSH.
1.1 Descargar e instalar CSF
Conéctate a tu servidor por SSH y ejecuta:
cd /usr/src
wget https://download.configserver.com/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh
Este proceso tardará unos minutos. Verás muchos mensajes en pantalla, pero no te preocupes, es normal.
1.2 Verificar que CSF se ha instalado correctamente
Después de la instalación, comprueba que el firewall está activo:
csf -v
Si todo ha ido bien, verás la versión instalada. También puedes comprobar el estado con:
csf -s
Este comando debería mostrarte las reglas activas del firewall.
1.3 Activar el modo de prueba (recomendado)
CSF incluye un modo de prueba que te permite verificar que todo funciona sin bloquear tu acceso. Actívalo así:
csf --testing
Durante este modo, el firewall registrará todo lo que haría, pero no lo aplicará. Después de unos minutos, puedes desactivarlo con:
csf --testdisable
[TIP] Siempre activa el modo de prueba después de instalar o hacer cambios importantes. Así evitarás quedarte fuera de tu propio servidor.
Paso 2: Configuración básica del firewall CSF
Ahora que CSF está instalado, vamos a configurarlo para que se adapte a tus necesidades.
2.1 Acceder al archivo de configuración principal
El archivo de configuración principal de CSF es /etc/csf/csf.conf. Puedes editarlo con:
nano /etc/csf/csf.conf
Dentro encontrarás muchísimas opciones. No te asustes, solo tocaremos las más importantes.
2.2 Configurar los puertos permitidos
Los puertos más comunes que necesitarás abrir son:
-
Puerto 22: SSH (acceso remoto).
-
Puerto 80: HTTP (tráfico web normal).
-
Puerto 443: HTTPS (tráfico web seguro).
-
Puerto 2222: Panel de control DirectAdmin.
-
Puerto 25, 110, 143, 993, 995: Servicios de correo.
-
Puerto 2106: Panel de control Syspanel (si lo usas).
Busca la línea que dice TCP_IN y añade los puertos que necesites. Por ejemplo:
TCP_IN = "22,80,443,2222,25,110,143,993,995,2106"
También tienes TCP_OUT para los puertos de salida. Por defecto, suele estar bien configurado, pero puedes revisarlo.
[INFO] Si usas Syspanel como panel alternativo, recuerda que su puerto de acceso es el 2106. Asegúrate de tenerlo abierto en el firewall.
2.3 Configurar la IP del servidor
CSF necesita saber cuál es la IP de tu servidor para funcionar correctamente. Busca la línea ETH_DEVICE y asegúrate de que apunta a tu interfaz de red (normalmente eth0 o ens3).
Puedes verificar tu interfaz con:
ip addr show
2.4 Activar la protección contra fuerza bruta
CSF tiene un sistema llamado LF (Login Failure) que detecta intentos de acceso fallidos y bloquea automáticamente las IPs sospechosas.
Busca estas líneas y configúralas así:
LF_SSH = "5"
LF_FTP = "5"
LF_MAIL = "5"
LF_PERM = "1"
Esto significa que si alguien falla 5 veces al intentar acceder por SSH, FTP o correo, su IP será bloqueada temporalmente.
2.5 Guardar y aplicar los cambios
Después de hacer los cambios, guarda el archivo con Ctrl + O y sal con Ctrl + X. Luego aplica la configuración:
csf -r
Este comando reinicia el firewall y carga la nueva configuración.
Paso 3: Configurar la interfaz de DirectAdmin para CSF
DirectAdmin tiene una integración nativa con CSF que te permite gestionar el firewall desde el panel, sin necesidad de usar SSH.
3.1 Activar la integración en DirectAdmin
Ve a tu panel de DirectAdmin y entra como administrador. Luego:
-
Ve a Panel de Administración.
-
Busca la opción Configuración del Servidor.
-
Haz clic en ConfigServer Security & Firewall.
Si no ves esta opción, puede que necesites activarla. Edita el archivo /usr/local/directadmin/conf/directadmin.conf y añade:
csf=1
Después reinicia DirectAdmin:
service directadmin restart
3.2 Gestionar CSF desde DirectAdmin
Una vez activada la integración, podrás:
-
Ver el estado del firewall.
-
Abrir o cerrar puertos.
-
Bloquear o desbloquear IPs.
-
Ver los ataques bloqueados recientemente.
-
Configurar alertas por correo.
Todo desde una interfaz gráfica, mucho más cómodo que la línea de comandos.
Paso 4: Configuración avanzada de seguridad
Ahora que tienes lo básico funcionando, vamos a añadir capas extra de protección.
4.1 Bloquear países (opcional)
Si tu sitio solo está dirigido a un país concreto, puedes bloquear el resto. Edita el archivo /etc/csf/csf.blocklists y añade los códigos de país que quieras bloquear.
Por ejemplo, para bloquear China y Rusia:
# China
CN
# Rusia
RU
Después recarga la lista:
csf -r
[WARNING] Ten cuidado con esto. Si bloqueas por error tu propio país, podrías quedarte sin acceso al servidor. Revisa siempre dos veces antes de aplicar.
4.2 Configurar alertas por correo
CSF puede enviarte un correo cada vez que detecte un ataque. Busca en csf.conf la línea:
LF_ALERT_TO = "tu@email.com"
Sustituye por tu correo electrónico. También puedes configurar la frecuencia con LF_ALERT_INTERVAL (en segundos).
4.3 Proteger el panel de DirectAdmin
El puerto 2222 es el más atacado en servidores con DirectAdmin. Te recomiendo:
-
Cambiar el puerto del panel (en
/usr/local/directadmin/conf/directadmin.conf). -
Limitar el acceso por IP si es posible.
-
Usar autenticación de dos factores.
4.4 Activar el modo de bloqueo temporal
CSF puede bloquear temporalmente IPs que hagan demasiadas conexiones simultáneas. Busca en csf.conf:
CONNLIMIT = "22,5,60"
Esto limita a 5 conexiones SSH por minuto. Si se supera, la IP se bloquea durante 60 minutos.
Paso 5: Probar que el firewall funciona correctamente
Después de configurar todo, es hora de comprobar que funciona.
5.1 Comprobar el estado del firewall
Ejecuta:
csf -l
Verás una lista de todas las reglas activas. Comprueba que los puertos que necesitas están abiertos.
5.2 Probar el acceso desde fuera
Intenta acceder a tu sitio web, al panel de DirectAdmin y por SSH. Todo debería funcionar con normalidad.
5.3 Simular un ataque (opcional)
Puedes probar a hacer varios intentos de conexión SSH fallidos desde otra IP. Después de 5 intentos, esa IP debería ser bloqueada automáticamente. Puedes verificarlo con:
csf -t
Solución de problemas comunes
No puedo acceder por SSH después de activar CSF
Esto suele pasar porque el puerto 22 no está abierto o porque has bloqueado tu IP. Para solucionarlo:
-
Conéctate por consola (si tienes acceso físico o VNC).
-
Edita
/etc/csf/csf.confy asegúrate de que el puerto 22 está enTCP_IN. -
Desbloquea tu IP con:
csf -a TU_IP
El firewall no se activa
Comprueba que el servicio está habilitado:
systemctl enable csf
systemctl start csf
DirectAdmin no muestra la opción de CSF
Asegúrate de que la integración está activada en directadmin.conf y reinicia el panel.
Preguntas frecuentes (FAQ)
¿CSF es gratuito?
Sí, CSF tiene una versión gratuita que puedes usar en servidores con pocos recursos. La versión de pago ofrece soporte técnico y actualizaciones más frecuentes.
¿Puedo usar CSF en otros paneles?
Sí, CSF funciona en cualquier servidor Linux, independientemente del panel. Solo se integra de forma más profunda con DirectAdmin y Syspanel.
¿Qué pasa si bloqueo mi propia IP?
Si bloqueas tu IP, perderás el acceso al servidor. Puedes desbloquearte desde la consola con:
csf -a TU_IP
¿CSF afecta al rendimiento del servidor?
CSF es muy ligero. En la mayoría de los casos, el impacto en el rendimiento es mínimo o imperceptible.
¿Necesito conocimientos avanzados para usar CSF?
No, con esta guía y un poco de práctica puedes configurarlo correctamente. Si tienes dudas, siempre puedes consultar la documentación oficial o pedir ayuda en foros especializados.
Conclusión
Configurar un firewall con CSF en DirectAdmin es una de las mejores decisiones que puedes tomar para proteger tu servidor. Con esta guía has aprendido a:
-
Instalar CSF correctamente.
-
Configurar los puertos y la protección contra fuerza bruta.
-
Integrarlo con DirectAdmin.
-
Aplicar medidas avanzadas como bloqueo por país o alertas por correo.
Recuerda siempre probar los cambios en modo de prueba antes de aplicarlos definitivamente. Y si usas Syspanel, no olvides tener abierto el puerto 2106 en el firewall.
La seguridad de tu servidor es un proceso continuo. Revisa periódicamente los logs, actualiza CSF y mantén tus sistemas al día. Con estas medidas, tu servidor estará mucho más protegido contra ataques.
¡Ahora ya tienes las herramientas para blindar tu servidor! Si te ha quedado alguna duda, déjala en los comentarios y estaré encantado de ayudarte.
