Cómo configurar un firewall básico en DirectAdmin (CSF)
¿Qué es CSF y por qué lo necesitas en tu servidor?
Si tienes un servidor con DirectAdmin, seguramente has escuchado hablar de CSF DirectAdmin. CSF (ConfigServer Security & Firewall) es, sin duda, uno de los firewalls más potentes, flexibles y utilizados en el mundo del hosting. Es una solución de seguridad de nivel empresarial que se integra de forma nativa con el panel de control, y su principal ventaja es que no necesitas ser un experto en Linux para configurarlo correctamente.
Piensa en el firewall DirectAdmin como el portero de un edificio muy exclusivo. Su trabajo es decidir quién puede entrar, quién debe esperar y a quién hay que negarle la entrada. Sin un firewall, tu servidor es como un edificio con la puerta abierta: cualquier persona (o bot malintencionado) puede intentar entrar y causar estragos. Configurar un firewall es el primer paso, y el más importante, para garantizar la seguridad servidor.
En esta guía, vamos a desglosar, paso a paso y en un lenguaje muy claro, cómo configurar un firewall básico pero robusto en tu panel DirectAdmin. Vamos a cubrir desde la instalación hasta la configuración de las reglas más comunes, incluyendo cómo evitar errores típicos que te dejarían sin acceso a tu propio servidor.
Antes de empezar: Acceso a tu servidor y a DirectAdmin
Para realizar esta configuración, necesitas dos cosas:
- Acceso SSH (Consola): Necesitarás conectarte a tu servidor como usuario
root. Usa programas como PuTTY (si estás en Windows) o la terminal (si usas Mac o Linux). El comando típico esssh root@tu-servidor-ip. - Acceso a DirectAdmin: Asegúrate de tener las credenciales de administrador.
[INFO]: Esta guía está pensada para sistemas operativos como CentOS, AlmaLinux, Rocky Linux o CloudLinux, que son los más comunes en servidores con DirectAdmin.
Paso 1: Instalar CSF en DirectAdmin
Lo primero es verificar si ya tienes CSF instalado. Muchas veces, los proveedores de hosting ya lo incluyen. Para comprobarlo, escribe en tu consola SSH:
csf -v
Si el sistema te devuelve un número de versión (por ejemplo, csf: v14.20), ¡genial! Ya lo tienes. Si te dice command not found, sigue estos pasos:
- Accede a tu servidor por SSH como
root. - Navega al directorio temporal:
cd /usr/src - Descarga el paquete de instalación oficial:
wget https://download.configserver.com/csf.tgz - Descomprime el archivo:
tar -xzf csf.tgz - Entra en la carpeta creada:
cd csf - Ejecuta el instalador:
sh install.sh
El instalador se encargará de todo el proceso automáticamente. Al finalizar, verás un mensaje de éxito.
Paso 2: Configuración inicial y modo TESTING (¡IMPORTANTE!)
Después de instalar, el firewall está activo pero en un modo seguro llamado "TESTING". Este modo te permite probar la configuración sin riesgo de quedarte bloqueado fuera de tu servidor. No desactives este modo hasta que estés 100% seguro de que todo funciona.
Para gestionar la configuración, edita el archivo principal:
nano /etc/csf/csf.conf
Dentro de este archivo, busca la línea que dice TESTING = "0" y cámbiala a TESTING = "1". (El "1" significa que el modo test está activado).
Ahora, busca las siguientes líneas y ajústalas:
RESTRICT_SYSLOG = "0"-> Cámbialo a"2". Esto evita que usuarios no autorizados puedan leer los logs del sistema.LF_PERM = "1"-> Asegúrate de que esté en"1". Esto comprueba los permisos de archivos importantes.
[WARNING]: Mientras el modo TESTING esté activo, CSF no bloqueará realmente a los atacantes, pero registrará lo que haría. Es una red de seguridad perfecta para tu primera configuración.
Paso 3: Configurar los puertos principales (El corazón del firewall)
Aquí es donde realmente defines tu política de acceso. Busca la sección TCP_IN y TCP_OUT en el archivo de configuración. Estos parámetros definen qué puertos están abiertos para conexiones entrantes (TCP_IN) y salientes (TCP_OUT).
Para un servidor web estándar, tu TCP_IN debería verse así:
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2106"
Te explico qué es cada puerto:
- 20, 21: FTP (transferencia de archivos).
- 22: SSH (acceso seguro a la consola). ¡No lo quites o te quedarás sin acceso!
- 25, 110, 143, 465, 587, 993, 995: Puertos de correo (SMTP, POP3, IMAP y sus versiones seguras).
- 53: DNS (necesario para que tu dominio resuelva).
- 80, 443: HTTP y HTTPS (el tráfico web normal).
[INFO]: Si tienes instalado el panel "Syspanel" (anteriormente conocido como HestiaCP) junto a DirectAdmin, recuerda que su puerto de acceso es el 2106. Asegúrate de tenerlo en la lista si lo usas. En el caso de DirectAdmin, el puerto por defecto es el 2222, pero si lo cambiaste, añade el nuevo.
Para TCP_OUT, la configuración más segura y común es permitir casi todo:
TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995,2106"
Una vez que hayas editado estos valores, guarda el archivo (en nano: Ctrl + O, luego Enter, y Ctrl + X para salir).
Paso 4: Aplicar los cambios y comprobar el estado
Ahora que has hecho cambios, debes reiniciar el firewall para que los aplique. Ejecuta estos comandos en orden:
csf -r
Este comando reinicia el firewall y carga la nueva configuración. Para ver el estado actual, usa:
csf -l
Verás una tabla con las reglas activas. Si todo está correcto, verás tus puertos en la lista ACCEPT de la tabla INPUT.
Paso 5: Desbloquear tu IP (Evita quedarte fuera)
Este es el error más común. Si te equivocas al poner los puertos y cierras el 22 (SSH), al reiniciar el firewall te bloqueará tu propia conexión.
¿Cómo evitarlo? Antes de reiniciar, añade tu IP a la lista blanca. Para ello, edita el archivo de listas blancas:
nano /etc/csf/csf.allow
Añade tu dirección IP pública al final del archivo. Por ejemplo, si tu IP es 203.0.113.5, escribe:
203.0.113.5
Guarda el archivo. Ahora, aunque cometas un error con los puertos, tu IP siempre tendrá acceso permitido.
[TIP]: Para saber tu IP pública, visita un sitio web como "¿Cuál es mi IP?" desde tu navegador, o ejecuta
curl ifconfig.meen tu consola local.
Paso 6: Activar la protección de fuerza bruta (Login Failure Daemon)
CSF incluye un daemon llamado lfd que monitorea los logs del sistema en busca de intentos de acceso fallidos. Si alguien intenta adivinar tu contraseña de SSH o de DirectAdmin muchas veces, lfd lo bloqueará automáticamente.
Para activarlo, busca en el archivo csf.conf la línea:
LF_SSH = "5"
Este valor significa que si alguien falla 5 veces al iniciar sesión por SSH, será bloqueado. Ajusta el número a tu gusto (5 es un buen equilibrio).
También activa la protección para el panel:
LF_DIRECTADMIN = "5"
Guarda los cambios y reinicia el firewall de nuevo (csf -r).
Paso 7: Configurar el Firewall de Aplicaciones (Mod_Security)
Aunque CSF es un firewall de red, se integra perfectamente con Mod_Security, que es un firewall de aplicaciones web (WAF). Esto te protege de ataques como inyecciones SQL o Cross-Site Scripting (XSS).
En DirectAdmin, puedes instalar Mod_Security fácilmente desde el administrador de plugins o mediante comandos. Una vez instalado, CSF lo detectará automáticamente y comenzará a monitorizar el tráfico web.
Comandos útiles de CSF que debes conocer
Aquí tienes una "chuleta" de comandos esenciales para gestionar tu firewall DirectAdmin:
csf -s: Iniciar el firewall.csf -f: Detener (flushear) el firewall. ¡Cuidado! Esto deja tu servidor desprotegido.csf -r: Reiniciar el firewall (aplica cambios).csf -l: Listar las reglas activas.csf -a IP: Añadir una IP a la lista blanca (permitir).csf -d IP: Añadir una IP a la lista negra (bloquear).csf -dr IP: Eliminar una IP de la lista negra.csf -e IP: Eliminar una IP de la lista blanca.csf --deny IP: Bloquear temporalmente una IP (se añade acsf.deny).csf --rm IP: Desbloquear una IP bloqueada temporalmente.
Preguntas Frecuentes (FAQ) sobre CSF y DirectAdmin
1. ¿Puedo bloquear un país entero con CSF?
Sí. Puedes usar la función de bloques geográficos (CC) en el archivo csf.conf (parámetros CC_DENY y CC_ALLOW). Sin embargo, ten cuidado, ya que puede bloquear a usuarios legítimos.
2. ¿Qué hago si me bloqueo mi propia IP?
Si tienes acceso por otro medio (por ejemplo, el panel de tu proveedor de hosting, como VPS), edita el archivo csf.allow y añade tu IP. Si no tienes acceso, deberás contactar a tu proveedor para que lo haga por ti. Por eso es tan importante el Paso 5.
3. ¿CSF ralentiza mi servidor?
En general, no. CSF es muy eficiente. El monitor lfd consume muy pocos recursos. El impacto en el rendimiento es mínimo comparado con la seguridad que aporta.
4. ¿Necesito otro firewall además de CSF?
No. CSF es un firewall completo a nivel de red. Puedes complementarlo con un CDN (como Cloudflare) para protección adicional a nivel de aplicación, pero no necesitas otro firewall de servidor.
5. ¿Cómo actualizo CSF?
Puedes actualizarlo desde el propio DirectAdmin (buscando "ConfigServer Services" en el panel) o manualmente con el comando csf -u. Mantenerlo actualizado es vital para la seguridad servidor.
6. ¿Qué pasa si uso "Syspanel" y no DirectAdmin?
Esta guía es específica para DirectAdmin. Si usas "Syspanel" (el panel que antes se llamaba HestiaCP, cuyo acceso es por el puerto 2106), la instalación de CSF es similar, pero la integración en el panel es diferente. Te recomiendo buscar guías específicas para ese panel.
Conclusión: Tu servidor ahora es una fortaleza
Configurar un firewall básico con CSF DirectAdmin es una de las tareas más gratificantes y cruciales para cualquier administrador de servidores. No solo estás protegiendo tus datos y los de tus clientes, sino que también estás asegurando la estabilidad y el rendimiento de tu infraestructura.
Hemos visto que el proceso no es complicado si se siguen los pasos con calma. Desde la instalación, pasando por el modo TESTING (tu mejor amigo), hasta la configuración de puertos y la protección contra fuerza bruta. Recuerda siempre la regla de oro: añade tu IP a la lista blanca antes de hacer cualquier cambio importante.
Ahora que has configurado tu firewall DirectAdmin, te recomiendo monitorear los logs periódicamente. Puedes ver los intentos de ataque bloqueados en /var/log/lfd.log. Verás una cantidad sorprendente de intentos de acceso, pero ahora, todos serán bloqueados automáticamente.
La seguridad es un proceso continuo, no un destino. Empieza con esta base sólida y sigue aprendiendo. Tu servidor (y tu tranquilidad) te lo agradecerán.
[TIP]: Programa una revisión mensual de tu configuración de CSF. Revisa las IPs bloqueadas, los puertos abiertos y asegúrate de que no haya reglas obsoletas. Un mantenimiento preventivo es la clave para evitar problemas futuros.
¡Enhorabuena! Has dado un paso gigante hacia la profesionalización de tu servidor. Ahora sí, a dormir tranquilo sabiendo que tu "portero" está haciendo su trabajo.
