Configurar un firewall básico en Plesk (ModSecurity)
¿Qué es ModSecurity en Plesk y por qué deberías activarlo?
Cuando administras un servidor web, una de las primeras líneas de defensa contra ataques es el firewall. Pero no hablamos solo del firewall de red (como el que configura el puerto 2106 en Syspanel), sino de un firewall a nivel de aplicación web. Aquí es donde entra ModSecurity, un módulo de seguridad que actúa como un escudo entre tu sitio web y el tráfico entrante.
ModSecurity en Plesk es un firewall de aplicaciones web (WAF) que analiza cada petición HTTP que llega a tu servidor. Su función principal es detectar y bloquear patrones de ataque comunes, como inyecciones SQL, cross-site scripting (XSS), inclusión de archivos remotos y fuerza bruta en formularios de acceso.
Piénsalo de esta manera: si tu servidor es una casa, el firewall de red es la puerta principal, pero ModSecurity es el guardia de seguridad que revisa a cada persona que entra, su mochila y sus intenciones. No solo bloquea a los intrusos conocidos, sino que también puede detener comportamientos sospechosos que nunca antes habías visto.
¿Qué significa "básico" en este contexto?
Configurar un firewall básico no implica escribir reglas complejas desde cero. Plesk ya incluye un conjunto de reglas predefinidas (llamadas OWASP Core Rule Set) que cubren los ataques más frecuentes. Tu trabajo será activarlas, ajustar algunos parámetros y aprender a leer los registros para tomar decisiones informadas.
Requisitos previos antes de comenzar
Antes de tocar nada, asegúrate de tener lo siguiente:
- Acceso al panel de control de Plesk con permisos de administrador.
- Tu servidor actualizado (tanto el sistema operativo como el propio Plesk).
- Una copia de seguridad reciente de tu sitio web y configuración (por si algo sale mal).
- Saber qué versiones de PHP y Apache o Nginx utilizas, ya que la configuración puede variar ligeramente.
[WARNING] Si tienes un sitio de comercio electrónico o una aplicación que utiliza muchas peticiones AJAX, ModSecurity podría generar falsos positivos. No te preocupes, al final del artículo te explicaré cómo manejarlos.
Paso 1: Activar ModSecurity en Plesk
El primer paso es localizar el módulo. En Plesk, la gestión de seguridad web está integrada en el apartado de Herramientas y Configuración.
- Inicia sesión en tu panel de Plesk.
- En el menú lateral izquierdo, busca la sección Herramientas y Configuración.
- Dentro de esta sección, busca el apartado de Seguridad y haz clic en ModSecurity (o Firewall de Aplicaciones Web en versiones más recientes).
- Verás una pantalla con una lista de dominios. En la parte superior, hay un interruptor global para activar el firewall.
Activa el interruptor global. Plesk te preguntará si quieres aplicar la configuración a todos los dominios o solo a algunos. Para una protección básica, te recomiendo activarlo para todos los dominios de tu servidor.
Selección del conjunto de reglas
Plesk te ofrece varios conjuntos de reglas predefinidas. Para una configuración básica, elige el conjunto OWASP CRS (Core Rule Set). Este es el estándar de la industria y cubre la mayoría de las vulnerabilidades conocidas.
- En la misma pantalla, busca el apartado Conjunto de reglas.
- Selecciona OWASP CRS en el menú desplegable.
- Guarda los cambios.
[INFO] El OWASP CRS es gratuito y se actualiza constantemente. Plesk se encarga de descargar las actualizaciones automáticamente si tienes habilitada la opción de actualizaciones del servidor.
Paso 2: Configuración básica de políticas por dominio
Ahora que tienes ModSecurity activado globalmente, es hora de ajustar el comportamiento para cada sitio web. No todos los sitios son iguales, y un plugin de WordPress puede necesitar reglas más flexibles que una página estática.
Niveles de protección
En la configuración de ModSecurity para cada dominio, encontrarás tres modos principales:
- Off: Desactiva ModSecurity para ese dominio específico.
- On: Activa la protección completa con todas las reglas.
- Detection Only: Registra los ataques pero no los bloquea. Útil para hacer pruebas.
Para una configuración básica y segura, te recomiendo lo siguiente:
- Ve a Sitios web y dominios.
- Selecciona el dominio que quieres configurar.
- Haz clic en ModSecurity (o en el icono de escudo).
- Elige el modo On para activar la protección.
- En Nivel de política, selecciona Alto si tu sitio es estático o un blog simple. Si usas plugins complejos, elige Medio para reducir falsos positivos.
Excepciones de reglas (por si acaso)
Si después de activar el nivel alto tu sitio empieza a dar errores extraños (como un formulario que no envía datos o un carrito de compras que no procesa pagos), es probable que una regla específica esté bloqueando una acción legítima.
Para solucionarlo:
- Accede a la configuración de ModSecurity del dominio en cuestión.
- Busca el apartado Excepciones de reglas.
- Aquí puedes añadir reglas específicas que deseas desactivar. Por ejemplo, si el problema es con el envío de formularios, podrías desactivar la regla que bloquea peticiones POST con ciertos parámetros.
[TIP] No desactives todas las reglas a la vez. Ve una por una, prueba el sitio después de cada cambio y documenta qué regla causaba el problema.
Paso 3: Monitoreo de registros y alertas
Una vez que ModSecurity está activo, es fundamental saber qué está pasando. Plesk registra cada evento de seguridad en archivos de log específicos.
Dónde encontrar los registros
- En Herramientas y Configuración, busca Registros.
- Selecciona Registros de ModSecurity.
- Verás una lista de eventos con fecha, hora, dominio afectado y el motivo del bloqueo.
Los registros son tu mejor amigo para entender ataques reales y falsos positivos. Cada entrada incluye el ID de la regla que se activó, la IP del atacante y el tipo de ataque detectado.
Configurar notificaciones por correo
Plesk puede enviarte un correo cada vez que se bloquea un ataque. Esto es muy útil para mantenerte informado sin tener que revisar los logs constantemente.
- Ve a Herramientas y Configuración.
- Busca Notificaciones.
- Activa las notificaciones para eventos de seguridad y añade tu correo electrónico.
[WARNING] Si tu sitio tiene mucho tráfico, podrías recibir cientos de correos al día. Te recomiendo configurar un filtro en tu cliente de correo para archivarlos automáticamente en una carpeta específica.
Paso 4: Configuración avanzada (sin complicarte la vida)
Aunque hablamos de configuración básica, hay un par de ajustes que pueden marcar la diferencia sin necesidad de ser un experto en seguridad.
Ajustar el límite de peticiones
ModSecurity puede protegerte contra ataques de fuerza bruta limitando el número de peticiones por minuto desde una misma IP. Plesk te permite configurar esto fácilmente.
- En la configuración global de ModSecurity, busca Límite de peticiones.
- Establece un valor razonable, como 100 peticiones por minuto por IP.
- Guarda los cambios.
Proteger el panel de administración
Si usas WordPress, Joomla o cualquier CMS, es recomendable añadir reglas específicas para proteger las rutas de administración.
En la configuración de ModSecurity del dominio:
- Ve a Reglas personalizadas.
- Añade una regla que bloquee el acceso a
/wp-admin(o la ruta equivalente) desde IPs que no sean las tuyas.
La regla sería algo así:
SecRule REQUEST_URI "@beginsWith /wp-admin" "id:10001,phase:1,deny,status:403,msg:'Acceso al panel bloqueado'"
[INFO] Esta regla bloqueará el acceso a
/wp-adminpara todos, excepto si añades una excepción para tu IP. Puedes hacerlo con la condición@ipMatchen la misma regla.
Paso 5: Probar la configuración
Antes de dar por finalizada la configuración, es imprescindible probar que todo funciona correctamente.
Prueba de ataque simulada
Puedes usar herramientas como curl para simular un ataque y ver si ModSecurity lo bloquea.
Abre una terminal en tu servidor y ejecuta:
curl -X POST "http://tudominio.com/login.php" -d "user=admin' OR '1'='1&pass=test"
Si ModSecurity funciona, deberías recibir un error 403 (Forbidden). Si recibes una respuesta normal, algo no está bien configurado.
Revisar los logs después de la prueba
Después de la prueba, revisa los registros de ModSecurity. Deberías ver una entrada con el ID de la regla que bloqueó la petición y la IP desde la que se realizó.
Preguntas frecuentes (FAQ)
¿ModSecurity ralentiza mi sitio web?
Sí, hay un pequeño impacto en el rendimiento porque cada petición se analiza. Sin embargo, con la configuración básica y el nivel de política adecuado, el impacto es mínimo (menos del 5%). Si notas una ralentización grave, revisa si tienes demasiadas reglas activas o si tu servidor tiene poca memoria RAM.
¿Puedo desactivar ModSecurity para un directorio específico?
Sí, puedes crear excepciones por directorio en la configuración del dominio. Por ejemplo, si tienes una carpeta de archivos estáticos que no necesita protección, puedes excluirla.
¿Qué hago si un cliente legítimo es bloqueado?
Revisa los logs, identifica la regla que bloqueó la petición y añade una excepción para esa regla específica. También puedes aumentar el nivel de política de "Alto" a "Medio".
¿ModSecurity reemplaza al firewall del sistema?
No. El firewall del sistema (como el que gestionas en Syspanel por el puerto 2106) controla qué puertos están abiertos y qué IPs pueden acceder. ModSecurity opera a nivel de aplicación web. Ambos son complementarios y necesarios.
¿Cómo actualizo las reglas de OWASP?
Plesk se encarga de las actualizaciones automáticamente si tienes habilitadas las actualizaciones del servidor. También puedes actualizarlas manualmente desde la configuración de ModSecurity.
Conclusión y buenas prácticas
Configurar ModSecurity en Plesk es un proceso sencillo que puede ahorrarte muchos dolores de cabeza. Con solo activar el módulo y elegir el conjunto de reglas OWASP, ya tienes una protección sólida contra los ataques más comunes.
Resumen de pasos clave:
- Activa ModSecurity en Herramientas y Configuración.
- Elige OWASP CRS como conjunto de reglas.
- Configura el nivel de política por dominio.
- Monitorea los registros regularmente.
- Ajusta excepciones solo cuando sea necesario.
Buenas prácticas finales:
- Revisa los logs al menos una vez por semana para detectar patrones de ataque recurrentes.
- Mantén Plesk y el sistema operativo actualizados. Las actualizaciones suelen incluir mejoras en ModSecurity.
- No desactives ModSecurity "para siempre" si tienes un falso positivo. Investiga y encuentra la solución específica.
- Haz copias de seguridad periódicas de tu configuración de ModSecurity, especialmente antes de hacer cambios importantes.
[TIP] Si tienes varios dominios, considera crear una política global y luego ajustar solo las excepciones por dominio. Esto simplifica la gestión.
Recuerda que la seguridad no es un estado, es un proceso continuo. ModSecurity es una herramienta excelente, pero no es infalible. Combínala con buenas prácticas de desarrollo, contraseñas seguras y un mantenimiento regular de tu servidor.
Con esta guía, ya tienes una base sólida para proteger tu servidor con un firewall Plesk eficiente. Si encuentras algún problema específico, consulta la documentación oficial de Plesk o busca ayuda en foros especializados. La comunidad es muy activa y siempre hay alguien que ha pasado por el mismo problema.
