Un Web Application Firewall (WAF) es una capa de seguridad que inspecciona cada peticion HTTP y HTTPS entrante a un sitio web y bloquea el trafico malicioso antes de que llegue a la aplicacion. A diferencia de un firewall de red clasico que filtra por IP y puerto, un WAF entiende el protocolo HTTP y examina URLs, parametros, cuerpo de peticion, cookies, cabeceras y user agents. Para WordPress bloquea inyeccion SQL, cross site scripting (XSS), inclusion local de archivos, intentos de fuerza bruta de login, spam de comentarios, escaneres de vulnerabilidades y patrones de exploits conocidos en plugins y temas. Los WAFs siguen las categorias OWASP Top 10 y son requisito reconocido de PCI DSS (Requirement 6.4.2 en PCI DSS v4.0, obligatorio desde marzo de 2025) para cualquier sitio que procese datos de tarjeta.
Como funciona un Web Application Firewall?
Un WAF inspecciona el trafico HTTP contra un conjunto de reglas. Cada regla busca un patron especifico: cuerpo con UNION SELECT (inyeccion SQL), URL con ../../etc/passwd (path traversal) o formulario de login golpeado mas de 5 veces por minuto desde la misma IP (fuerza bruta). Al coincidir, el WAF puede bloquear con HTTP 403, desafiar con CAPTCHA o JavaScript, o solo registrar. La mayoria combinan deteccion por firmas con deteccion por anomalia y, cada vez mas, modelos de machine learning entrenados con miles de millones de peticiones.
Que tipos de WAF existen?
- WAF en la nube (basado en DNS): el trafico pasa por el DNS del proveedor antes de llegar a tu servidor. Ejemplos: Cloudflare, Sucuri, Akamai, AWS WAF con CloudFront, Imperva. El despliegue mas rapido, ademas con CDN y proteccion DDoS, requiere cambiar nameservers.
- WAF proxy inverso: nginx con ModSecurity o HAProxy delante del origen. Bueno para autohospedaje, mas trabajo de setup.
- WAF de endpoint (nivel aplicacion): plugin como Wordfence o All In One WP Security ejecutado como PHP en WordPress. Facil de instalar pero la peticion ya gasta recursos de servidor. No detiene DDoS.
- WAF de red (hardware): appliances como F5 BIG-IP ASM, FortiWeb, Barracuda WAF. Tipicos en centros de datos empresariales.
Que amenazas bloquea un WAF?
OWASP Top 10 (version 2021, actualizacion 2025 en borrador) define las categorias que todo WAF debe cubrir:
- A01 Broken Access Control.
- A02 Cryptographic Failures: mayormente configuracion TLS.
- A03 Injection: SQL, NoSQL, comandos, LDAP.
- A04 Insecure Design.
- A05 Security Misconfiguration: bloquea acceso a
wp-config.php.bak,.git/config,.env,xmlrpc.php. - A06 Vulnerable Components: parches virtuales para CVEs conocidos en Elementor (CVE-2023-48777), WPBakery, RevSlider, Yoast.
- A07 Authentication Failures: fuerza bruta a
/wp-login.phpy/xmlrpc.php. - A08 Software and Data Integrity Failures.
- A09 Logging and Monitoring Failures.
- A10 SSRF.
Que es el parcheo virtual?
Cuando se publica una vulnerabilidad critica de plugin (por ejemplo la escalada de privilegios CVE-2024-28000 en LiteSpeed Cache, 5 millones de sitios afectados en agosto 2024), el parche tarda dias en desplegarse. Un WAF puede aplicar un parche virtual, una regla que bloquea el payload en el edge en minutos. Wordfence los entrega via Threat Intelligence Feed (Premium en tiempo real, Free con 30 dias de retraso). Cloudflare WAF Managed Rules y Sucuri Firewall hacen lo mismo.
Opciones populares de WAF para WordPress
| Solucion | Tipo | Gratis | Caracteristicas |
|---|---|---|---|
| Cloudflare | Cloud / DNS | Si (ilimitado) | CDN, DDoS, Bot Fight Mode, SSL gratis |
| Sucuri Firewall | Cloud / DNS | No, desde 9,99 USD/mes | Limpieza de malware, virtual patching |
| Wordfence | Plugin endpoint | Si | Threat Feed en tiempo real (Premium) |
| All In One WP Security | Plugin endpoint | Si | Login lockdown, escaneo de integridad |
| NinjaFirewall | Endpoint pre WP | Si | Corre antes del core de WordPress |
| AWS WAF | Cloud (CloudFront) | No | Managed Rule Groups, AWS Shield |
| Imperva | Cloud / DNS | No, empresarial | SLA empresarial, bot management |
| ModSecurity + OWASP CRS | Proxy inverso open source | Si | Open source, configurable |
Que es el OWASP Core Rule Set?
OWASP CRS es el conjunto open source de reglas usado por ModSecurity y cada vez mas por Cloudflare, AWS WAF y Google Cloud Armor. La version estable es CRS 4.0 (enero 2024) con niveles de paranoia 1 a 4.
WAF en la nube o plugin endpoint?
- WAF en la nube: detiene ataques antes del servidor, ahorra recursos, necesario para DDoS. Implica confiar el trafico al proveedor.
- Plugin endpoint: ve trafico descifrado y contexto WordPress, protege endpoints REST con conciencia de rol. No detiene DDoS.
- Buena practica: combinar ambos, Cloudflare o Sucuri al borde mas Wordfence o NinjaFirewall dentro de WordPress.
Como activo un WAF para WordPress?
- Cloudflare Free: registra en
cloudflare.com, anade el dominio, cambia los nameservers. Activa WAF Managed Rules y Bot Fight Mode. SSL en Full (strict). - Sucuri Firewall: registra y apunta el A record a la IP del proxy Sucuri.
- Wordfence: instala el plugin, asistente de configuracion, pasa de Learning Mode a Enabled tras una semana.
- NinjaFirewall: instala y mueve la ejecucion antes del core.
Limitaciones de un WAF
- No es un escaner de malware.
- No protege contra contrasenas debiles ni credential stuffing.
- Reglas agresivas generan falsos positivos.
- Confianza en el proveedor cloud.
- No sustituye a las actualizaciones de core, temas y plugins.
WAF y cumplimiento PCI DSS
PCI DSS v4.0 Requirement 6.4.2 (obligatorio desde el 31 de marzo de 2025) exige WAF o revision manual con analisis de codigo para toda aplicacion web publica que maneje datos de tarjeta. Para WooCommerce la WAF es la opcion practica.
Como ayuda InspectWP con la deteccion de WAF?
InspectWP analiza cabeceras de respuesta y firmas de servidor de cada URL rastreada. El informe identifica WAFs comunes por sus huellas (Server: cloudflare, X-Sucuri-ID, X-WAF, cookies de Wordfence) y marca los sitios sin WAF.