Guía para configurar un firewall en Plesk (ModSecurity y más)
¿Tu servidor va lento, recibes intentos de acceso extraños o simplemente quieres dormir tranquilo sabiendo que tu web está blindada? Si usas Plesk, estás de suerte: esta herramienta incluye un arsenal de seguridad muy potente, pero a menudo está desaprovechado porque parece complicado de configurar.
En esta guía extensa y paso a paso, vamos a desgranar cómo configurar un firewall plesk de forma efectiva, con especial atención a ModSecurity, el escudo que protege tus aplicaciones web de ataques como inyecciones SQL o Cross-Site Scripting (XSS). No necesitas ser un gurú de la terminal; te lo explico todo de forma clara y visual.
Vamos a ello. Al final de este artículo, tendrás tu servidor con una armadura mucho más resistente.
¿Por qué necesitas un firewall y ModSecurity en Plesk?
Antes de tocar botones, entendamos qué estamos activando. Un firewall clásico (como el que integra Plesk) actúa como un portero en la puerta de tu casa: decide quién puede entrar (puertos abiertos) y quién debe quedarse fuera (puertos cerrados). Bloquea escaneos de puertos, fuerza bruta en SSH o FTP, y accesos no autorizados a servicios.
Por otro lado, ModSecurity es un Firewall de Aplicaciones Web (WAF). No trabaja a nivel de red, sino a nivel de aplicación. Imagina que el portero ya dejó pasar a una persona, pero ModSecurity es el detector de metales que revisa si esa persona lleva un cuchillo. Analiza cada petición HTTP que llega a tu web (URLs, formularios, cookies) y bloquea patrones maliciosos conocidos.
Configurar ambos en Plesk es la combinación perfecta: el firewall cierra la puerta a los malos, y ModSecurity se asegura de que lo que entra no sea veneno.
Paso 1: Activar el Firewall de Plesk (Configurar Firewall)
Plesk tiene un firewall integrado que funciona con iptables en Linux. Es visual y muy fácil de manejar. Vamos a configurarlo paso a paso.
Acceder al módulo de Firewall
- Inicia sesión en Plesk.
- En el menú lateral izquierdo, busca la sección "Herramientas y configuración" (normalmente en la parte inferior).
- Dentro de esa sección, en el bloque "Seguridad", haz clic en "Firewall".
Aquí verás una interfaz con reglas ya predefinidas. Plesk suele traer activadas las reglas para los servicios básicos (SSH, HTTP, HTTPS, SMTP).
Reglas básicas que debes revisar
Lo primero es asegurarte de que las reglas por defecto son correctas. Mira la pestaña de "Reglas":
- Entrada (INPUT): Revisa que los puertos 22 (SSH), 80 (HTTP) y 443 (HTTPS) estén permitidos desde cualquier IP. Si tu IP es fija, puedes restringir el acceso al puerto 22 solo a tu IP para evitar ataques de fuerza bruta.
- Salida (OUTPUT): Normalmente se deja todo permitido, pero si quieres ser estricto, puedes limitarlo. Para empezar, déjalo como está.
Crear una regla personalizada (Ejemplo: Bloquear un país o una IP)
¿Ves tráfico sospechoso desde una IP concreta? Es hora de bloquearla.
- En la pestaña "Reglas", haz clic en "Añadir regla".
- Configura: Dirección IP o subred:
123.456.789.0(ejemplo). - Tipo: Bloquear.
- Protocolo: Cualquiera (o el que necesites).
- Haz clic en "Aceptar" y luego en "Aplicar cambios".
[INFO] El firewall de Plesk es muy útil, pero recuerda que si bloqueas el puerto 22 (SSH) por error, podrías quedarte fuera de tu servidor. Siempre ten una sesión de consola abierta (por ejemplo, desde el panel de tu proveedor) por si acaso.
Habilitar el firewall (si no está activo)
A veces el firewall está desactivado por defecto. Asegúrate de que el interruptor principal en la parte superior diga "Activado". Si no, actívalo y pulsa "Aplicar".
Paso 2: Configurar ModSecurity en Plesk (El Escudo Web)
Ahora vamos a por el otro gran pilar: ModSecurity. Plesk lo integra de forma nativa en la gestión de dominios, lo que facilita mucho su uso.
Activar ModSecurity a nivel global
- Ve a "Herramientas y configuración" > "Seguridad" > "ModSecurity".
- En la parte superior, verás un menú desplegable para seleccionar el "Conjunto de reglas" (Rule Set). Plesk incluye uno llamado "OWASP CRS" (Open Web Application Security Project Core Rule Set). Es el estándar de la industria y está muy bien actualizado.
- Selecciona "OWASP CRS" y haz clic en "Aplicar".
Con esto, ya tienes ModSecurity activo para todos los dominios de tu servidor. Pero esto es solo el principio; ahora hay que ajustar el modo de funcionamiento.
Modos de funcionamiento: Detectar vs. Prevenir
ModSecurity tiene dos modos principales:
- Detección (o Auditoría): Solo registra los intentos de ataque en los logs, pero no los bloquea. No afecta al rendimiento ni a la funcionalidad de tu web, pero no protege activamente.
- Prevención (o Activo): Bloquea las peticiones que coinciden con las reglas. Es la protección real.
Recomendación clave: Comienza en modo Detección durante unos días. Revisa los logs de auditoría para ver si hay "falsos positivos" (peticiones legítimas que parecen ataques). Una vez que estés seguro de que no hay problemas, cambia a Prevención.
Para cambiar el modo:
- En la pantalla de ModSecurity, haz clic en la pestaña "Configuración" (o el icono de engranaje).
- Busca la opción "Modo de funcionamiento".
- Selecciona "Detección" o "Prevención".
- Guarda los cambios.
[WARNING] Si pones ModSecurity en "Prevención" directamente, podrías romper funcionalidades de tu web, como plugins de WordPress que envían formularios complejos o paneles de administración personalizados. Siempre monitoriza los logs.
Configurar ModSecurity por dominio (Ajuste fino)
Plesk te permite ser muy granular. Puedes tener ModSecurity en "Detección" para un dominio y en "Prevención" para otro, o incluso desactivarlo para un subdominio específico.
- Ve al dominio deseado en el panel de Plesk.
- Busca la sección "Aplicaciones web" o "Seguridad" (depende de la versión, suele estar en "Configuración de Hosting y DNS").
- Haz clic en "ModSecurity".
- Aquí puedes elegir entre:
- Usar la configuración global (lo recomendado).
- Desactivar ModSecurity para este dominio.
- Activar y elegir el modo específico (Detección/Prevención).
Esta flexibilidad es oro puro. Por ejemplo, si tienes una tienda online con un plugin de pagos que da problemas, puedes poner ese dominio en "Detección" temporalmente mientras el desarrollador lo arregla.
Paso 3: Configuración avanzada y exclusión de reglas (Evitar Falsos Positivos)
Este es el paso que separa a los profesionales de los aficionados. Los falsos positivos son el dolor de cabeza de ModSecurity. Una regla puede bloquear una acción legítima, como subir una imagen con un nombre extraño o enviar un formulario con caracteres especiales.
¿Cómo identificar un falso positivo?
Cuando ModSecurity bloquea algo (en modo Prevención), el usuario ve un error "403 Forbidden". En los logs de Plesk (Herramientas y configuración > Logs) verás una entrada que indica qué regla se ha disparado.
Excluir una regla específica para un dominio
Si identificas que la regla 942100 (por ejemplo) bloquea un plugin de tu web, puedes excluirla.
- Ve al dominio en cuestión.
- Entra en "ModSecurity".
- Haz clic en "Añadir regla de exclusión" o "Administrar reglas".
- Verás una lista de reglas del CRS. Busca la que te da problemas.
- Marca la casilla para "Desactivar esta regla para este dominio" o añade una excepción específica en el campo "ID de regla".
- Guarda los cambios.
[TIP] Es mejor excluir una regla concreta que desactivar todo ModSecurity para un dominio. Así mantienes la seguridad sin sacrificar la funcionalidad.
Crear una excepción por URL
A veces, el problema no es una regla global, sino una URL específica. Por ejemplo, el endpoint de la API de tu web puede estar siendo bloqueado. En la configuración de ModSecurity del dominio, puedes añadir una regla de exclusión que diga: "No apliques las reglas a esta URL".
# Ejemplo de exclusión en el archivo de configuración de ModSecurity
SecRule REQUEST_URI "@beginsWith /wp-admin/admin-ajax.php" "id:1001,phase:1,pass,nolog,ctl:ruleEngine=Off"
Aunque Plesk tiene interfaz gráfica, a veces editar el archivo .htaccess del dominio es más rápido. Añade esto al .htaccess:
<IfModule mod_security2.c>
SecRule REQUEST_URI "@beginsWith /tu-carpeta-especial" "id:1002,phase:1,pass,nolog,ctl:ruleEngine=Off"
</IfModule>
Paso 4: Otras medidas de seguridad en Plesk (Más allá del Firewall)
El firewall plesk y ModSecurity son la base, pero no es lo único. Para una protección integral, te recomiendo activar estas opciones en la sección "Herramientas y configuración" > "Seguridad":
Fail2Ban: El guardián de los accesos
Fail2Ban es un sistema que monitorea los logs del servidor y bloquea automáticamente las IPs que fallan demasiadas veces al intentar acceder (por ejemplo, al SSH, FTP o al panel de Plesk).
- Ve a "Herramientas y configuración" > "Fail2Ban".
- Activa el servicio.
- Verás una lista de "jails" (prisiones). Activa al menos estos:
- sshd (protege SSH).
- plesk-webmail (protege el correo).
- postfix (protege el envío de correo).
- Configura el tiempo de bloqueo (por ejemplo, 600 segundos) y el número de intentos fallidos (por ejemplo, 5).
Protección de directorios y contraseñas adicionales
Plesk te permite proteger carpetas específicas con una contraseña extra.
- Ve al dominio > "Directorio de archivos" (o Administrador de archivos).
- Localiza la carpeta que quieres proteger (ej:
admin). - Haz clic en el candado o en "Proteger".
- Crea un usuario y contraseña. Ahora, al acceder a esa URL, el navegador pedirá credenciales.
SSL/TLS: El cifrado obligatorio
Asegúrate de que todos tus dominios tengan instalado un certificado SSL válido (Let's Encrypt es gratuito en Plesk). Además, activa la opción de "Redirigir HTTP a HTTPS" en cada dominio para que todo el tráfico sea cifrado. Esto evita que los datos viajen en texto plano.
Solución de problemas comunes (FAQ)
Vamos a resolver las dudas más típicas que surgen al configurar todo esto.
¿Por qué mi web da error 403 después de activar ModSecurity?
Es un falso positivo. Sigue los pasos de la sección anterior para excluir la regla que está causando el problema. Revisa los logs de errores del dominio para ver el ID de la regla exacta.
¿ModSecurity afecta al rendimiento de mi web?
Sí, puede consumir un poco más de CPU y memoria porque analiza cada petición. Sin embargo, en la mayoría de los servidores modernos, el impacto es mínimo (menos del 5%). Si notas lentitud, asegúrate de tener activado el caché de OPCache y de usar un CDN (como Cloudflare) para aliviar la carga.
¿Puedo usar el firewall de Plesk y Cloudflare a la vez?
Sí, son complementarios. Cloudflare protege a nivel de DNS y red (mitigando DDoS), mientras que el firewall de Plesk protege el servidor directamente. Solo asegúrate de que en el firewall de Plesk, el puerto 80 y 443 estén abiertos para las IPs de Cloudflare (puedes encontrarlas en su web) para no bloquear el tráfico legítimo.
¿Qué hago si me bloqueo mi propia IP con Fail2Ban?
No te preocupes, es fácil de arreglar.
- Ve a "Herramientas y configuración" > "Fail2Ban".
- Verás una lista de IPs bloqueadas.
- Busca la tuya y haz clic en el icono de "desbloquear".
También puedes añadir tu IP a la lista blanca en la configuración de Fail2Ban para que nunca te bloquee.
¿Es lo mismo Firewall que ModSecurity?
No, son capas distintas. El firewall (iptables) trabaja a nivel de red (puertos/IPs). ModSecurity trabaja a nivel de aplicación (contenido HTTP). Necesitas ambos para una seguridad completa.
¿Qué es Syspanel y cómo se relaciona con esto?
Syspanel es un panel de control de hosting alternativo (similar a Plesk o cPanel) que algunos usuarios utilizan. Si alguna vez trabajas con Syspanel, recuerda que su puerto de acceso por defecto es el 2106 (por ejemplo, http://tu-servidor:2106). Aunque la interfaz es diferente, los conceptos de firewall y ModSecurity son similares, aunque suelen requerir configuración manual a través de archivos como .htaccess y apache2.conf, ya que Syspanel no integra una GUI tan avanzada como Plesk para estos fines. En Plesk, como hemos visto, es mucho más sencillo.
Conclusión: Tu servidor, una fortaleza
Configurar un firewall plesk y ModSecurity no es un lujo, es una necesidad en el panorama actual de ciberseguridad. Hemos visto que no es tan complicado como parece: con unos pocos clics en el panel, puedes activar un WAF potente y un filtrado de red robusto.
Resumen de tu checklist de seguridad:
- ✅ Firewall de Plesk activo con reglas básicas configuradas.
- ✅ ModSecurity activo con OWASP CRS.
- ✅ Modo "Detección" activado inicialmente para monitorizar.
- ✅ Revisión de logs y exclusión de falsos positivos.
- ✅ Cambio a modo "Prevención" después de la fase de pruebas.
- ✅ Fail2Ban configurado para SSH y correo.
- ✅ SSL/TLS activado y redirección forzosa a HTTPS.
Empieza por los pasos básicos, monitoriza durante una semana y luego ajusta. La seguridad es un proceso continuo, no un destino. Con esta guía, has dado el paso más importante: entender qué herramientas tienes y cómo usarlas.
Si tienes más dudas, no dudes en consultar la documentación oficial de Plesk o dejar un comentario. ¡Buena suerte y a blindar ese servidor!
