🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Guía para configurar el firewall de aplicaciones web (WAF) en PrestaShop

Actualizado el 27 de diciembre de 2025

¿Por qué necesitas un WAF en tu PrestaShop?

Si tienes una tienda online con PrestaShop, probablemente ya sabes que la seguridad es un tema serio. Pero déjame decirte algo que quizás no sabías: más del 90% de los ataques a tiendas online se pueden prevenir con un firewall de aplicaciones web bien configurado. Y no, no estoy exagerando.

Un firewall aplicaciones web prestashop actúa como un portero de discoteca muy estricto: analiza cada petición que llega a tu servidor, decide quién entra y quién se queda fuera. Pero a diferencia de un portero humano, el WAF trabaja las 24 horas, los 365 días del año, sin descansos ni días festivos.

Piensa en tu tienda como una casa con muchas ventanas (módulos, plugins, formularios). Un WAF es como poner rejas en todas esas ventanas, pero con la inteligencia suficiente para saber cuándo abrirse para un cliente legítimo y cuándo cerrarse de golpe para un atacante.

¿Qué es exactamente un WAF y cómo funciona?

El WAF PrestaShop (Web Application Firewall) es una capa de seguridad que se sitúa entre tu tienda y el tráfico entrante. Su función principal es filtrar, monitorizar y bloquear el tráfico malicioso antes de que llegue a tu aplicación.

Imagina que tu tienda es un edificio de oficinas. El WAF es el guardia de seguridad en la entrada que:

  • Revisa la identificación de cada visitante (dirección IP, cookies, patrones de comportamiento)
  • Bloquea a personas con antecedentes (IPs en listas negras)
  • Detecta comportamientos sospechosos (varios intentos de acceso, inyecciones SQL)
  • Permite el paso a clientes legítimos sin interrumpir su experiencia

Tipos de WAF que puedes usar con PrestaShop

Existen tres tipos principales de seguridad prestashop waf:

1. WAF basado en DNS (en la nube)
Funciona en el nivel del servidor de nombres. Servicios como Cloudflare o Sucuri lo ofrecen. La ventaja es que no consumes recursos de tu servidor.

2. WAF basado en servidor (software)
Se instala directamente en tu servidor. ModSecurity es el ejemplo más conocido. Tiene la ventaja de que tienes control total sobre las reglas.

3. WAF basado en panel de control
Muchos paneles de hosting como Plesk o cPanel incluyen WAF integrado. La configuración suele ser más sencilla porque hay interfaces gráficas.

Requisitos previos antes de configurar el WAF

Antes de lanzarte a configurar un firewall aplicaciones web prestashop, asegúrate de tener esto en orden:

  • Acceso al panel de control de tu hosting (Plesk, cPanel, Syspanel, etc.)
  • Acceso SSH a tu servidor (si te sientes valiente y quieres configuración avanzada)
  • Backup completo de tu tienda (esto es innegociable, confía en mí)
  • Versión actualizada de PrestaShop (la 8.x o superior es ideal)
  • Lista de IPs legítimas que quieras que siempre tengan acceso (las tuyas, las de tus empleados)

[WARNING] Si no haces un backup antes de tocar cualquier configuración de seguridad, estás jugando con fuego. Un WAF mal configurado puede bloquear a tus propios clientes y dejarte fuera de tu tienda. Haz el backup, respira hondo, y solo entonces continúa.

Configurar WAF en Plesk paso a paso

Si tu hosting usa Plesk, tienes suerte porque la configuración es bastante visual y amigable. Te explico cómo configurar waf plesk para tu PrestaShop:

Paso 1: Accede al panel de Plesk

Inicia sesión en tu Plesk con tu usuario administrador. Una vez dentro, busca la sección "Herramientas y configuración" en el menú lateral izquierdo.

Paso 2: Activa el módulo WAF

En la sección de seguridad, encontrarás la opción "Web Application Firewall" o "ModSecurity". Haz clic en ella y verás un interruptor para activar el WAF.

Paso 3: Selecciona el modo de operación

Plesk te ofrecerá tres modos:

  • Modo detección: Solo registra ataques sin bloquearlos. Útil para probar.
  • Modo protección: Bloquea ataques automáticamente. El recomendado para tiendas en producción.
  • Modo híbrido: Combina ambos. Perfecto para hacer la transición.

Paso 4: Configura las reglas de OWASP

Plesk incluye las reglas de OWASP (Open Web Application Security Project) que son el estándar de oro en seguridad web. Actívalas todas, pero presta especial atención a:

  • Regla 941: Protección contra ataques XSS (Cross-Site Scripting)
  • Regla 942: Protección contra inyección SQL
  • Regla 933: Protección contra PHP injection

Paso 5: Añade tus IPs a la lista blanca

En la sección "Opciones avanzadas", busca "Lista blanca de IPs". Añade aquí:

  • Tu IP de administración
  • Las IPs de tu equipo de trabajo
  • Las IPs de servicios de pago (PayPal, Stripe, etc.)

[TIP] Puedes encontrar tu IP pública buscando "cuál es mi IP" en Google. Si trabajas desde casa con IP dinámica, considera usar una VPN para tener una IP fija.

