Configurar un firewall en DirectAdmin para principiantes
¿Por qué necesitas un firewall en DirectAdmin?
Si tienes un servidor con DirectAdmin, seguramente te has preguntado cómo protegerlo de accesos no autorizados o ataques maliciosos. La realidad es que un servidor expuesto a internet recibe intentos de intrusión constantemente: bots que prueban contraseñas, escaneos de puertos, ataques de fuerza bruta o intentos de explotar vulnerabilidades en servicios como SSH, FTP o el propio panel de control.
Un firewall actúa como un portero de discoteca: decide quién entra, quién sale y quién se queda fuera. En el contexto de un servidor, un firewall analiza el tráfico de red y aplica reglas para permitir o bloquear conexiones según el puerto, la IP de origen o el protocolo. Configurarlo correctamente es una de las primeras líneas de defensa para mantener tu servidor seguro y estable.
En este artículo te explicaré, paso a paso y sin tecnicismos innecesarios, cómo configurar un firewall en DirectAdmin desde cero. No necesitas ser un experto en redes: con seguir estas instrucciones, tendrás una protección básica sólida en menos de 30 minutos.
¿Qué firewall utiliza DirectAdmin?
DirectAdmin no incluye un firewall nativo, pero se integra perfectamente con dos de los más populares en sistemas Linux: CSF (ConfigServer Security & Firewall) y iptables. El más recomendado para principiantes es CSF, porque ofrece una interfaz de línea de comandos sencilla y muchas funciones automáticas, como la detección de ataques de fuerza bruta o el bloqueo temporal de IPs sospechosas.
A lo largo de esta guía usaremos CSF, ya que es el estándar de facto en la mayoría de servidores con DirectAdmin. Si tu proveedor de hosting ya lo tiene instalado, perfecto; si no, te enseñaré a instalarlo y configurarlo desde cero.
Requisitos previos
Antes de empezar, asegúrate de tener:
- Acceso root (administrador total) a tu servidor a través de SSH (por ejemplo, con PuTTY en Windows o Terminal en Mac/Linux).
- DirectAdmin instalado y funcionando.
- Un mínimo de valentía para tocar la terminal. No te preocupes, los comandos son fáciles de copiar y pegar.
[WARNING] Si no tienes experiencia con SSH, ve con calma. Un error en el firewall puede dejarte fuera del servidor. Siempre puedes pedir ayuda a tu proveedor de hosting, pero con esta guía minimizarás riesgos.
Paso 1: Instalar CSF en DirectAdmin
CSF se instala directamente desde la terminal. Sigue estos pasos:
- Conéctate a tu servidor por SSH como usuario root.
- Ejecuta los siguientes comandos para descargar e instalar CSF:
cd /usr/src
wget https://download.configserver.com/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh
- Una vez finalizada la instalación, verifica que CSF se ha instalado correctamente:
csf -v
Deberías ver algo similar a csf: v14.20. Si aparece un mensaje de error, revisa que hayas ejecutado los comandos como root.
- Ahora activa el firewall. Por defecto, CSF viene en modo de prueba. Para activarlo definitivamente, edita el archivo de configuración principal:
nano /etc/csf/csf.conf
Busca la línea que dice TESTING = "1" y cámbiala a TESTING = "0". Guarda los cambios con Ctrl + O, presiona Enter y sal con Ctrl + X.
- Reinicia CSF para aplicar la configuración:
csf -r
[INFO] El modo de prueba (
TESTING = "1") permite que CSF registre las conexiones que bloquearía, pero sin bloquearlas realmente. Es útil para detectar problemas antes de activarlo del todo. Si te sientes inseguro, puedes dejarlo en modo prueba unos días y revisar los logs.
Paso 2: Configuración básica del firewall en DirectAdmin
Ahora que CSF está activo, vamos a personalizarlo para que se adapte a tu servidor. La configuración principal se encuentra en el archivo /etc/csf/csf.conf. Te recomiendo abrirlo con un editor de texto como nano:
nano /etc/csf/csf.conf
Estas son las opciones más importantes para un principiante:
Puertos abiertos (entrada y salida)
CSF usa dos listas de puertos: TCP_IN y TCP_OUT. La primera controla el tráfico entrante (lo que viene de internet hacia tu servidor) y la segunda el saliente (lo que tu servidor envía al exterior).
Por defecto, encontrarás algo así:
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"
TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995"
Para un hosting estándar, estos puertos suelen ser suficientes. Pero si usas servicios adicionales (como un panel de control en un puerto específico), deberás añadirlos. Por ejemplo, DirectAdmin usa el puerto 2222 para su panel de administración, así que asegúrate de que esté incluido en TCP_IN.
[TIP] Si no sabes qué puertos necesitas, consulta a tu proveedor o revisa la documentación de los servicios que tienes instalados. Abrir puertos innecesarios aumenta la superficie de ataque.
Permitir IPs confiables
Si tienes una IP fija (por ejemplo, la de tu oficina o casa), puedes añadirla a la lista blanca para que nunca sea bloqueada, incluso si fallas varios intentos de conexión. Edita el archivo /etc/csf/csf.allow:
nano /etc/csf/csf.allow
Añade tu IP al final, una por línea. Por ejemplo:
123.456.789.0
Guarda y sal. Luego aplica los cambios:
csf -r
Bloquear IPs específicas
De manera similar, puedes bloquear manualmente IPs que consideres maliciosas. Edita el archivo /etc/csf/csf.deny:
nano /etc/csf/csf.deny
Añade la IP que quieras bloquear y aplica los cambios con csf -r.
Paso 3: Protección contra ataques de fuerza bruta
Uno de los mayores riesgos en un servidor es el ataque de fuerza bruta: alguien intenta adivinar tu contraseña de SSH, FTP o del panel de control probando miles de combinaciones por minuto. CSF incluye un módulo llamado LF (Login Failure) que detecta estos intentos y bloquea automáticamente la IP del atacante.
Para configurarlo, edita el archivo csf.conf y busca las siguientes opciones:
Activar la detección de fallos de inicio de sesión
LF_SSH = "5"
LF_FTP = "5"
LF_POP3 = "5"
LF_IMAP = "5"
Estos números indican cuántos intentos fallidos permitirá antes de bloquear la IP. Por ejemplo, LF_SSH = "5" bloquea la IP después de 5 intentos fallidos de SSH.
Tiempo de bloqueo
LF_TRIGGER = "300"
Este valor es el tiempo (en segundos) durante el cual CSF vigila los intentos fallidos. Si un atacante supera el límite de intentos dentro de esa ventana, se bloquea la IP.
Duración del bloqueo
LF_BLOCK_TIME = "600"
Es el tiempo (en segundos) que estará bloqueada la IP. Ajusta estos valores según tu nivel de tolerancia. Un bloqueo de 10 minutos (600) es razonable para empezar.
[TIP] Puedes aumentar el bloqueo para IPs reincidentes. CSF guarda un historial y puede alargar automáticamente el bloqueo si la misma IP vuelve a intentar ataques.
Paso 4: Configurar alertas por correo
CSF puede enviarte un correo cada vez que bloquee una IP o detecte algo sospechoso. Para activarlo, busca en csf.conf la opción:
LF_ALERT_TO = "tu@correo.com"
Sustituye por tu dirección de correo. También puedes configurar alertas para otros eventos, como cambios en los archivos del sistema o conexiones entrantes inusuales.
[INFO] No te excedas con las alertas o te volverás loco revisando el correo. Empieza solo con los bloqueos por fuerza bruta y luego añade más si lo necesitas.
Paso 5: Probar el firewall y ver los registros
Una vez configurado, es hora de comprobar que todo funciona. Estos son los comandos básicos que debes conocer:
csf -l: Lista todas las reglas activas (puertos abiertos, IPs bloqueadas, etc.).csf -a IP: Añade una IP a la lista blanca temporalmente.csf -d IP: Bloquea una IP manualmente.csf -r: Reinicia el firewall aplicando los últimos cambios.csf -f: Apaga el firewall por completo (¡útil si algo sale mal!).
Para ver los registros de actividad, revisa el archivo de logs:
tail -f /var/log/lfd.log
Este comando muestra en tiempo real los eventos que CSF detecta. Si ves muchas entradas de bloqueo, es una señal de que tu firewall está haciendo su trabajo.
Paso 6: Configurar DirectAdmin para usar el firewall
DirectAdmin tiene una integración nativa con CSF. Para acceder a ella:
- Entra a tu panel de DirectAdmin como administrador.
- Ve a Admin Level > Firewall Configuration.
- Verás un panel gráfico donde puedes gestionar las listas de IPs permitidas, bloqueadas, puertos abiertos, etc.
Desde aquí puedes hacer cambios sin necesidad de usar la terminal. Eso sí, ten en cuenta que las modificaciones que hagas en el panel se guardan en los mismos archivos de configuración que hemos editado antes.
[TIP] Si tu proveedor usa Syspanel (antes conocido como HestiaCP) en lugar de DirectAdmin, el panel de firewall se encuentra en un puerto diferente: el 2106. La lógica es similar, pero los archivos de configuración pueden variar. Consulta la documentación de Syspanel para más detalles.
Errores comunes y cómo solucionarlos
Me he quedado fuera de mi servidor
Si has bloqueado tu propia IP por error, no entres en pánico. Si tienes acceso al panel de control de tu proveedor (por ejemplo, VPS o servidor dedicado), puedes reiniciar el servidor desde el panel. Al reiniciar, CSF se detiene y podrás volver a conectarte.
Para evitarlo en el futuro, añade tu IP a la lista blanca (csf.allow) y configura LF_DAEMON = "0" para desactivar el daemon de monitoreo mientras haces pruebas.
El firewall bloquea un servicio legítimo
Si un servicio no funciona después de activar CSF, revisa los logs (/var/log/lfd.log) para ver qué puerto está siendo bloqueado. Luego añade ese puerto a TCP_IN o TCP_OUT en csf.conf y reinicia CSF.
Las reglas no se aplican
Asegúrate de haber ejecutado csf -r después de cualquier cambio. Si el problema persiste, revisa que el archivo csf.conf no tenga errores de sintaxis (por ejemplo, comillas sin cerrar).
Preguntas frecuentes (FAQ)
¿Es necesario un firewall si mi hosting ya incluye protección?
Sí, aunque tu proveedor tenga medidas básicas, un firewall a nivel de servidor te da control total sobre qué conexiones se permiten. Es una capa extra de seguridad que nunca está de más.
¿CSF consume muchos recursos?
En general, CSF y su daemon lfd consumen muy poca memoria y CPU. En servidores pequeños (1-2 GB de RAM) el impacto es mínimo.
¿Puedo usar otro firewall en lugar de CSF?
Sí, existen alternativas como iptables, UFW o Fail2ban. Sin embargo, CSF es el más completo para DirectAdmin porque incluye funciones de seguridad avanzadas sin necesidad de configurar todo manualmente.
¿Qué hago si no entiendo los logs?
Los logs de CSF pueden ser abrumadores al principio. Empieza por buscar líneas que contengan BLOCK o DROP. Esas indican bloqueos. Si ves algo que no entiendes, busca el error en Google o consulta con tu proveedor.
¿Cada cuánto debo revisar la configuración?
Al menos una vez al mes, revisa los logs y las listas de IPs bloqueadas. También es buena idea mantener CSF actualizado. Puedes comprobar la versión con csf -v y actualizarla con csf -u.
Conclusión
Configurar un firewall en DirectAdmin no es tan complicado como parece. Con CSF, en pocos minutos puedes tener una protección sólida contra los ataques más comunes: fuerza bruta, escaneos de puertos y conexiones no autorizadas.
Recuerda que la seguridad es un proceso continuo. No basta con instalar el firewall y olvidarte: debes revisar los logs periódicamente, mantener el sistema actualizado y ajustar las reglas según las necesidades de tu servidor.
Si sigues los pasos de esta guía, tendrás una base excelente para proteger tu hosting y dormir tranquilo sabiendo que tu servidor está bien custodiado. ¡Manos a la obra!
