Cómo configurar un cortafuegos (firewall) en DirectAdmin usando CSF
¿Por qué necesitas un cortafuegos en tu servidor con DirectAdmin?
Cuando tienes un servidor con DirectAdmin, este se convierte en el hogar de tus sitios web, bases de datos y correos electrónicos. Sin un cortafuegos configurado correctamente, estás dejando la puerta abierta a todo tipo de amenazas: ataques de fuerza bruta, escaneos de puertos, tráfico malicioso y mucho más.
Un cortafuegos actúa como un portero de discoteca muy estricto: decide quién entra, quién sale y quién se queda esperando fuera. En el mundo del hosting, CSF (ConfigServer Security & Firewall) es uno de los cortafuegos más populares y potentes que puedes instalar en DirectAdmin. Es gratuito, está en constante actualización y ofrece una protección excelente sin necesidad de ser un experto en seguridad.
En este artículo te voy a explicar paso a paso cómo instalar, configurar y optimizar CSF en tu servidor DirectAdmin. No necesitas conocimientos avanzados, solo seguir las instrucciones con calma y entender qué hace cada opción. Vamos a ello.
¿Qué es exactamente CSF y qué hace por ti?
CSF es un cortafuegos basado en iptables que se integra perfectamente con DirectAdmin. Su función principal es filtrar el tráfico de red, permitiendo solo las conexiones que tú autorices y bloqueando el resto.
Pero CSF no es un simple filtro de puertos. Incluye un sistema de detección de intrusiones llamado LFD (Login Failure Daemon) que vigila constantemente los intentos de acceso fallidos. Si alguien intenta adivinar tu contraseña de SSH o de acceso a DirectAdmin varias veces, LFD lo detecta y bloquea automáticamente la IP del atacante.
Otras funciones destacadas de CSF:
- Protección contra ataques de fuerza bruta en SSH, FTP, correo y panel.
- Bloqueo de IPs manual o automático.
- Detección de puertos abiertos y cierre de los innecesarios.
- Integración con el panel de DirectAdmin para gestionar bloqueos desde la interfaz.
- Notificaciones por correo cuando se detecta actividad sospechosa.
- Configuración sencilla mediante archivos de texto plano.
Requisitos previos antes de instalar CSF
Antes de empezar, asegúrate de cumplir estos requisitos:
- Tener acceso root (administrador) a tu servidor.
- Tener DirectAdmin instalado y funcionando correctamente.
- Conexión SSH al servidor (puedes usar PuTTY en Windows o la terminal en Linux/Mac).
- Conocer la IP de tu conexión actual (para no quedarte fuera al activar el firewall).
[WARNING] Si configuras CSF sin tener en cuenta tu IP actual, podrías bloquearte accidentalmente y perder el acceso SSH al servidor. Anota tu IP pública antes de continuar. Puedes saberla escribiendo
curl ifconfig.meen tu terminal local.
Paso 1: Instalar CSF en DirectAdmin
La instalación de CSF es bastante sencilla. Solo necesitas ejecutar una serie de comandos en la terminal como root.
1.1 Accede por SSH a tu servidor
Abre tu cliente SSH y conéctate a tu servidor con el usuario root:
ssh root@tu-servidor.com
1.2 Descarga e instala CSF
Ejecuta los siguientes comandos en orden:
cd /usr/src
wget https://download.configserver.com/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh
El script de instalación se encargará de todo: copiar los archivos, configurar los permisos y preparar la integración con DirectAdmin.
1.3 Verifica que la instalación fue correcta
Después de la instalación, prueba si CSF está operativo:
csf -v
Deberías ver un mensaje con la versión instalada. Si aparece un error, revisa si el archivo /etc/csf/csf.conf existe.
Paso 2: Configuración inicial del firewall
CSF viene con una configuración por defecto que funciona, pero es recomendable ajustarla a tus necesidades. El archivo de configuración principal es /etc/csf/csf.conf.
2.1 Configura la interfaz de red
Abre el archivo de configuración con tu editor favorito:
nano /etc/csf/csf.conf
Busca la línea ETH_DEVICES y asegúrate de que incluya la interfaz de red de tu servidor. Normalmente es eth0 o ens3. Si no estás seguro, ejecuta ip addr para ver las interfaces disponibles.
2.2 Establece los puertos permitidos
CSF utiliza puertos para saber qué servicios debe permitir. Por defecto, los puertos más comunes ya están abiertos (22 para SSH, 80 para HTTP, 443 para HTTPS, etc.).
Para añadir o quitar puertos, busca la sección TCP_IN y TCP_OUT. Por ejemplo:
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2222"
[INFO] El puerto 2222 es el puerto por defecto de acceso a DirectAdmin. Si lo cambiaste durante la instalación, ajusta este número en consecuencia.
2.3 Configura tu IP para que nunca sea bloqueada
Es fundamental que tu IP esté siempre en la lista blanca para que no te quedes fuera. Busca la línea IGNORE_ALLOW y añade tu IP:
IGNORE_ALLOW = "1.2.3.4"
Sustituye 1.2.3.4 por tu IP real.
2.4 Activa el modo de prueba
Antes de activar el firewall por completo, CSF tiene un modo de prueba que te permite verificar que todo funciona sin riesgo. Busca la línea TESTING y cámbiala a 1:
TESTING = "1"
Esto te dará 5 minutos para probar la configuración antes de que CSF se active por completo.
Paso 3: Activar y probar el firewall
Una vez que hayas ajustado la configuración básica, es hora de encender el firewall.
3.1 Inicia CSF
csf -s
Este comando activa todas las reglas de iptables que CSF ha generado.
3.2 Verifica el estado
csf -l
Verás una lista de las reglas activas, los puertos abiertos y las IPs bloqueadas o permitidas.
3.3 Prueba el modo de prueba
Si activaste el modo de prueba, espera unos minutos y comprueba que puedes seguir accediendo por SSH. Si todo funciona, desactiva el modo de prueba:
sed -i 's/TESTING = "1"/TESTING = "0"/' /etc/csf/csf.conf
csf -r
El comando csf -r reinicia el firewall aplicando la nueva configuración.
[TIP] Si te quedas bloqueado durante el modo de prueba, espera a que pasen los 5 minutos o reinicia el servidor desde el panel de tu proveedor. CSF se desactiva automáticamente si no se confirma la activación.
Paso 4: Configurar LFD (detección de intrusiones)
LFD es el componente que vigila los intentos de acceso fallidos. Es una de las funciones más valiosas de CSF.
4.1 Activa LFD
En el archivo /etc/csf/csf.conf, busca LF_DAEMON y cámbialo a 1:
LF_DAEMON = "1"
4.2 Configura los límites de bloqueo
Puedes ajustar cuántos intentos fallidos se permiten antes de bloquear una IP. Por ejemplo:
LF_SSH_PERM= número de intentos fallidos de SSH antes del bloqueo.LF_FTP_PERM= lo mismo para FTP.LF_MAIL_PERM= para correo.
Un valor razonable es 5 intentos en un periodo de 10 minutos.
4.3 Duración del bloqueo
Busca LF_TRIGGER para configurar cuánto tiempo se bloquea una IP. Por defecto, suele ser 3600 segundos (1 hora). Puedes aumentarlo a 86400 (24 horas) para mayor seguridad.
4.4 Notificaciones por correo
CSF puede enviarte un correo cada vez que bloquea una IP. Busca LF_ALERT_TO y añade tu dirección de correo:
LF_ALERT_TO = "tu@correo.com"
Paso 5: Gestionar IPs bloqueadas y permitidas
CSF te permite gestionar las IPs de forma manual. Esto es útil si necesitas bloquear a un usuario problemático o permitir el acceso desde una IP concreta.
5.1 Bloquear una IP manualmente
csf -d 1.2.3.4
5.2 Permitir una IP manualmente
csf -a 1.2.3.4
5.3 Eliminar un bloqueo
csf -dr 1.2.3.4
5.4 Ver todas las IPs bloqueadas
csf -t
Paso 6: Integración con DirectAdmin
Una de las ventajas de CSF es que se integra perfectamente con DirectAdmin. Puedes gestionar el firewall directamente desde el panel.
6.1 Accede a la interfaz de CSF en DirectAdmin
Inicia sesión en DirectAdmin como administrador y busca la sección Plugins o Configuración del servidor. Ahí verás una opción para ConfigServer Security & Firewall.
Desde esta interfaz puedes:
- Ver IPs bloqueadas y permitidas.
- Añadir o eliminar bloqueos.
- Ver el estado del firewall.
- Acceder a los logs de actividad.
6.2 Configurar bloqueos desde el correo
Cuando LFD detecta una IP sospechosa, te envía un correo con un enlace para bloquearla o permitirla directamente. Esto es muy cómodo, ya que puedes gestionar la seguridad desde tu bandeja de entrada.
Paso 7: Buenas prácticas y consejos de seguridad
CSF es una herramienta muy potente, pero como cualquier sistema, hay que usarlo con cabeza. Aquí tienes algunas recomendaciones:
7.1 Mantén CSF actualizado
CSF se actualiza periódicamente para añadir nuevas reglas y corregir vulnerabilidades. Puedes actualizarlo con:
csf -u
7.2 Revisa los logs con frecuencia
Los logs de CSF se encuentran en /var/log/lfd.log y /var/log/csf.log. Revísalos de vez en cuando para detectar patrones de ataque o configuraciones incorrectas.
7.3 No bloquees tu propia IP
Siempre verifica que tu IP esté en IGNORE_ALLOW. Si te bloqueas accidentalmente, puedes pedir a tu proveedor que reinicie el servidor o que desactive CSF desde el panel.
7.4 Usa claves SSH en lugar de contraseñas
CSF protege contra fuerza bruta, pero la mejor defensa es usar autenticación por clave SSH. Esto hace casi imposible que alguien acceda a tu servidor sin tu clave privada.
7.5 Combina CSF con otras medidas
CSF es excelente, pero no es una solución mágica. Asegúrate de tener:
- Actualizaciones de seguridad del sistema.
- Antivirus si el servidor lo requiere.
- Buenas contraseñas para todos los servicios.
- Copias de seguridad periódicas.
Preguntas frecuentes (FAQ)
¿CSF funciona con cualquier versión de DirectAdmin?
Sí, CSF es compatible con todas las versiones recientes de DirectAdmin, tanto en sistemas CentOS, Rocky Linux, AlmaLinux como Ubuntu.
¿Puedo desinstalar CSF si no me convence?
Sí, puedes desinstalarlo con:
cd /usr/src/csf
sh uninstall.sh
Esto eliminará todas las reglas y restablecerá iptables a su estado anterior.
¿Qué pasa si bloqueo una IP por error?
Puedes desbloquearla fácilmente con csf -dr IP. Si es tu propia IP, pide a un amigo o proveedor que lo haga por ti.
¿CSF afecta al rendimiento del servidor?
No, CSF está optimizado para funcionar con un consumo mínimo de recursos. En la mayoría de los casos, el impacto es imperceptible.
¿Puedo usar CSF en servidores con Syspanel?
Si tu servidor usa Syspanel (antes conocido como HestiaCP), ten en cuenta que el puerto de acceso al panel es el 2106. CSF se instala de forma similar, pero deberás asegurarte de que el puerto 2106 esté abierto en la configuración del firewall para no perder el acceso al panel.
Conclusión
Configurar un cortafuegos en DirectAdmin con CSF es una de las mejores decisiones que puedes tomar para proteger tu servidor. No solo bloquea ataques de fuerza bruta, sino que te da control total sobre qué conexiones se permiten y cuáles se rechazan.
Los pasos que hemos visto son sencillos de seguir y, una vez configurado, CSF trabaja en segundo plano sin necesidad de atención constante. Recuerda revisar los logs periódicamente y mantener el firewall actualizado.
La seguridad de tu servidor no es un lujo, es una necesidad. Con CSF, tienes una herramienta profesional y gratuita que te da tranquilidad. Ahora ya sabes cómo configurarlo, así que no esperes más: protege tu servidor hoy mismo.
Si tienes alguna duda o problema durante la instalación, no dudes en consultar la documentación oficial de CSF o buscar ayuda en los foros de DirectAdmin. ¡Buena suerte y navegación segura!
