WAF Security Coverage
QLAM uses OWASP Coraza WAF with the OWASP Core Rule Set (CRS) to provide web application firewall protection for all incoming traffic.
OWASP CRS Protection Categories
The default configuration includes OWASP Core Rule Set (CRS) v4, which provides protection against the following attack categories:
| Rule Group | Rule IDs | Protection |
|---|---|---|
| PROTOCOL-ENFORCEMENT | 920xxx | HTTP RFC violations, encoding abuse, missing required headers, Content-Type restrictions, request size limits |
| PROTOCOL-ATTACK | 921xxx | HTTP request smuggling, response splitting, header injection |
| LFI (Local File Inclusion) | 930xxx | Directory traversal (/../, /..;/), OS file access, restricted file access (source code, credentials, .git) |
| RFI (Remote File Inclusion) | 931xxx | Remote URL inclusion, external resource loading |
| RCE (Remote Code Execution) | 932xxx | Unix/Windows command injection, shell metacharacters (;, |, &&), Shellshock (CVE-2014-6271), PowerShell, SQLite CLI |
| PHP Injection | 933xxx | PHP code injection, dangerous functions, object serialization |
| Node.js Injection | 934xxx | Node.js-specific injection attacks |
| XSS (Cross-Site Scripting) | 941xxx | Script tags, event handlers (onerror, onclick), JavaScript URIs, encoding evasion, JSFuck obfuscation, AngularJS template injection |
| SQLi (SQL Injection) | 942xxx | Blind/boolean/union-based SQLi, authentication bypass, stacked queries, information_schema enumeration, MongoDB NoSQL injection |
| Session Fixation | 943xxx | Session ID manipulation, cookie injection |
| Java Attacks | 944xxx | Java deserialization, Log4j (CVE-2021-44228), Spring4Shell |
OWASP Top 10 (2025) Coverage
| OWASP Top 10 | CRS Coverage | Notes |
|---|---|---|
| A01: Broken Access Control | Partial | Path traversal (LFI), restricted file access |
| A02: Security Misconfiguration | Partial | Protocol enforcement, HTTP RFC violations, information disclosure |
| A03: Software Supply Chain Failures | None | Outside WAF scope |
| A04: Cryptographic Failures | None | Application-level concern |
| A05: Injection | Strong | SQLi, XSS, RCE, command injection, NoSQL injection |
| A06: Insecure Design | None | Application architecture concern |
| A07: Authentication Failures | Partial | Session fixation; brute force requires separate config |
| A08: Software or Data Integrity Failures | Partial | Java/PHP deserialization attacks, known CVE signatures (Log4j, Spring4Shell) |
| A09: Security Logging and Alerting Failures | Strong | All requests logged with full context |
| A10: Mishandling of Exceptional Conditions | None | Application-level concern |
Anomaly Scoring System
CRS uses anomaly scoring rather than immediate blocking:
| Severity | Score | Example |
|---|---|---|
| Critical | 5 | SQLi, RCE confirmed |
| Error | 4 | High-confidence attack pattern |
| Warning | 3 | Suspicious but uncertain |
| Notice | 2 | Informational anomaly |
Requests exceeding the configured threshold are blocked.
Rate Limiting (DDoS Protection)
Rate limiting is configured at the HAProxy level with these protections:
| Protection | Default | Window |
|---|---|---|
| Request rate | 100 requests / IP | 10s sliding window |
| Connection rate | 50 new connections / IP | 10s sliding window |
| Concurrent connections | 20 simultaneous / IP | — |
| Slowloris protection | 10s request timeout | — |
Exceeding limits returns HTTP 429 (Too Many Requests).
Compliance Relevance
| Standard | WAF Requirement | CRS Contribution |
|---|---|---|
| PCI DSS 4.0 | Req 6.4.2 - WAF for public web apps | Provides web attack detection/prevention |
| SOC 2 | CC6.6 - Boundary protection | Logs all attack attempts for audit trail |
| HIPAA | § 164.312(e) - Transmission security | Additional layer for PHI-handling APIs |
| FedRAMP | CA-7 - Continuous monitoring | Real-time attack detection and alerting |
| APPI (Japan) | Art. 23 - Security control measures | Protects personal data from unauthorized access via web attacks |
What CRS Does NOT Protect Against
Per CRS documentation, note these limitations:
- Business logic flaws - Authorization bypass, IDOR, privilege escalation
- Authentication weaknesses - Weak passwords, missing MFA (use application controls)
- Application-specific vulnerabilities - Custom code bugs, logic errors
- Zero-day exploits - Unknown vulnerabilities without signatures
- Encrypted/encoded payloads - Attacks in encrypted request bodies or custom encoding
- Client-side attacks - DOM-based XSS (CRS only sees server requests)
Learn More
- OWASP Coraza WAF
- OWASP Core Rule Set
- Architecture Overview - How WAF fits in the system