Configurar firewall en DirectAdmin (CSF)
¿Tu servidor con DirectAdmin está expuesto a ataques o simplemente quieres tener un control total sobre quién entra y quién no? Si es así, estás en el lugar correcto. Hoy vamos a desgranar, paso a paso y sin tecnicismos innecesarios, cómo configurar el firewall por excelencia en este panel: CSF (ConfigServer Security & Firewall).
A lo largo de esta guía, no solo aprenderás a activarlo, sino que entenderás la lógica detrás de cada opción. Al final, tendrás un servidor blindado, con reglas claras y una tranquilidad absoluta. Vamos a ello.
¿Qué es CSF y por qué es imprescindible en DirectAdmin?
Antes de ensuciarnos las manos con la configuración, es crucial entender qué estamos instalando. CSF es un firewall de nivel de aplicación y red, escrito en Perl, que se integra de forma nativa con DirectAdmin. No es un simple cortafuegos; es un conjunto de herramientas que incluye detección de intrusiones (con su módulo LFD - Login Failure Daemon), protección contra fuerza bruta y gestión avanzada de tráfico.
Piénsalo así: DirectAdmin es la puerta principal de tu casa (gestiona usuarios, dominios, correos) y CSF es la reja blindada, el portero y el sistema de alarma que decides poner delante. Sin él, tu servidor está expuesto a escaneos de puertos, intentos de acceso continuos y posibles exploits.
El firewall directadmin por defecto es funcional, pero limitado. CSF lo lleva a otro nivel, permitiéndote definir reglas por IP, por país, por puerto y por tipo de conexión en segundos.
Requisitos previos y acceso a la interfaz
Para comenzar, necesitas tener acceso root al servidor, ya sea por SSH o, preferiblemente, a través del propio panel de DirectAdmin. Este proceso es seguro y reversible, pero siempre recomiendo hacer una copia de seguridad de la configuración actual del sistema antes de tocar nada relacionado con la red.
Paso 1: Instalación de CSF en DirectAdmin
La instalación es sorprendentemente sencilla. Solo necesitas ejecutar un par de comandos por SSH. Si no sabes qué es SSH, imagina que es una ventana negra donde escribes órdenes directamente al sistema. Te recomiendo usar un cliente como PuTTY (en Windows) o la terminal integrada de tu Mac/Linux.
- Accede a tu servidor vía SSH.
- Navega al directorio temporal:
cd /usr/src - Descarga el paquete de instalación:
wget https://download.configserver.com/csf.tgz - Descomprime el archivo:
tar -xzf csf.tgz - Entra en la carpeta:
cd csf - Ejecuta el instalador:
sh install.sh
Este proceso compila los módulos necesarios y crea las rutas de configuración. Al finalizar, verás un mensaje de éxito. No te asustes si se reinicia el servicio de red, es normal.
[WARNING]
Durante la instalación, si estás conectado por SSH, podrías perder la conexión momentáneamente. No te preocupes, es el firewall reiniciando los servicios. Espera unos segundos y vuelve a conectar.
Paso 2: Verificar que el firewall está operativo
Una vez instalado, debemos comprobar que los módulos de red funcionan correctamente. Ejecuta:
perl /usr/local/csf/bin/csftest.pl
Este comando revisa que iptables (el sistema base de firewall de Linux) y otros módulos estén listos. Si ves "OK" en todas las líneas, estás listo para activarlo.
Configurar CSF: Los archivos clave
La magia de configurar csf reside en dos archivos de texto plano: csf.conf (la configuración general) y csf.allow / csf.deny (las listas blancas y negras). Puedes editarlos desde SSH con nano o vi, pero DirectAdmin ofrece una interfaz gráfica integrada que es mucho más amigable.
Ruta en DirectAdmin:
Plugins -> ConfigServer Security&Firewall -> Firewall Configuration.
Aquí verás un formulario enorme. No te agobies; solo tocaremos las opciones críticas.
Configuración principal (csf.conf)
Estos son los parámetros que debes revisar y ajustar sí o sí:
TESTING: Este es el modo de prueba. Cuando lo configures por primera vez, déjalo en0(desactivado). Si lo pones en1, el firewall se desactivará solo después de 5 minutos si no confirmas que todo va bien. Es útil para no quedarte fuera de tu propio servidor.RESTRICT_SYSLOG: Actívalo (2o3). Esto impide que usuarios no autorizados lean los logs del sistema, una puerta trasera común.TCP_INyTCP_OUT: Aquí defines los puertos de entrada y salida. Es la lista más importante.- Entrada (TCP_IN): Deja los esenciales:
20,21,22,25,53,80,110,143,443,465,587,993,995. Si usas el puerto personalizado de SSH, cámbialo aquí. - Salida (TCP_OUT): Permite casi todo para que tu servidor funcione normal:
20,21,22,25,53,80,110,113,443,587,993,995.
- Entrada (TCP_IN): Deja los esenciales:
ICMP_INyICMP_OUT: Esto es el ping. Recomiendo dejarICMP_INen1(permitir) para diagnóstico, pero puedes ponerlo en0para invisibilidad total.
[TIP]
Si no sabes qué puertos tienes abiertos, ejecutanetstat -tulpn | grep LISTENen SSH. Esto te mostrará todos los servicios activos. Anota los puertos que ves y añádelos a la listaTCP_IN.
Listas de control de acceso (Allow/Deny)
Aquí es donde realmente blindas el servidor.
csf.allow: Añade IPs que siempre tendrán acceso total, sin importar las reglas. Ideal para tu IP de casa o la de tu oficina.- Formato:
IPoIP/MASK(ej:123.123.123.123).
- Formato:
csf.deny: Bloquea IPs específicas. Útil para atacantes reincidentes o bots molestos.csf.ignore: IPs que ignorarán las reglas de limitación de conexiones. Útil para servidores de pago o pasarelas de pago.
Cómo añadir una IP a la lista blanca desde DirectAdmin
- Ve a
Plugins->ConfigServer Security&Firewall. - Haz clic en "Quick Allow".
- Escribe la IP y el comentario (ej: "Mi oficina").
- Guarda. La IP se añadirá al instante sin reiniciar el firewall.
Bloquear un país entero (CC_DENY)
Esta es una de las funciones más potentes de CSF. Si tu web es local y recibes ataques desde el extranjero, puedes bloquear países enteros.
- En la configuración (
csf.conf), buscaCC_DENY. - Añade los códigos de país separados por coma (ej:
CC_DENY = "CN, RU, BR"). - Guarda y reinicia el firewall.
[WARNING]
Bloquear países puede afectar a usuarios legítimos que viajan. Usa esta función con lógica de negocio. Si vendes solo en España, bloquear China y Rusia es una medida excelente de seguridad directadmin.
El Modo de Pruebas: Tu red de seguridad
Antes de aplicar todo, activa el modo test. Es la diferencia entre un cambio de configuración y un desastre.
- En
csf.conf, ponTESTING = "1". - Guarda los cambios y haz clic en "Restart csf+ldfd".
- Tendrás 5 minutos para verificar que tu web carga, que el correo sale y que el SSH funciona.
- Si todo está bien, vuelve a
csf.conf, ponTESTING = "0"y guarda de nuevo.
Si algo falla, el firewall se desactiva solo y recuperas el acceso. Es un salvavidas.
Protección contra fuerza bruta (LFD)
El módulo LFD es el guardián que vigila los logs. Si alguien intenta adivinar tu contraseña de SSH o de correo, LFD lo detecta y lo bloquea automáticamente.
Configuración esencial de LFD
LF_DAEMON: Actívalo (1). Es el demonio que vigila.LF_SSH_EMAIL_ALERT: Ponlo en1para recibir un correo cuando alguien falle al entrar por SSH.LF_SSH_PERM: Define cuántos intentos fallidos antes de bloquear. Recomiendo3.LF_SSH_BLOCK_TIME: Tiempo de bloqueo en segundos.900(15 minutos) es un buen equilibrio.
Comandos útiles para gestionar bloqueos
- Ver IPs bloqueadas:
csf -l - Desbloquear una IP:
csf -dr IP(ej:csf -dr 123.123.123.123) - Bloquear manualmente:
csf -d IP - Reiniciar el firewall:
csf -r
[INFO]
Si alguna vez te bloqueas tu propia IP por error, conéctate al servidor a través de un proveedor de VNC (si tu host lo ofrece) o pide a tu proveedor de hosting que ejecutecsf -dr TU_IP. Es un proceso estándar y rápido.
Configurar CSF para DirectAdmin: Integración de servicios
CSF sabe qué puertos usa DirectAdmin, pero a veces hay que ayudarle con los servicios personalizados.
FTP y Passive Ports
Si usas FTP (aunque recomiendo SFTP), necesitas abrir un rango de puertos pasivos. En csf.conf, busca la sección FTP y añade el rango que definiste en el archivo de configuración de ProFTPD o vsftpd.
- Abre el archivo de configuración de tu FTP (ej:
/etc/proftpd.conf). - Busca
PassivePorts 30000 35000. - En
csf.conf, enTCP_IN, añade30000:35000.
Correo (SMTP)
DirectAdmin gestiona el correo. Asegúrate de que los puertos 25, 110, 143, 465, 587, 993, 995 están en TCP_IN. Si usas un servidor de correo externo, ajusta las reglas de salida.
Panel de Administración
El puerto 2222 es el de DirectAdmin. Si lo cambiaste, actualiza la regla en TCP_IN. No lo dejes en el puerto por defecto si tu servidor es crítico; es un imán para bots.
Mantenimiento y buenas prácticas
Configurar el firewall no es un "configura y olvida". Requiere un mantenimiento mínimo.
Actualizar la lista de países y reglas
CSF se actualiza frecuentemente. Puedes actualizarlo desde la interfaz de DirectAdmin en Plugins -> ConfigServer Security&Firewall -> Update. O por línea de comandos:
csf -u
Revisar los logs de ataques
El archivo /var/log/lfd.log es tu diario de batalla. Revisarlo una vez a la semana te dirá de dónde vienen los ataques y si tus reglas están funcionando.
Integración con Syspanel (Alternativa)
Si algún día migras a Syspanel (el antiguo HestiaCP), la lógica de CSF es idéntica, pero la ruta de acceso cambia. En Syspanel, recuerda que el puerto de acceso al panel es el 2106, y la integración de CSF se hace desde Panel -> Firewall. La curva de aprendizaje es cero porque los archivos de configuración son los mismos.
Resolución de problemas comunes (FAQ)
1. Me he bloqueado mi propia IP, ¿cómo la desbloqueo?
Tranquilo, es lo más común. Si tienes acceso a otro servidor o a la consola VNC del panel de tu proveedor, ejecuta:
csf -dr TU_IP
Si no tienes acceso, contacta con tu proveedor de hosting y diles la IP. Ellos lo desbloquean en segundos.
2. Mi web carga lenta después de activar CSF
Revisa si has bloqueado demasiados países o si has limitado las conexiones por IP en PORTFLOOD. A veces, los bots de Google pueden ser bloqueados si pones límites muy bajos. Ajusta LF_GOOGLE para permitir siempre a Googlebot.
3. ¿Cómo abro un puerto específico para un juego o aplicación?
Ve a csf.conf, busca TCP_IN, añade el número de puerto al final de la lista y reinicia con csf -r. Ejemplo: añadir 27015 para Counter-Strike.
4. ¿CSF afecta al rendimiento del servidor?
El impacto es mínimo, casi imperceptible. La ventaja de seguridad supera con creces el 1-2% de uso de CPU que puede añadir en picos de ataque.
5. Recibo muchos correos de alerta de LFD, ¿cómo los reduzco?
Puedes desactivar alertas específicas en csf.conf, como LF_PERM_EMAIL_ALERT = "0" para no recibir avisos de cambios de permisos. O configura LF_ALERT_TO para que solo te lleguen los resúmenes diarios.
Conclusión: Tu servidor, ahora una fortaleza
Configurar CSF en DirectAdmin es una de las tareas más gratificantes en la administración de servidores. No solo proteges tus datos y los de tus clientes, sino que aprendes a controlar el tráfico de red a tu antojo.
Recuerda la regla de oro: menos es más. Cierra todo lo que no uses, permite solo lo necesario y monitoriza con LFD. Con esta guía, has pasado de tener un servidor "abierto" a tener un búnker digital.
El firewall directadmin ya no es un misterio. Ahora es tu herramienta de control. Si te surge cualquier duda, revisa los logs, consulta la documentación oficial de CSF y, sobre todo, no tengas miedo de experimentar en un entorno de prueba.
Tu servidor te lo agradecerá con estabilidad y velocidad. ¡Manos a la obra!