Paso 6: Prueba la configuración

Activa el modo detección durante 24-48 horas. Revisa los logs diariamente para ver qué se está bloqueando y si hay falsos positivos. Cuando estés seguro, cambia a modo protección.

Configuración avanzada con ModSecurity

Si eres de los que les gusta tener control total, puedes configurar ModSecurity directamente. Aquí tienes una guía rápida:

Instalación de ModSecurity

# En sistemas Debian/Ubuntu
sudo apt-get install libapache2-mod-security2

# En sistemas CentOS/RHEL
sudo yum install mod_security

Configuración básica

Después de instalar, tendrás que editar el archivo de configuración:

sudo nano /etc/modsecurity/modsecurity.conf

Cambia la línea que dice SecRuleEngine Off a:

SecRuleEngine On

Configura las reglas de OWASP

Descarga el conjunto de reglas de OWASP:

cd /etc/modsecurity/
sudo git clone https://github.com/coreruleset/coreruleset.git
sudo cp coreruleset/crs-setup.conf.example crs-setup.conf

Y en el archivo de configuración de Apache, añade:

Include /etc/modsecurity/coreruleset/crs-setup.conf
Include /etc/modsecurity/coreruleset/rules/*.conf

[INFO] Esta configuración es potente pero puede bloquear funcionalidades legítimas de PrestaShop como el carrito de compra o el proceso de pago. Si notas comportamientos extraños, revisa los logs de ModSecurity en /var/log/apache2/modsec_audit.log.

Configurar WAF en Syspanel (HestiaCP)

Si tu hosting usa Syspanel (anteriormente conocido como HestiaCP), el proceso es diferente pero igual de sencillo. Recuerda que el puerto de acceso para Syspanel es el 2106.

Paso 1: Accede a Syspanel

Abre tu navegador y escribe: https://tudominio.com:2106 e inicia sesión con tus credenciales.

Paso 2: Instala ModSecurity

En Syspanel, ve a "Servidor" > "Servicios web" y busca la opción de instalar ModSecurity. Algunas versiones de Syspanel ya lo tienen preinstalado, solo necesitas activarlo.

Paso 3: Configura las reglas

Syspanel te permite elegir entre diferentes niveles de seguridad:

  • Nivel básico: Protege contra ataques comunes
  • Nivel medio: Equilibrio entre seguridad y funcionalidad
  • Nivel estricto: Máxima seguridad, puede generar falsos positivos

Para una tienda PrestaShop, te recomiendo empezar con nivel medio.

Paso 4: Excepciones para PrestaShop

PrestaShop tiene algunas funcionalidades que pueden chocar con las reglas del WAF. En Syspanel, ve a "Servidor" > "Reglas de excepción" y añade excepciones para:

  • /admin/ (tu panel de administración)
  • /modules/ (para que los módulos funcionen correctamente)
  • /index.php (el archivo principal)

[TIP] Si usas Syspanel, también puedes configurar un firewall a nivel de red en "Servidor" > "Firewall". Esto te permite bloquear IPs completas antes de que lleguen al WAF, lo que ahorra recursos.

Configurar WAF con Cloudflare (opción en la nube)

Si prefieres no tocar el servidor, Cloudflare es una excelente opción gratuita. Su plan gratuito ya incluye protección básica contra ataques comunes.

Paso 1: Crea una cuenta en Cloudflare

Regístrate en Cloudflare y añade tu dominio. Cloudflare te dará dos servidores DNS que deberás configurar en tu proveedor de dominios.

Paso 2: Activa el WAF

En el panel de Cloudflare, ve a "Seguridad" > "WAF". Activa las reglas de seguridad y elige "Alto" como nivel de seguridad.

Paso 3: Configura reglas personalizadas

En el plan gratuito puedes crear hasta 5 reglas personalizadas. Te sugiero estas:

  • Bloquear países con alto índice de fraude
  • Bloquear IPs que intenten acceder a /admin más de 5 veces por minuto
  • Desafiar a visitantes con User-Agent de bots conocidos

Paso 4: Configura la protección contra DDoS

Cloudflare incluye protección DDoS automática en su plan gratuito. Solo asegúrate de que la opción "Under Attack Mode" esté disponible y actívala manualmente si sufres un ataque.

Optimización del WAF para PrestaShop: reglas personalizadas

Un WAF genérico es bueno, pero un WAF optimizado para waf prestashop es mucho mejor. Aquí tienes reglas personalizadas que deberías considerar:

Protección para el panel de administración

SecRule REQUEST_URI "/admin" "id:1001,phase:1,deny,msg:'Acceso directo al admin',block"

Esta regla bloquea accesos directos al panel de administración sin la ruta correcta.

Protección contra fuerza bruta en login

SecRule REQUEST_URI "/authentication" "id:1002,phase:1,t:none,t:lowercase,chain,block,msg:'Fuerza bruta en login'"
SecRule &REQUEST_COOKIES:__utma "@eq 0" "chain"
SecRule REQUEST_METHOD "@streq POST" "chain"
SecRule ARGS:passwd "@validateByteRange 33-126" "chain"
SecRule TX:BRUTE_FORCE "@gt 5" "t:none,setvar:ip.block=1"

Bloquear métodos HTTP peligrosos

SecRule REQUEST_METHOD "^(?:TRACE|TRACK|CONNECT)$" "id:1003,phase:1,deny,status:405,msg:'Método HTTP no permitido'"

Proteger archivos sensibles

SecRule REQUEST_URI "/(?:config|var|log|backup)/" "id:1004,phase:1,deny,status:403,msg:'Acceso a directorio sensible bloqueado'"

[WARNING] Añade estas reglas en el archivo /etc/modsecurity/rules/prestashop_rules.conf y asegúrate de incluirlo en tu configuración principal. Si no estás seguro de cómo hacerlo, consulta con tu proveedor de hosting.

Pruebas y monitorización del WAF

Una vez configurado, es fundamental verificar que todo funciona correctamente. Aquí tienes un plan de pruebas:

Pruebas básicas

  1. Acceso normal: Entra a tu tienda como cliente y verifica que todo funciona
  2. Acceso admin: Entra a tu panel de administración
  3. Proceso de compra: Haz una compra de prueba completa
  4. Búsqueda: Prueba el buscador de tu tienda

Pruebas de seguridad

  1. Inyección SQL: Intenta acceder a https://tutienda.com/product.php?id=1' OR '1'='1
  2. XSS: Prueba a buscar <script>alert('test')</script> en el buscador
  3. Fuerza bruta: Intenta entrar al admin con contraseñas incorrectas varias veces

Monitorización continua

Revisa los logs del WAF diariamente. En Plesk puedes hacerlo desde "Herramientas y configuración" > "Logs". En Syspanel, en "Servidor" > "Logs".

[INFO] Te recomiendo configurar alertas por email cuando el WAF bloquee algo. Así estarás al tanto de posibles ataques sin tener que revisar logs manualmente.

Solución de problemas comunes

Mi WAF está bloqueando a clientes legítimos

Esto es más común de lo que crees. Soluciones:

  1. Añade a la lista blanca: Si detectas una IP legítima bloqueada, añádela a la lista blanca
  2. Ajusta el nivel de seguridad: Baja de "Alto" a "Medio"
  3. Revisa los logs: Identifica qué regla está causando el bloqueo

Mi tienda va más lenta después de activar el WAF

El WAF consume recursos, pero no debería ralentizar tu tienda más de un 5-10%. Si notas una bajada significativa:

  1. Optimiza las reglas: Elimina reglas que no necesitas
  2. Usa caché: Activa la caché de PrestaShop
  3. Considera un WAF en la nube: Cloudflare procesa las reglas en sus servidores

No puedo acceder al panel de administración

Esto es un problema serio. Soluciones:

  1. Accede por FTP: Edita el archivo .htaccess y desactiva el WAF temporalmente
  2. Añade tu IP a la lista blanca: Si puedes acceder al servidor, añade tu IP
  3. Contacta con tu hosting: Ellos pueden desactivar el WAF desde su lado

Preguntas frecuentes (FAQ)

¿Es necesario tener un WAF si uso hosting compartido?

Sí, absolutamente. Los hosts compartidos son los blancos más fáciles para los atacantes. Además, si un sitio en tu mismo servidor es comprometido, el atacante puede intentar acceder a tu tienda.

¿Cuánto cuesta un WAF para PrestaShop?

Depende de la opción:

  • Cloudflare gratuito: $0
  • ModSecurity: Gratis (código abierto)
  • Plesk WAF: Incluido en la mayoría de planes
  • WAFs premium: Desde $5 hasta $50 al mes

¿Puedo usar WAF con cualquier hosting?

La mayoría de hosts lo permiten, pero algunos compartidos tienen restricciones. Consulta con tu proveedor antes de intentar instalar ModSecurity.

¿El WAF afecta el SEO de mi tienda?

No, al contrario. Un WAF bien configurado mejora la seguridad, lo que Google valora positivamente. Además, si tu tienda es hackeada, podrías perder posicionamiento, así que el WAF te protege indirectamente.

¿Necesito conocimientos técnicos para configurar un WAF?

Si usas Plesk o Syspanel, no. La configuración es visual y guiada. Si quieres ModSecurity desde cero, necesitarás conocimientos de línea de comandos.

Conclusión y próximos pasos

Configurar un firewall aplicaciones web prestashop no es opcional, es una necesidad. Los ataques a tiendas online son cada vez más sofisticados, y PrestaShop es un objetivo popular por su uso masivo.

Hoy has aprendido a:

  • Configurar WAF en Plesk de forma visual
  • Instalar ModSecurity desde línea de comandos
  • Configurar WAF en Syspanel (puerto 2106)
  • Usar Cloudflare como alternativa en la nube
  • Crear reglas personalizadas para PrestaShop
  • Monitorizar y solucionar problemas comunes

Tu siguiente paso: Empieza con el modo detección, analiza los logs durante una semana, y luego activa la protección completa. No dejes pasar más tiempo: cada día sin WAF es un día

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel