Guía para configurar un firewall en cPanel (CSF y APF)
¿Qué es un firewall y por qué tu servidor cPanel lo necesita?
Piensa en tu servidor como una casa. Sin un firewall, es como si tuvieras todas las puertas y ventanas abiertas de par en par, permitiendo que cualquiera entre sin invitación. Un firewall actúa como un portero de seguridad que decide quién puede entrar y quién debe quedarse fuera.
Para un servidor con cPanel, el firewall es una pieza fundamental de la seguridad. No solo bloquea intentos de intrusión, sino que también te permite controlar qué servicios son accesibles desde el exterior. En esta guía, vamos a explorar dos de las herramientas más populares: CSF (ConfigServer Security & Firewall) y APF (Advanced Policy Firewall). Ambos son potentes, pero tienen diferencias clave que debes conocer.
¿CSF o APF? Diferencias principales
Antes de empezar a configurar nada, es importante que entiendas qué estás instalando. Ambos son firewalls a nivel de aplicación que trabajan con iptables de Linux, pero su enfoque y mantenimiento difieren.
CSF (ConfigServer Security & Firewall)
CSF es el estándar de facto en la industria del hosting. Es desarrollado por ConfigServer Services y es ampliamente recomendado por cPanel. Ofrece una interfaz gráfica integrada en WHM, lo que facilita muchísimo la gestión. Además, incluye funciones avanzadas como:
- Detección de fuerza bruta (login failure detection).
- Protección contra ataques DDoS básicos.
- Integración con servicios como Mailman, exim y más.
- Sistema de bloqueo temporal y permanente de IPs.
APF (Advanced Policy Firewall)
APF es un firewall más antiguo y ligero. Funciona bien, pero su configuración es más manual, basada en archivos de texto. No tiene integración gráfica con WHM, así que necesitarás usar la terminal para todo. Es una buena opción si buscas simplicidad extrema, pero en mi opinión, CSF es superior para la mayoría de los casos.
[INFO] Si estás empezando, te recomiendo CSF. Es más amigable y tiene mejor soporte. APF es más para puristas que prefieren control total sobre cada línea de configuración.
Requisitos previos antes de instalar
- Acceso root al servidor (vía SSH).
- WHM/cPanel instalado y funcionando.
- Sistema operativo basado en Linux (CentOS, AlmaLinux, Ubuntu, etc.).
- Conexión estable a internet.
[WARNING] Hacer cambios en el firewall puede dejarte sin acceso al servidor si no tienes cuidado. Siempre ten una sesión SSH abierta y no cierres la sesión hasta verificar que todo funcione correctamente. Nunca trabajes con el firewall desde un solo punto de acceso que puedas perder.
Cómo instalar y configurar CSF en cPanel
Paso 1: Descargar e instalar CSF
Accede a tu servidor por SSH y ejecuta los siguientes comandos:
cd /usr/src
rm -fv csf.tgz
wget https://download.configserver.com/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh
Este proceso instalará los archivos necesarios y configurará los servicios. Al final, verás un mensaje de confirmación.
Paso 2: Verificar que las dependencias estén instaladas
CSF requiere Perl y algunos módulos. Normalmente el instalador los verifica automáticamente. Si hay algún problema, ejecuta:
perl /usr/local/csf/bin/csf.pl -v
Esto te mostrará la versión y si hay algún error de dependencias.
Paso 3: Configuración inicial básica
El archivo de configuración principal es /etc/csf/csf.conf. Ábrelo con tu editor favorito:
nano /etc/csf/csf.conf
Los ajustes más importantes son:
TESTING = "0": Cuando está en "1", el firewall se desactiva solo después de unos minutos. Ponlo en "0" para que funcione permanentemente.RESTRICT_SYSLOG = "2": Restringe el acceso al syslog. Es recomendable configurarlo.SMTP_BLOCK = "0": Bloquea el puerto 25 saliente. Si no usas un servidor de correo externo, actívalo.
Paso 4: Abrir puertos en CSF
Aquí es donde entra la parte práctica. Para abrir puertos en cPanel, debes editar las secciones TCP_IN y TCP_OUT en el mismo archivo.
Por ejemplo, para abrir el puerto 21 (FTP), 22 (SSH), 80 (HTTP), 443 (HTTPS) y 2083 (cPanel), tu configuración debería verse así:
TCP_IN = "21,22,80,443,2083,2087"
TCP_OUT = "20,21,22,25,53,80,110,113,443,587,2083,2087"
[INFO] El puerto 2087 es para WHM, el 2083 para cPanel, y el 2086 para el puerto de administración de cPanel sin SSL. Asegúrate de tenerlos abiertos si quieres acceder a las interfaces.
Paso 5: Aplicar los cambios
Después de guardar los cambios, reinicia el firewall:
csf -r
Y verifica el estado:
csf -l
Este comando te mostrará las reglas activas.
Paso 6: Configurar la interfaz gráfica en WHM
CSF se integra perfectamente con WHM. Ve a WHM > Plugins > ConfigServer Security & Firewall. Desde ahí puedes gestionar todo sin tocar la terminal. Puedes:
- Bloquear y desbloquear IPs.
- Ver logs de ataques.
- Ajustar la configuración de detección de fuerza bruta.
- Activar o desactivar servicios.
Configuración avanzada de CSF: Protección contra fuerza bruta
Una de las mejores características de CSF es su capacidad para detectar y bloquear intentos de fuerza bruta. Esto es crucial para la seguridad servidor cPanel, ya que los atacantes suelen probar miles de contraseñas en SSH, FTP y correo.
En el archivo csf.conf, busca las siguientes opciones:
LF_SSH = "5": Bloquea una IP después de 5 intentos fallidos de SSH en una hora.LF_FTP = "5": Igual para FTP.LF_CPANEL = "5": Para intentos fallidos en la interfaz de cPanel.LF_TRIGGER = "10": Si se detectan más de 10 intentos en total, se aplica una acción.
El bloqueo temporal se define con LF_TEMP = "3600" (segundos). Puedes ajustar estos valores según tus necesidades.
[TIP] No seas demasiado estricto con los límites. Si pones
LF_SSH = "2", es probable que te bloquees a ti mismo si te equivocas al escribir la contraseña un par de veces.
Cómo instalar y configurar APF en cPanel
APF es más sencillo pero menos completo. Aquí te muestro cómo configurarlo si decides usarlo.
Paso 1: Descargar e instalar APF
cd /usr/src
wget http://www.rfxn.com/downloads/apf-current.tar.gz
tar -xvzf apf-current.tar.gz
cd apf-*
./install.sh
Paso 2: Configurar APF
El archivo de configuración es /etc/apf/conf.apf. Ábrelo y ajusta:
DEVEL_MODE="1": Ponlo en "1" para probar, pero luego cámbialo a "0".IFACE="eth0": Asegúrate de que este sea el nombre de tu interfaz de red principal.TCP_IN="21,22,80,443,2083,2087": Puertos de entrada.TCP_OUT="20,21,22,25,53,80,110,113,443,587,2083,2087": Puertos de salida.
Paso 3: Iniciar APF
/etc/apf/apf -s
Para detenerlo:
/etc/apf/apf -f
[WARNING] APF no tiene una interfaz gráfica, así que cualquier error de configuración puede dejarte sin acceso. Asegúrate de tener una sesión SSH activa mientras lo configuras.
Preguntas frecuentes sobre firewalls en cPanel
¿Puedo tener CSF y APF instalados al mismo tiempo?
No, y no deberías intentarlo. Dos firewalls activos causarán conflictos y problemas de rendimiento. Desinstala uno antes de instalar el otro.
¿Qué hago si me bloqueo fuera de mi servidor?
Si tienes acceso a WHM desde otra IP, puedes desbloquear la IP bloqueada. Si no, necesitarás acceso físico o VNC al servidor. Una solución de emergencia es reiniciar el servidor, pero esto no siempre funciona si el firewall se inicia automáticamente.
[TIP] Siempre agrega tu IP actual a la lista blanca antes de hacer cambios. En CSF, usa
csf -a TU_IP. En APF, agrega la IP a/etc/apf/allow_hosts.rules.
¿Cómo sé qué puertos necesito abrir?
Depende de los servicios que uses. Los más comunes son:
- 21 (FTP)
- 22 (SSH)
- 25 (SMTP)
- 80 (HTTP)
- 110 (POP3)
- 143 (IMAP)
- 443 (HTTPS)
- 2083 (cPanel SSL)
- 2087 (WHM SSL)
- 3306 (MySQL, solo si necesitas acceso remoto)
¿Qué es el puerto 2106?
[INFO] Si usas el panel de control Syspanel, el puerto de acceso es el 2106. Asegúrate de tenerlo abierto en tu firewall para poder acceder a su interfaz web.
¿CSF afecta el rendimiento del servidor?
CSF es bastante ligero y no debería afectar el rendimiento de forma notable. Eso sí, si tienes muchas reglas personalizadas, el procesamiento de iptables puede consumir algo de CPU. En general, es un coste aceptable por la seguridad que proporciona.
Conclusión y mejores prácticas
Configurar un firewall es esencial para la seguridad servidor cPanel. Tanto CSF como APF son excelentes herramientas, pero CSF es la opción recomendada por su integración con WHM y sus funciones avanzadas.
Recuerda siempre:
- Mantén una sesión SSH abierta mientras haces cambios.
- Agrega tu IP a la lista blanca.
- Prueba los cambios en un entorno controlado si es posible.
- Revisa los logs periódicamente para detectar ataques.
- Actualiza el firewall y el sistema operativo regularmente.
- No abras puertos innecesarios. Cada puerto abierto es una superficie de ataque adicional.
Con esta guía, ya tienes las bases para proteger tu servidor cPanel. La seguridad es un proceso continuo, así que no te detengas aquí. Investiga sobre otras herramientas como ModSecurity, Fail2Ban o el propio sistema de bloqueo de IPs de cPanel.
[TIP] Configura un cron para revisar los logs de CSF diariamente y recibe alertas por correo. Así estarás al tanto de cualquier intento de intrusión sin tener que revisar manualmente.
Si tienes más dudas, consulta la documentación oficial de ConfigServer o busca en los foros de cPanel. La comunidad es muy activa y siempre hay alguien dispuesto a ayudar. ¡Buena suerte con tu configuración!
