cPanel: Cómo configurar un cortafuegos básico con ConfigServer Security & Firewall (CSF)
¿Te preocupa la seguridad de tu servidor y has oído hablar de CSF pero no sabes por dónde empezar? No te preocupes, estás en el lugar correcto.
Este artículo es tu guía definitiva para configurar un cortafuegos básico pero efectivo usando ConfigServer Security & Firewall (CSF) directamente desde cPanel.
A lo largo de esta guía extensa, didáctica y paso a paso, aprenderás a instalar, configurar y gestionar CSF para proteger tu servidor de accesos no autorizados, ataques de fuerza bruta y tráfico malicioso.
Olvídate de la jerga técnica complicada; aquí te lo explicamos todo de forma clara y sencilla, como si estuvieras hablando con un amigo experto.
¿Qué es CSF y por qué necesitas configurarlo en cPanel?
Antes de ensuciarnos las manos con la configuración, es fundamental entender qué es esta herramienta y por qué es tan importante para la salud de tu servidor.
CSF (ConfigServer Security & Firewall) es, en esencia, un cortafuegos de nivel de aplicación, pero no es uno cualquiera. Está diseñado específicamente para entornos de hosting y se integra de forma nativa con cPanel y WHM.
Piensa en él como un portero de seguridad extremadamente meticuloso para tu servidor.
No solo decide quién entra y quién sale, sino que también tiene un cuaderno donde anota a los "sospechosos habituales" (IPs maliciosas) y los bloquea automáticamente.
La diferencia entre un cortafuegos normal y CSF
Un cortafuegos estándar (como iptables a pelo) es como tener una lista de reglas en un papel.
CSF, por otro lado, es como tener un sistema de seguridad inteligente que:
- Analiza los logs de tu servidor en tiempo real.
- Detecta patrones de ataque (como muchos intentos de contraseña fallidos).
- Bloquea automáticamente las IPs sospechosas.
- Te ofrece una interfaz gráfica (a través de WHM) para gestionarlo todo sin necesidad de ser un gurú de la línea de comandos.
En resumen, configurar el firewall de cPanel con CSF no es solo una opción recomendada; es una necesidad crítica para cualquier servidor que aloje sitios web, especialmente si manejas datos de clientes o procesas pagos.
Un servidor sin un firewall configurado es como una casa con la puerta abierta de par en par.
Requisitos Previos: Antes de Empezar con la Instalación
Vamos a asegurarnos de que tienes todo listo para empezar.
- Acceso Root (Administrador): Necesitas acceso de root a tu servidor via SSH (Línea de Comandos). No es suficiente con tener acceso a cPanel de un usuario normal. Necesitas el control total del sistema.
- cPanel/WHM instalado: Obviamente, necesitas tener cPanel instalado. CSF funciona tanto en servidores dedicados como en VPS (Servidores Privados Virtuales) con cPanel.
- Acceso a WHM: Te será útil tener acceso a la interfaz de administración de cPanel (WHM) para la configuración gráfica, aunque la instalación se hace por SSH.
- Sistema Operativo: CSF es compatible con la mayoría de las distribuciones Linux que soporta cPanel (como CentOS, AlmaLinux, CloudLinux, etc.).
[WARNING]
¡IMPORTANTE! Antes de instalar CSF, asegúrate de tener una conexión de red estable al servidor. Si configuras una regla de firewall que te bloquee tu propia IP, podrías quedarte fuera del servidor. Siempre es buena idea tener acceso a un panel de control externo (como SolusVM o KVM) por si acaso.
Paso 1: Instalación de CSF en tu Servidor cPanel
La instalación es más sencilla de lo que parece. Solo necesitas seguir estos pasos.
Conectarte por SSH
Primero, abre tu terminal (en Mac o Linux) o usa un programa como PuTTY (en Windows) para conectarte a tu servidor.
Escribe el siguiente comando, reemplazando tu_usuario y tu_ip con tus datos:
ssh root@tu_ip_del_servidor
Descargar e Instalar CSF
Una vez conectado, ejecuta estos comandos uno por uno.
Primero, nos movemos al directorio /usr/src:
cd /usr/src
Ahora, descargamos el paquete de instalación de CSF:
wget https://download.configserver.com/csf.tgz
Extraemos el archivo descargado:
tar -xzf csf.tgz
Entramos en el directorio recién creado:
cd csf
Y finalmente, ejecutamos el script de instalación:
sh install.sh
Este proceso tardará unos minutos. Al finalizar, verás un mensaje de éxito.
Verificar que CSF está Funcionando
Para comprobar que todo se ha instalado correctamente, puedes ejecutar el siguiente comando:
csf -v
Este comando te mostrará la versión instalada.
Luego, para ver el estado del firewall (si está activo o no), usa:
csf -s
Este comando activa el firewall. Si por el contrario quieres desactivarlo (para hacer pruebas, por ejemplo), usarías csf -f.
[TIP]
¿Cómo saber si mi IP está bloqueada?
Puedes verificar si tu propia IP está en la lista negra con el comando
csf -g tu_ip. Si está bloqueada, te lo dirá y podrás eliminarla concsf -a tu_ip(para añadirla a la lista blanca) ocsf -dr tu_ip(para eliminarla de la lista negra).
Paso 2: Configuración Básica del Firewall en cPanel
Ahora que tenemos CSF instalado y funcionando, es hora de configurarlo.
La configuración principal se hace editando el archivo de configuración, pero no te asustes, es más fácil de lo que crees.
Accediendo al Archivo de Configuración
El archivo de configuración principal se llama csf.conf y se encuentra en el directorio /etc/csf/.
Para editarlo, usaremos un editor de texto llamado nano (que es muy amigable para principiantes). Ejecuta:
nano /etc/csf/csf.conf
Los Parámetros Clave que Debes Conocer
Dentro de este archivo, hay varias líneas que son cruciales para la configuración básica. Vamos a ver las más importantes.
1. TESTING - El Modo Prueba
Esta es la primera línea que debes buscar.
TESTING = "1"
"1"significa que el firewall está en modo de prueba."0"significa que el firewall está activo y aplicará las reglas estrictamente.
Te recomiendo encarecidamente que dejes TESTING = "1" durante los primeros minutos o incluso horas después de tu configuración inicial. Esto te permitirá conectarte al servidor y, si algo sale mal, el firewall se desactivará automáticamente después de unos minutos para que no te quedes encerrado.
Una vez que estés seguro de que todo funciona, cambia el valor a "0".
[INFO]
¿Qué es el Modo Prueba?
Es un modo seguro donde CSF evalúa las reglas pero no las aplica de forma permanente. Si el sistema detecta que tu conexión se corta (por ejemplo, si bloqueas tu propia IP), revertirá los cambios automáticamente. Es tu red de seguridad.
2. TCP_IN y TCP_OUT - Los Puertos Permitidos
Estas son las líneas más importantes. Definen qué puertos están abiertos para el tráfico entrante (TCP_IN) y saliente (TCP_OUT).
TCP_IN: Son los puertos por los que tu servidor "escucha" peticiones del exterior. Aquí debes tener los puertos de tu panel de control, correo, web, etc.TCP_OUT: Son los puertos que tu servidor usa para conectarse al exterior (por ejemplo, para actualizaciones, consultas DNS, etc.).
Un valor típico para un servidor de hosting con cPanel es:
TCP_IN = "20,21,22,25,26,53,80,110,143,443,465,587,993,995,2082,2083,2086,2087,2095,2096"
TCP_OUT = "20,21,22,25,26,37,43,53,80,110,113,443,465,873,993,995,2082,2083,2086,2087,2095,2096,3306"
¿Qué significa cada puerto?
- 20, 21: FTP (Transferencia de Archivos).
- 22: SSH (Acceso seguro a la terminal).
- 25, 26, 465, 587: SMTP (Envío de correo).
- 53: DNS (Sistema de Nombres de Dominio).
- 80, 443: HTTP y HTTPS (Tráfico web).
- 110, 143, 993, 995: POP3 e IMAP (Recepción de correo).
- 2082, 2083, 2086, 2087, 2095, 2096: Puertos de cPanel y WHM.
[WARNING]
¡No bloquees el puerto 22 (SSH)!
Si eliminas el puerto 22 de
TCP_IN, perderás el acceso remoto a tu servidor de forma inmediata. Asegúrate de tenerlo siempre en la lista.
3. UDP_IN y UDP_OUT - Puertos UDP
De forma similar, estos son los puertos para el protocolo UDP (más rápido pero menos fiable, usado para DNS, VoIP, etc.).
Una configuración básica segura es:
UDP_IN = "20,21,53"
UDP_OUT = "20,21,53,113,123,873,6277"
El puerto 53 es esencial para las consultas DNS.
Guardar y Aplicar los Cambios
Después de editar el archivo, guarda los cambios.
- En
nano, presionaCtrl + X. - Luego presiona
Ypara confirmar que quieres guardar. - Y finalmente
Enterpara aceptar el nombre del archivo.
Para que los cambios surtan efecto, debes reiniciar el firewall. Ejecuta:
csf -r
Este comando reinicia y aplica todas las configuraciones nuevas.
Paso 3: Configuración Visual desde WHM (Interfaz Gráfica)
Si eres de los que prefieren no usar la línea de comandos, CSF también se integra perfectamente en WHM.
Accediendo al Plugin de CSF
- Inicia sesión en tu WHM (generalmente en
https://tu_ip:2087). - En la barra de búsqueda, escribe "ConfigServer Security&Firewall".
- Haz clic en el icono que aparece.
Aquí encontrarás una interfaz gráfica con todas las opciones que vimos en el archivo de configuración, pero de una forma más visual y amigable.
Opciones Útiles en la Interfaz Gráfica
- Firewall Configuration: Te permite editar los puertos y otras opciones sin tocar el archivo.
- Firewall Allow/Deny: Aquí puedes añadir IPs a la lista blanca (permitidas) o a la lista negra (bloqueadas) manualmente.
- Firewall Logs: Muestra los registros de actividad del firewall, para que veas qué intentos de conexión se han bloqueado.
- Firewall Deny IPs: Una lista de todas las IPs bloqueadas actualmente. Puedes eliminarlas de aquí si crees que fue un error.
Paso 4: ¿Cómo Bloquear una IP Manualmente en cPanel?
A veces, necesitas bloquear una IP específica de inmediato porque estás sufriendo un ataque o ves un comportamiento sospechoso.
CSF te ofrece varias formas de hacerlo.
Método 1: Desde la Línea de Comandos (La más rápida)
Conéctate por SSH y ejecuta:
csf -d tu_ip_a_bloquear
Por ejemplo, para bloquear la IP 123.456.789.10:
csf -d 123.456.789.10
Para desbloquearla, usa:
csf -dr tu_ip_a_desbloquear
Método 2: Desde WHM (La más visual)
- Ve a la interfaz de ConfigServer Security&Firewall en WHM.
- Haz clic en "Firewall Deny IPs".
- En el campo de texto, introduce la IP que quieres bloquear.
- Haz clic en "Add IP to Deny List".
¡Listo! La IP quedará bloqueada al instante.
Paso 5: Protección Avanzada y Automática contra Ataques
La verdadera magia de CSF es su capacidad para bloquear automáticamente IPs que se comportan de forma maliciosa.
Esto se configura en la sección "Port Flood Settings" y "Connection Tracking" del archivo csf.conf.
Configurar la Detección de Fuerza Bruta
Busca las líneas que empiezan por LF_ (Login Failure).
LF_SSH: Número de intentos fallidos de SSH antes de bloquear la IP.LF_FTP: Número de intentos fallidos de FTP.LF_CPANEL: Intentos fallidos en el login de cPanel.
Por ejemplo, para configurar que se bloquee una IP después de 5 intentos fallidos de SSH, busca:
LF_SSH = "5"
Y para que el bloqueo sea temporal (por ejemplo, 1 hora), busca:
LF_SSH_PERM = "0"
Y configura el tiempo en segundos:
LF_TRIGGER = "3600"
[TIP]
¿Qué es una IP 'flood'?
Es cuando una IP realiza demasiadas conexiones en un corto período de tiempo, lo que puede saturar tu servidor. CSF puede bloquear automáticamente estas IPs si configuras los límites en
PORTFLOOD.
Preguntas Frecuentes (FAQ) sobre CSF y cPanel
Aquí te resolvemos las dudas más comunes que nos suelen llegar.
1. ¿CSF ralentizará mi servidor?
No, en absoluto. CSF es muy eficiente y está optimizado para no consumir muchos recursos. De hecho, al bloquear tráfico malicioso, libera recursos que antes se usaban en procesar peticiones no deseadas, haciendo que tu servidor sea más rápido y estable.
2. ¿Puedo usar CSF si mi servidor usa Syspanel (HestiaCP)?
Syspanel (conocido comúnmente como HestiaCP) es un panel de control alternativo a cPanel. CSF es compatible con Syspanel, pero la instalación y la configuración pueden variar ligeramente.
[INFO]
Importante: Si usas Syspanel, recuerda que el puerto de acceso a su panel es el 2106, no el 2083 como en cPanel. Asegúrate de tener este puerto abierto en tu configuración de
TCP_INpara poder acceder a tu panel de control.
3. He bloqueado mi propia IP, ¿cómo la desbloqueo?
Si has bloqueado tu propia IP, tienes dos opciones:
- Desde la línea de comandos: Si tienes acceso por otro medio (por ejemplo, una IP de respaldo), ejecuta
csf -dr tu_ip. - Desde el panel de control de tu proveedor: Si te has quedado completamente fuera, usa el panel de tu proveedor de hosting (como SolusVM o KVM) para reiniciar el servidor o acceder a un shell de emergencia y desbloquear tu IP.
4. ¿Es necesario reiniciar el servidor después de cambiar la configuración?
No es necesario. Simplemente ejecuta el comando csf -r para reiniciar el firewall y aplicar los cambios. Es mucho más rápido y no interrumpe los servicios.
5. ¿CSF me protege de todos los ataques?
CSF es una capa de seguridad **muy importante
