Configurar el firewall para Plesk (CSF)
¡Hola! Bienvenido a esta guía completa sobre cómo configurar el firewall para Plesk usando CSF (ConfigServer Security & Firewall). Si estás administrando un servidor con Plesk, sabes que la seguridad es una prioridad, y CSF es una de las herramientas más potentes y flexibles que existen para proteger tu servidor y los sitios web que alojas.
No te preocupes si nunca has tocado un firewall antes. Vamos a ir paso a paso, con un lenguaje claro y ejemplos prácticos. Al final de este artículo, tendrás tu firewall configurado, tus puertos bien abiertos (solo los necesarios) y tu servidor mucho más seguro.
¿Qué es CSF y por qué lo necesitas en Plesk?
CSF es un firewall de nivel de aplicación y una herramienta de seguridad integral para Linux. No es solo un cortafuegos; también incluye detección de intrusiones (con integración con Login Failure Daemon - LFD), protección contra fuerza bruta y una interfaz de gestión muy amigable.
Cuando instalas Plesk, este gestiona sus propios servicios (Apache, Nginx, Dovecot, etc.) y abre una serie de puertos para que todo funcione. Sin embargo, dejarlos todos abiertos es un riesgo. Aquí es donde entra CSF: te permite controlar exactamente qué puertos están abiertos al público y cuáles están restringidos, además de monitorizar intentos de acceso sospechosos.
Configurar CSF en Plesk es una de las mejores decisiones que puedes tomar para la seguridad de tu servidor. Es la herramienta estándar de facto en la mayoría de los servidores administrados con cPanel o Plesk.
Requisitos previos antes de empezar
Antes de lanzarnos a instalar y configurar, asegurémonos de tener todo en orden.
- Acceso root (administrador) al servidor. Necesitarás conectarte por SSH (línea de comandos) para instalar y configurar CSF.
- Plesk instalado y funcionando. Esta guía asume que ya tienes Plesk operativo.
- Un poco de paciencia. No es complicado, pero requiere atención a los detalles.
[!TIP]
Si tu servidor está gestionado por un proveedor (VPS o dedicado), a veces tienen su propio firewall externo. No pasa nada, CSF funcionará a nivel del sistema operativo, complementando esa capa.
Instalación de CSF en tu servidor Plesk
La instalación es sencilla y solo requiere unos pocos comandos. Vamos a ello.
Paso 1: Acceder por SSH
Conéctate a tu servidor como usuario root o con un usuario con permisos de sudo.
ssh root@tu_servidor_ip
Paso 2: Descargar e instalar CSF
Ejecuta los siguientes comandos en orden. Son los oficiales del desarrollador (ConfigServer Services).
cd /usr/src
wget https://download.configserver.com/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh
Este proceso instalará los archivos necesarios y creará los scripts de inicio.
Paso 3: Verificar la instalación y comprobar dependencias
Es importante asegurarse de que los módulos de Perl necesarios estén instalados. CSF incluye un script de verificación.
perl /usr/local/csf/bin/csftest.pl
Este comando comprobará si tienes todo lo necesario (módulos IPTables, etc.). Si todo está bien, verás un mensaje de éxito. Si falta algo, el script te dirá qué paquete instalar.
Paso 4: Configuración inicial rápida (Modo Test)
Antes de activarlo completamente, es MUY recomendable ponerlo en modo TEST. Esto es una red de seguridad: si por error bloqueas tu propio acceso (por ejemplo, el puerto SSH), el firewall se desactivará automáticamente después de unos minutos para que no te quedes fuera.
Edita el archivo de configuración principal:
nano /etc/csf/csf.conf
Dentro del archivo, busca la línea TESTING y cámbiala a "1".
TESTING = "1"
Guarda el archivo (Ctrl+O, luego Enter, y Ctrl+X para salir) y ahora sí, arranca el firewall.
csf -s
Paso 5: Probar y desactivar el modo TEST
Ahora, espera unos 5 minutos. Si todo está bien y puedes seguir conectado al servidor y acceder a tu panel de Plesk, es hora de desactivar el modo TEST.
Vuelve a editar el archivo de configuración:
nano /etc/csf/csf.conf
Cambia TESTING = "1" a TESTING = "0" y guarda.
Luego, reinicia el firewall para aplicar los cambios:
csf -r
[!WARNING]
Si durante el modo TEST te quedas sin conexión, no entres en pánico. El firewall se auto-deshabilitará. Revisa que tienes el puerto SSH correcto (por defecto 22) en la lista de puertos permitidos. Más abajo te explico cómo hacerlo.
Configuración fundamental del firewall Plesk (CSF)
Ahora viene la parte interesante: personalizar el firewall Plesk para que se adapte a tus necesidades. Todo se gestiona desde el archivo /etc/csf/csf.conf y los archivos de listas de IP.
1. Puertos abiertos (Entrada y Salida)
CSF tiene dos secciones principales para puertos: TCP_IN y TCP_OUT. Debes asegurarte de que los puertos que Plesk necesita estén listados aquí.
- TCP_IN: Puertos que el mundo exterior puede usar para conectarse a tu servidor.
- TCP_OUT: Puertos a los que tu servidor puede conectarse hacia afuera.
Para Plesk, estos son los puertos críticos que deben estar en TCP_IN:
| Puertos | Servicio |
|---|---|
| 20, 21 | FTP (si lo usas) |
| 22 | SSH (¡SIEMPRE!) |
| 25 | SMTP (envío de correo) |
| 53 | DNS |
| 80 | HTTP (web) |
| 110, 143 | POP3, IMAP |
| 443 | HTTPS (web segura) |
| 465, 587 | SMTPS, SMTP con autenticación |
| 993, 995 | IMAPS, POP3S |
| 8443 | Panel de control de Plesk (HTTPS) |
| 8447 | Instalador de Plesk (autoinstaller) |
[!INFO]
Si usas el panel Syspanel (el antiguo HestiaCP), el puerto de acceso es el 2106. Deberás añadirlo aTCP_INsi lo tienes instalado en el mismo servidor.
Para editar, busca las líneas TCP_IN y TCP_OUT en el archivo csf.conf.
# Puerto de entrada
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,8443,8447"
# Puerto de salida
TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995,8443,8447"
También tienes UDP_IN y UDP_OUT para protocolos UDP (importante para DNS, puerto 53).
2. Configurar IPs permitidas y denegadas
CSF te permite gestionar listas de IPs de forma sencilla.
- IPs permitidas (whitelist): Para tus propias IPs de administración o las de clientes de confianza.
- IPs denegadas (blacklist): Para bloquear IPs maliciosas o bots.
Los archivos son:
/etc/csf/csf.allow/etc/csf/csf.deny
Edítalos y añade una IP por línea. Por ejemplo:
# En csf.allow
192.168.1.100
203.0.113.5
# En csf.deny
198.51.100.23
Después de modificar, aplica los cambios con:
csf -r
3. Protección contra fuerza bruta (LFD)
CSF incluye un demonio llamado LFD (Login Failure Daemon) que monitoriza los logs del sistema en busca de intentos fallidos de acceso (SSH, FTP, correo, etc.). Si detecta muchos fallos de una misma IP, la bloquea automáticamente.
Para activarlo, busca en csf.conf:
LF_DAEMON = "1"
Puedes ajustar la sensibilidad con parámetros como:
LF_SSH_ATTEMPT: Número de intentos fallidos de SSH antes de bloquear.LF_FTP_ATTEMPT: Intentos fallidos de FTP.LF_POP3D_ATTEMPT: Intentos fallidos de POP3.
Por ejemplo:
LF_SSH_ATTEMPT = "5"
LF_FTP_ATTEMPT = "5"
4. Configurar la interfaz de Plesk
Plesk tiene su propio módulo para gestionar CSF. Una vez instalado, verás una nueva sección en Plesk > Herramientas y configuración > Seguridad > ConfigServer Security & Firewall.
Desde ahí puedes:
- Ver el estado del firewall.
- Ver IPs bloqueadas y permitidas.
- Añadir o eliminar IPs de las listas.
- Reiniciar el firewall.
- Ver estadísticas de conexiones.
Esta interfaz gráfica es perfecta para no tener que usar siempre la línea de comandos.
Comandos esenciales de CSF para el día a día
Aquí tienes una pequeña chuleta de comandos que te vendrá genial:
csf -s: Iniciar el firewall.csf -f: Parar (flush) el firewall. ¡OJO! Esto deja el servidor sin protección.csf -r: Reiniciar el firewall (aplicar cambios de configuración).csf -a IP: Añadir una IP a la lista blanca (allow).csf -d IP: Añadir una IP a la lista negra (deny).csf -dr IP: Eliminar una IP de la lista negra.csf -t: Ver las IPs bloqueadas actualmente por LFD.csf -e IP: Eliminar una IP que está temporalmente bloqueada por LFD.
Resolución de problemas comunes (FAQ)
Me he quedado fuera del servidor tras activar CSF
Esto suele pasar por no tener el puerto SSH correcto en TCP_IN. Si estás en modo TEST, espera a que se desactive. Si no, necesitas acceso a la consola del proveedor (KVM/IPMI) para desactivar CSF temporalmente con csf -f y corregir el puerto.
Plesk no carga o da error de conexión
Verifica que el puerto 8443 está en TCP_IN. Si usas una IP específica para el panel, asegúrate de que no esté bloqueada.
El correo no sale o no entra
Revisa que los puertos 25, 465, 587 (entrada) y 25, 465, 587 (salida) estén abiertos. A veces el proveedor de hosting bloquea el puerto 25 a nivel de red; en ese caso, usa el 587 con autenticación.
¿Cómo desbloqueo una IP rápidamente?
Desde la línea de comandos:
csf -dr 1.2.3.4
O desde la interfaz de Plesk, en la sección de CSF, buscando la IP y haciendo clic en "Desbloquear".
Buenas prácticas de seguridad adicionales
Configurar el firewall es un gran paso, pero no el único. Aquí van unos consejos extra:
- Cambia el puerto SSH por defecto (22) a uno no estándar. Esto reduce muchísimo los ataques de fuerza bruta. Edita
/etc/ssh/sshd_configy la líneaPort 22. Luego reinicia SSH y añade el nuevo puerto a CSF. - No uses FTP clásico (puerto 21) si puedes evitarlo. Usa SFTP (que va por SSH) o FTPS (puerto 990). Es mucho más seguro.
- Mantén Plesk y CSF actualizados. Las actualizaciones incluyen parches de seguridad críticos.
- Revisa los logs de LFD de vez en cuando. Te darán una idea de quién intenta atacar tu servidor. Se encuentran en
/var/log/lfd.log.
Conclusión
Configurar CSF en Plesk es una tarea fundamental para cualquier administrador de servidores que se tome en serio la seguridad. Aunque al principio pueda parecer abrumador, una vez que entiendes la lógica de los puertos y las listas de IPs, se convierte en una herramienta muy fácil de manejar y extremadamente potente.
Hemos visto cómo instalarlo, configurarlo en modo seguro (test), abrir los puertos necesarios para Plesk y gestionar las listas de IPs. Con esto, tu servidor estará mucho más protegido contra accesos no autorizados y ataques de fuerza bruta.
Recuerda que esta es una configuración básica. CSF tiene muchísimas más opciones (como reglas avanzadas, integración con mod_security, etc.) que puedes explorar a medida que te sientas más cómodo. Pero con lo aprendido aquí, ya tienes una base sólida y segura.
Si tienes alguna duda, no dudes en consultar la documentación oficial de ConfigServer Services o preguntar en foros especializados. ¡Buena suerte y a asegurar ese servidor!
