Cómo configurar un firewall en DirectAdmin (CSF y Básico)
¿Qué es un firewall y por qué tu servidor DirectAdmin lo necesita?
Si tienes un servidor con DirectAdmin, probablemente ya sabes que es un panel de control potente y lleno de funciones. Pero con ese poder viene una gran responsabilidad: la seguridad. Un servidor expuesto a Internet es un objetivo constante para bots y atacantes automáticos que escanean puertos sin descanso. Aquí es donde entra el firewall.
Un firewall es como un guardia de seguridad que se sitúa en la puerta de tu servidor. Su trabajo es decidir qué tráfico entra y sale, basándose en reglas específicas. Puede bloquear direcciones IP maliciosas, limitar el acceso a ciertos puertos y protegerte de ataques de fuerza bruta.
En el entorno de DirectAdmin, la solución más popular y robusta es CSF (ConfigServer Security & Firewall). Es una herramienta avanzada pero, con la guía adecuada, puede ser configurada incluso por usuarios que están empezando. En este artículo, te explicaré paso a paso cómo configurar un directadmin firewall usando CSF, y también cómo gestionar el firewall básico que viene integrado en el panel.
Vamos a sumergirnos en el mundo de la seguridad de servidores. No te preocupes si no eres un experto en Linux; este tutorial está pensado para que lo sigas sin romper nada.
Primeros pasos: Conectarse a tu servidor
Antes de tocar nada, necesitas acceso a tu servidor. Esto se hace normalmente a través de SSH (Secure Shell). En Windows puedes usar programas como PuTTY, y en Mac o Linux, simplemente abres la terminal.
Una vez conectado, asegúrate de que tienes permisos de superusuario (root). Si tu usuario no es root, puedes usar el comando su - para cambiar a root. La mayoría de los comandos de configuración de firewall requieren privilegios elevados.
Ahora sí, vamos a ver si CSF está instalado.
Comprobar si CSF está instalado
Muchos proveedores de hosting ya incluyen CSF preinstalado en sus servidores con DirectAdmin. Para comprobarlo, escribe el siguiente comando:
csf -v
Si el sistema devuelve un número de versión, ¡genial! Ya lo tienes. Si te dice "command not found", tendrás que instalarlo. Te explicaré cómo hacerlo en la siguiente sección.
Instalación de CSF en DirectAdmin
La instalación es un proceso sencillo, pero requiere de unos pocos comandos. Sigue estos pasos con atención.
Paso 1: Descargar e instalar
CSF se descarga directamente desde su sitio web oficial. Ejecuta estos comandos uno por uno:
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 colocar todos los archivos en su lugar y de crear los enlaces necesarios.
Paso 2: Verificar que los módulos de iptables están activos
CSF usa iptables, el firewall nativo de Linux. Para que funcione correctamente, necesita que ciertos módulos estén cargados. Puedes comprobarlo con:
perl /usr/local/csf/bin/csftest.pl
Este comando ejecuta una serie de pruebas. Si ves que todo está en verde o con "OK", puedes continuar. No te asustes si hay algún "FAIL" menor, a veces no es crítico. Pero si falla en algo importante, tendrás que solucionarlo antes de activar CSF.
Paso 3: Activar el firewall
Por defecto, CSF se instala en modo de prueba. Esto significa que no está bloqueando nada activamente. Para activarlo, tienes que cambiar una configuración.
Abre 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".
[WARNING] Cambiar TESTING a "0" activa el firewall de inmediato. Asegúrate de que tu IP actual no esté bloqueada antes de hacer esto. Si te bloqueas a ti mismo, perderás el acceso a tu servidor.
Guarda el archivo (en nano, con Ctrl + O y luego Ctrl + X) y reinicia CSF:
csf -r
Este comando limpia todas las reglas y aplica la configuración nueva. Ahora tu directadmin firewall está activo.
Configuración básica de CSF
Una vez que CSF está corriendo, es hora de configurarlo para que se adapte a tus necesidades. La configuración se maneja desde el archivo /etc/csf/csf.conf. Vamos a ver las opciones más importantes.
Puertos abiertos por defecto
CSF viene con una lista de puertos abiertos por defecto. Esta lista es bastante segura e incluye los puertos estándar para web, correo y SSH.
Para verla, busca la sección TCP_IN en el archivo de configuración. Verás algo así:
TCP_IN = "20,21,22,25,26,53,80,110,143,443,465,587,993,995,2106"
Aquí es donde defines qué puertos pueden recibir conexiones desde el exterior. Si tienes servicios adicionales, tendrás que añadir sus puertos aquí.
Abrir puertos en DirectAdmin
Una de las tareas más comunes es abrir puertos DirectAdmin. Por ejemplo, si quieres instalar un servicio que usa el puerto 3000, tendrás que añadirlo.
- Abre el archivo de configuración:
nano /etc/csf/csf.conf - Busca la línea
TCP_INy añade el puerto separado por comas. Por ejemplo:TCP_IN = "20,21,22,25,26,53,80,110,143,443,465,587,993,995,2106,3000" - Guarda el archivo.
- Aplica los cambios con
csf -r.
[TIP] Siempre verifica que el servicio que quieres abrir esté escuchando en ese puerto. Puedes usar el comando
netstat -tulpn | grep 3000para comprobarlo.
Configuración de puertos de salida
Así como controlas las conexiones entrantes, también puedes controlar las salientes con TCP_OUT. Esto es útil para prevenir que un programa malicioso envíe datos fuera de tu servidor sin permiso.
La configuración por defecto suele ser suficiente, pero si quieres ser más restrictivo, puedes eliminar puertos que no uses.
El panel de control de CSF en DirectAdmin
CSF no solo se gestiona por línea de comandos. DirectAdmin se integra muy bien con él, y puedes controlarlo desde el panel web.
Acceso al plugin
Dentro de tu panel de DirectAdmin, busca el icono de "ConfigServer Security&Firewall" (CSF). Estará en la sección de "Administración" o "Avanzado".
Este plugin te permite:
- Ver el estado del firewall: Si está activo o no.
- Gestionar listas de IPs bloqueadas y permitidas: Puedes añadir una IP a la lista negra o blanca con un clic.
- Forzar la actualización de reglas: Aplica los cambios sin necesidad de ir a la terminal.
- Ver estadísticas de conexiones: Te muestra quién está conectando a tu servidor en tiempo real.
Añadir una IP a la lista blanca
Si alguna vez te bloqueas a ti mismo, o si quieres asegurarte de que una IP específica siempre tenga acceso, puedes añadirla a la lista blanca.
- Entra al plugin de CSF en DirectAdmin.
- Ve a la sección de "Quick Config".
- En el campo "IP to allow", escribe la dirección IP.
- Haz clic en "Allow".
Esto añade la IP a /etc/csf/csf.allow y aplica los cambios automáticamente.
Seguridad avanzada: Protección contra ataques de fuerza bruta
Una de las mejores características de CSF es su sistema de protección contra ataques de fuerza bruta. Esto es especialmente importante si tienes habilitado el acceso por SSH o si usas el panel de control.
¿Cómo funciona?
CSF monitoriza los intentos de conexión fallidos. Si una IP falla demasiadas veces en un período corto de tiempo, se bloquea automáticamente. Puedes configurar este comportamiento en el archivo csf.conf:
LF_SSHD: Protección para SSH. Está activada por defecto.LF_FTPD: Protección para FTP.LF_SMTPAUTH: Protección para la autenticación SMTP (correo).
Puedes ajustar el número de intentos y el tiempo de bloqueo. Por ejemplo, para SSH:
LF_SSHD = "5"
LF_SSHD_PERM = "3600"
Esto significa que si alguien falla 5 veces en autenticarse por SSH, su IP será bloqueada durante 3600 segundos (1 hora).
[INFO] No bajes demasiado el número de intentos. Si tú mismo te equivocas al escribir la contraseña 3 veces, podrías bloquearte sin querer. Un valor de 5 o 6 es razonable.
Revisar IPs bloqueadas
Puedes ver todas las IPs que CSF ha bloqueado automáticamente con el comando:
csf -l
Para desbloquear una IP específica:
csf -dr IP_ADDRESS
El firewall básico de DirectAdmin
Además de CSF, DirectAdmin tiene su propio firewall básico integrado. Es mucho más simple, pero puede ser útil para configuraciones rápidas.
Dónde encontrarlo
En tu panel de DirectAdmin, ve a Administración > Firewall. Aquí verás una interfaz sencilla donde puedes:
- Habilitar o deshabilitar el firewall: Un simple interruptor.
- Abrir puertos: Una lista de puertos comunes con casillas de verificación.
- Bloquear IPs: Un campo para añadir IPs a una lista negra.
Este firewall es una capa adicional, pero no es tan robusto como CSF. Se recomienda usar CSF como solución principal y este como complemento si lo necesitas.
Resolución de problemas comunes
A veces, configurar el firewall puede dar algunos dolores de cabeza. Aquí te dejo algunos problemas típicos y cómo solucionarlos.
Me he bloqueado a mí mismo
Si has aplicado una regla que te ha dejado fuera, no entres en pánico. Si tienes acceso a la consola de tu proveedor de hosting (por ejemplo, a través de un panel de gestión como Vultr o DigitalOcean), puedes conectarte por consola web.
Una vez dentro, edita el archivo /etc/csf/csf.allow y añade tu IP. Luego ejecuta csf -r para reiniciar el firewall.
Si no tienes acceso a una consola web, contacta con tu proveedor de hosting. Ellos podrán desbloquearte.
El servicio no responde después de abrir el puerto
A veces, abrir un puerto en CSF no es suficiente. El servicio en sí debe estar escuchando en ese puerto. Verifica con netstat -tulpn | grep PUERTO si el servicio está activo.
También asegúrate de que el puerto esté abierto en ambos sentidos (TCP_IN y TCP_OUT si es necesario).
CSF no se inicia al arrancar
Si reinicias el servidor y CSF no se activa, puede que el servicio no esté configurado para iniciarse automáticamente. Ejecuta:
systemctl enable csf
systemctl enable lfd
Esto habilitará CSF y su demonio de monitoreo (lfd) para que arranquen con el sistema.
Buenas prácticas de seguridad para tu servidor con DirectAdmin
Configurar el firewall es solo el primer paso. Aquí tienes algunas recomendaciones adicionales para mantener tu servidor a salvo.
Cambia el puerto SSH por defecto
El puerto 22 es el más atacado. Cambiarlo a otro número reduce drásticamente los ataques automáticos. Puedes hacerlo en /etc/ssh/sshd_config, cambiando la línea Port 22 por otro número (por ejemplo, 2222).
[WARNING] Asegúrate de abrir el nuevo puerto en CSF antes de reiniciar el servicio SSH. Si no lo haces, te quedarás sin acceso.
Actualiza tu sistema regularmente
Mantén tu sistema operativo y el panel de control al día. Las actualizaciones suelen incluir parches de seguridad importantes.
Usa contraseñas fuertes
Parece obvio, pero es sorprendente cuántos servidores usan contraseñas débiles. Usa una combinación de letras mayúsculas, minúsculas, números y símbolos.
Monitorea los logs
CSF tiene un sistema de logs que puedes revisar en /var/log/lfd.log. Aquí verás todos los intentos de intrusión y las acciones que ha tomado el firewall.
Conclusión
Configurar un directadmin firewall con CSF es una de las mejores decisiones que puedes tomar para la seguridad de tu servidor. Aunque al principio pueda parecer abrumador, siguiendo estos pasos podrás tener un firewall robusto y configurado a tu medida en menos de una hora.
Recuerda que la seguridad es un proceso continuo. No basta con instalar el firewall y olvidarte. Debes revisar los logs periódicamente, mantener tu sistema actualizado y ajustar las reglas según las necesidades de tus servicios.
Si has llegado hasta aquí, ya tienes los conocimientos básicos para gestionar la seguridad de tu servidor con DirectAdmin. No dudes en experimentar con la configuración, siempre con cuidado y verificando que no te bloqueas a ti mismo.
Espero que este artículo te haya sido de gran ayuda. Si tienes alguna duda, déjala en los comentarios y estaré encantado de ayudarte. ¡Buena suerte con tu servidor y que tus puertos estén siempre seguros!
