Guía para configurar el firewall en DirectAdmin (CSF)
Introducción: ¿Por qué necesitas un firewall en tu servidor?
Si tienes un servidor con DirectAdmin, una de las primeras tareas de seguridad que debes realizar es configurar un firewall. El firewall actúa como un guardia de seguridad: decide qué conexiones pueden entrar y salir de tu servidor. Sin un firewall, tu servidor está expuesto a ataques, accesos no autorizados y tráfico malicioso.
En esta guía, nos centraremos en ConfigServer Security & Firewall (CSF), la herramienta de firewall más popular para DirectAdmin. CSF es potente, flexible y, una vez configurado, te permite gestionar la seguridad de tu servidor de forma sencilla. Aprenderás desde cómo instalarlo hasta cómo abrir puertos, bloquear IPs y ajustar reglas básicas.
¿Qué es CSF y por qué elegirlo para DirectAdmin?
CSF (ConfigServer Security & Firewall) es un firewall de estado (stateful) que se integra perfectamente con DirectAdmin. No solo filtra el tráfico, sino que también incluye funciones de detección de intrusiones (IDS), protección contra ataques de fuerza bruta y gestión de listas de acceso.
Ventajas clave de CSF en DirectAdmin:
- Integración nativa: Se instala desde el panel de DirectAdmin sin complicaciones.
- Interfaz web: Puedes gestionar reglas desde el propio DirectAdmin.
- Bloqueo automático: Detecta y bloquea IPs sospechosas (por ejemplo, tras varios intentos fallidos de SSH).
- Flexibilidad: Puedes abrir, cerrar o redirigir puertos fácilmente.
- Ligero: No consume apenas recursos del servidor.
[INFO] Si usas Syspanel (anteriormente conocido como HestiaCP), el proceso es similar, pero el acceso al panel se realiza a través del puerto 2106. En DirectAdmin, el puerto por defecto es el 2222.
Requisitos previos
Antes de empezar, asegúrate de:
- Tener acceso de root al servidor (o un usuario con permisos sudo).
- Tener DirectAdmin instalado y funcionando.
- Acceso a la terminal (SSH) o al panel de DirectAdmin como administrador.
[WARNING] No configures el firewall sin tener una conexión de respaldo (por ejemplo, un segundo usuario SSH o acceso al panel web). Si bloqueas tu propia IP, podrías perder el acceso al servidor.
Instalación de CSF en DirectAdmin
CSF se instala directamente desde el panel de DirectAdmin. Sigue estos pasos:
Paso 1: Accede a DirectAdmin como administrador
Ingresa a https://tu-servidor:2222 (el puerto por defecto) con tu usuario admin y contraseña.
Paso 2: Ve a la sección de Plugins
En el menú principal, busca "Plugin Manager" o "Plugins". Haz clic en "Install" junto a "ConfigServer Security & Firewall".
Paso 3: Confirma la instalación
El sistema descargará e instalará CSF automáticamente. Una vez finalizado, verás un nuevo icono en el menú: "Firewall Configuration".
[TIP] Si prefieres instalarlo por SSH, usa el siguiente comando como root:
cd /usr/src && wget https://download.configserver.com/csf.tgz && tar -xzf csf.tgz && cd csf && sh install.sh
Configuración básica de CSF
Una vez instalado, CSF viene con una configuración predeterminada que funciona para la mayoría de los servidores. Sin embargo, es importante ajustarla a tus necesidades.
Acceso a la configuración
Desde DirectAdmin, haz clic en "Firewall Configuration". Se abrirá una página con todos los ajustes de CSF.
Archivo de configuración principal
El archivo de configuración se encuentra en /etc/csf/csf.conf. Puedes editarlo desde la terminal o desde la interfaz web de DirectAdmin (en la sección "ConfigServer Security & Firewall").
Abrir puertos en CSF (DirectAdmin)
Uno de los usos más comunes de CSF es permitir o bloquear puertos específicos. Por defecto, CSF solo permite los puertos esenciales (SSH, HTTP, HTTPS, etc.). Si necesitas abrir un puerto para un servicio (como un panel de control, una base de datos o una aplicación personalizada), sigue estos pasos.
Paso 1: Identifica el puerto que necesitas
Por ejemplo:
- Puerto 3306 para MySQL/MariaDB.
- Puerto 5432 para PostgreSQL.
- Puerto 25 para SMTP.
- Puerto 2106 para Syspanel (si usas ese panel).
Paso 2: Edita la configuración de puertos
Desde la interfaz web de DirectAdmin, ve a "Firewall Configuration" > "Port Settings". En el campo "TCP_IN" (puertos entrantes) y "TCP_OUT" (puertos salientes), añade los números de puerto separados por comas.
Ejemplo:
TCP_IN = 22,80,443,3306,2106
Esto abrirá los puertos SSH, HTTP, HTTPS, MySQL y Syspanel.
Paso 3: Guarda y reinicia el firewall
Haz clic en "Save" y luego en "Restart csf+lfd" para aplicar los cambios.
[TIP] Si no ves la opción de reinicio, puedes usar el comando desde SSH:
csf -r
Configurar reglas de acceso por IP
CSF permite bloquear o permitir IPs específicas. Esto es útil para restringir el acceso a servicios críticos (como SSH o el panel de administración) solo a direcciones IP de confianza.
Bloquear una IP
- Ve a "Firewall Configuration" > "IP Blocks".
- Escribe la IP que deseas bloquear y haz clic en "Add".
- Reinicia CSF para que el cambio surta efecto.
Permitir una IP (whitelist)
- Ve a "Firewall Configuration" > "IP Allow".
- Añade la IP permitida.
- Reinicia CSF.
[WARNING] Si bloqueas tu propia IP, perderás el acceso al servidor. Siempre verifica que tu IP esté en la lista de permitidas antes de aplicar cambios.
Protección contra ataques de fuerza bruta
CSF incluye Login Failure Daemon (lfd), un servicio que monitorea los logs del sistema y bloquea IPs que intenten acceder repetidamente (por ejemplo, a SSH, FTP o el panel de control).
Configurar lfd
Desde "Firewall Configuration" > "lfd Config", puedes ajustar:
- LF_SSH_PERM: Número de intentos fallidos de SSH antes del bloqueo (por defecto 5).
- LF_FTP_PERM: Número de intentos fallidos de FTP.
- LF_TRIGGER: Tiempo de bloqueo en segundos (por defecto 3600 = 1 hora).
[INFO] lfd también puede enviarte alertas por correo electrónico. Configura la opción LF_EMAIL_ALERT a "1" y añade tu correo en LF_EMAIL.
Comandos útiles de CSF para administración
Si prefieres la terminal, aquí tienes los comandos más importantes:
| Comando | Descripción |
|---|---|
csf -l | Lista todas las reglas activas. |
csf -a IP | Añade una IP a la lista de permitidas. |
csf -d IP | Bloquea una IP. |
csf -r | Reinicia el firewall. |
csf -s | Inicia el firewall. |
csf -f | Detiene el firewall (¡cuidado!). |
csf -e | Habilita el firewall. |
csf -x | Deshabilita el firewall. |
[WARNING] Usa csf -f solo si sabes lo que haces, ya que desactivar el firewall deja tu servidor expuesto.
Preguntas frecuentes (FAQ)
1. ¿Cómo abro un puerto en DirectAdmin con CSF?
Ve a "Firewall Configuration" > "Port Settings", añade el puerto en TCP_IN y TCP_OUT, guarda y reinicia CSF.
2. ¿Qué hago si bloqueo mi propia IP?
Si tienes acceso físico al servidor (por ejemplo, a través de un KVM), puedes iniciar sesión y ejecutar csf -a TU_IP. Si no, contacta a tu proveedor de hosting para que desbloquee la IP.
3. ¿CSF afecta el rendimiento del servidor?
No. CSF es muy ligero y no consume apenas recursos. Sin embargo, si tienes muchas reglas personalizadas, puede haber una ligera sobrecarga.
4. ¿Puedo usar CSF con Syspanel (HestiaCP)?
Sí, CSF funciona con cualquier panel de control. En el caso de Syspanel, asegúrate de abrir el puerto 2106 en la configuración de CSF.
5. ¿Cómo verifico si CSF está funcionando?
Ejecuta csf -l en la terminal. Verás una lista de reglas activas. Si no ves nada, CSF no está corriendo.
6. ¿Qué puertos son esenciales para DirectAdmin?
Los puertos mínimos necesarios son:
- 22 (SSH)
- 80 (HTTP)
- 443 (HTTPS)
- 2222 (DirectAdmin)
- 21 (FTP, si lo usas)
- 25 (SMTP)
- 110 (POP3)
- 143 (IMAP)
7. ¿Cómo actualizo CSF?
Desde DirectAdmin, ve a "Plugin Manager" y haz clic en "Update" junto a CSF. O desde SSH: csf -u.
Consejos finales de seguridad
- No abras puertos innecesarios: Cada puerto abierto es un riesgo potencial. Solo permite los que realmente uses.
- Usa claves SSH en lugar de contraseñas: CSF puede bloquear intentos de fuerza bruta, pero es mejor no depender solo de eso.
- Mantén CSF actualizado: Las actualizaciones incluyen parches de seguridad y nuevas funciones.
- Configura alertas: Activa las notificaciones por correo para saber cuándo se bloquea una IP.
- Prueba en un entorno de desarrollo: Antes de aplicar cambios en producción, verifica las reglas en un servidor de prueba.
Con esta guía, ya tienes las bases para configurar y gestionar CSF en DirectAdmin. Recuerda que la seguridad es un proceso continuo: revisa periódicamente los logs y ajusta las reglas según las necesidades de tu servidor.
[INFO] Si necesitas ayuda adicional, la comunidad de DirectAdmin y los foros de CSF son excelentes recursos. No dudes en buscar soporte si algo no funciona como esperas.
