Cómo configurar un cortafuegos en DirectAdmin: Guía paso a paso
Introducción: ¿Por qué necesitas un cortafuegos en tu servidor?
Si tienes un servidor gestionado con DirectAdmin, una de las primeras medidas de seguridad que debes implementar es un cortafuegos. Un cortafuegos (o firewall) actúa como una barrera entre tu servidor y el resto de internet, filtrando el tráfico no deseado y protegiendo tus datos y aplicaciones. Sin él, tu servidor está expuesto a ataques como fuerza bruta, escaneo de puertos, inyecciones maliciosas e intentos de acceso no autorizado.
Configurar un cortafuegos en DirectAdmin no es tan complicado como parece. En esta guía paso a paso te explicaré cómo hacerlo desde cero, usando herramientas gratuitas y configuraciones básicas que cualquier persona (incluso sin experiencia técnica) puede seguir. Al final, tendrás un servidor mucho más seguro y listo para enfrentar amenazas comunes.
Palabras clave incluidas: DirectAdmin cortafuegos, firewall DirectAdmin, configurar seguridad DirectAdmin, paso a paso DirectAdmin, proteger servidor.
¿Qué es un cortafuegos y cómo funciona?
Un cortafuegos es un sistema que controla el tráfico de red entrante y saliente. Imagina que tu servidor es una casa: el cortafuegos es la puerta principal con un portero que decide quién puede entrar y quién no. Puedes permitir el acceso solo a ciertos puertos (como el 80 para HTTP o el 443 para HTTPS) y bloquear todo lo demás.
En un servidor con DirectAdmin, el cortafuegos puede ser implementado a nivel de sistema operativo (usando iptables o nftables) o mediante herramientas gráficas como CSF (ConfigServer Security & Firewall) o APF (Advanced Policy Firewall). En esta guía usaremos CSF, ya que es la más popular y fácil de manejar.
Requisitos previos
Antes de empezar, asegúrate de tener:
- Acceso a tu servidor como root o con un usuario con permisos de superusuario (sudo).
- DirectAdmin instalado y funcionando.
- Conexión SSH (o acceso al panel de control de tu VPS/dedicado).
[WARNING] Si no tienes experiencia con SSH, te recomiendo practicar comandos básicos primero. Un error al configurar el cortafuegos podría bloquear tu acceso al servidor. Siempre ten una copia de seguridad o acceso a la consola de emergencia de tu proveedor.
Paso 1: Conectar a tu servidor por SSH
Abre tu terminal (en Windows puedes usar PuTTY, en macOS o Linux la terminal nativa) y conéctate:
ssh root@tu-ip-del-servidor
Ingresa tu contraseña cuando te la pida. Si usas claves SSH, asegúrate de tener la clave privada cargada.
[TIP] Si no recuerdas tu IP, puedes obtenerla desde el panel de tu proveedor de hosting o desde DirectAdmin (en
Admin Level -> Admin Tools -> Server Information).
Paso 2: Instalar CSF (ConfigServer Security & Firewall)
CSF es un script que facilita la gestión de iptables. Para instalarlo:
cd /usr/src/
wget https://download.configserver.com/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh
Durante la instalación, el script comprobará si tienes las dependencias necesarias (como Perl). Si falta algo, te indicará cómo instalarlo. Por ejemplo, en CentOS/AlmaLinux:
yum install perl-libwww-perl -y
En Ubuntu/Debian:
apt-get install libwww-perl -y
Una vez instalado, CSF se configura automáticamente. Puedes verificar que está funcionando con:
csf -v
Deberías ver la versión instalada.
Paso 3: Configuración inicial de CSF
El archivo de configuración principal es /etc/csf/csf.conf. Edítalo con un editor como nano:
nano /etc/csf/csf.conf
Busca las siguientes líneas y ajústalas según tus necesidades:
3.1. Habilitar el firewall
Localiza TESTING = "1" y cámbialo a TESTING = "0". Esto desactiva el modo de prueba y activa el firewall.
[WARNING] Nunca cambies esto sin antes haber configurado correctamente los puertos permitidos. Si lo haces, podrías bloquear tu acceso SSH.
3.2. Configurar puertos permitidos
Busca la línea TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995". Esta lista define los puertos TCP entrantes permitidos. Asegúrate de que incluya:
22para SSH.80para HTTP.443para HTTPS.21para FTP (si lo usas).25,465,587para correo SMTP.110,995para POP3.143,993para IMAP.53para DNS (si tu servidor es nameserver).
Si usas Syspanel (antes conocido como HestiaCP), recuerda añadir el puerto 2106 para acceder a su panel. Por ejemplo:
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2106"
Para puertos UDP salientes, localiza UDP_OUT = "20,21,22,53,80,443,465,587,993,995" y ajusta según necesites.
3.3. Configurar direcciones IP confiables
Busca IGNORE_ALLOW = "" y añade tu IP actual para no ser bloqueado accidentalmente. Por ejemplo:
IGNORE_ALLOW = "192.168.1.100"
Si no sabes tu IP, visita whatismyip.com.
3.4. Activar protección contra fuerza bruta
CSF incluye un módulo llamado LF (Login Failure). Busca y activa:
LF_SSHD = "5"
LF_FTPD = "10"
LF_SMTPAUTH = "5"
Esto bloqueará temporalmente IPs que tengan demasiados intentos fallidos de inicio de sesión.
Guarda los cambios (Ctrl+O, luego Ctrl+X en nano).
Paso 4: Reiniciar y probar el firewall
Aplica la configuración:
csf -r
Verifica que los puertos estén abiertos:
csf -l
Deberías ver una lista de reglas activas. También puedes probar desde otro equipo:
ssh -p 22 tu-usuario@tu-ip
Si todo funciona, ¡enhorabuena! Ya tienes un cortafuegos básico.
[TIP] Si algo falla, puedes desactivar el firewall temporalmente con
csf -xy luegocsf -epara reactivarlo.
Paso 5: Configuración avanzada (opcional pero recomendada)
5.1. Bloquear países enteros
CSF permite bloquear tráfico de países específicos. Edita /etc/csf/csf.conf y busca:
CC_DENY = ""
Añade los códigos de país que quieras bloquear (ej. CN, RU, KP). Luego descarga la base de datos de países:
csf -a /usr/share/GeoIP/GeoIP.dat
5.2. Crear reglas personalizadas
Puedes añadir reglas manuales en /etc/csf/csf.deny para IPs específicas. Por ejemplo:
# Bloquear IP maliciosa
123.456.789.0
Luego recarga con csf -r.
5.3. Activar el firewall en modo estricto
Para máxima seguridad, cambia TCP_IN a solo los puertos esenciales (por ejemplo, 22,80,443). Pero ten cuidado: si usas correo o FTP, esos puertos también deben estar abiertos.
Paso 6: Monitoreo y mantenimiento
CSF incluye herramientas de monitoreo:
- csf -m: Muestra el estado del firewall.
- csf -g: Genera un reporte de conexiones.
- csf -t: Prueba reglas sin aplicarlas (modo test).
Revisa los logs en /var/log/lfd.log para ver intentos de ataque bloqueados.
[INFO] LFD (Login Failure Daemon) es el proceso que monitorea fallos de inicio de sesión. Si ves muchas entradas de una IP, puedes bloquearla manualmente.
Preguntas frecuentes (FAQ)
1. ¿Qué hago si me bloqueo a mí mismo?
Si pierdes acceso SSH, usa la consola de emergencia de tu proveedor (VPS o dedicado) para conectarte y ejecutar:
csf -x
Luego, corrige tu IP en IGNORE_ALLOW y reactiva con csf -e.
2. ¿CSF afecta el rendimiento del servidor?
No significativamente. CSF es ligero y solo analiza paquetes entrantes/salientes. En servidores con mucho tráfico, puede tener un impacto mínimo, pero es preferible a estar desprotegido.
3. ¿Necesito configurar algo en DirectAdmin?
No directamente, pero puedes integrar CSF con DirectAdmin para gestionar reglas desde el panel. En DirectAdmin, ve a Admin Level -> Plugin Manager e instala el plugin CSF si está disponible.
4. ¿Puedo usar otro cortafuegos con DirectAdmin?
Sí. Alternativas como APF o UFW (en Ubuntu) también funcionan, pero CSF es la más recomendada por su integración y facilidad de uso.
5. ¿Qué pasa si tengo Syspanel (HestiaCP) en el mismo servidor?
Asegúrate de abrir el puerto 2106 en TCP_IN para acceder a Syspanel. Además, verifica que el firewall no bloquee los puertos de Syspanel (por defecto, 8083 para panel, 2106 para acceso web).
Conclusión
Configurar un cortafuegos en DirectAdmin es un paso esencial para proteger tu servidor. Con CSF, has creado una barrera sólida contra ataques comunes, y con las configuraciones avanzadas puedes adaptarlo a tus necesidades específicas. Recuerda siempre hacer copias de seguridad de tus reglas y monitorear los logs periódicamente.
Resumen de pasos:
- Conéctate por SSH.
- Instala CSF.
- Edita
/etc/csf/csf.conf(puertos, IPs confiables, protección contra fuerza bruta). - Reinicia el firewall.
- Prueba la conectividad.
- Ajusta configuraciones avanzadas si lo deseas.
¡Tu servidor ahora está más seguro! Si tienes dudas, revisa la documentación oficial de CSF o consulta con tu proveedor de hosting.
[TIP FINAL] La seguridad es un proceso continuo. Actualiza CSF regularmente (csf -u) y revisa las nuevas amenazas. Un servidor protegido es un servidor feliz.
