Choose the protected target
Points the reverse proxy at the application being protected in the lab.
A hands-on study of request inspection, from established rules to a custom Python WAF.
ARCHITECTURE STUDY · ILLUSTRATIVE
Configuration checked against the README and inspection code. These are documented settings, not measured protection results.
Points the reverse proxy at the application being protected in the lab.
The documented default threshold is configurable. Tuning changes how the WAF responds to detected anomalies.
In the main inspection path, detection-only logs threshold violations; blocking returns HTTP 403 for them. Separate rate-limit and binary-header checks can still block in either mode.
A defensive rule needs context: the target, the threshold and the enforcement mode all affect its behavior.
Read the source ↗A multi-layer WAF laboratory: a custom Python reverse proxy with YAML signatures and JSONL blocked-request logs, alongside ModSecurity / OWASP CRS on Nginx and a DVWA target.
Docker Compose connects the vulnerable target, open-source WAF and custom reverse proxy in a dedicated lab network.
The custom engine applies detection rules with a configurable anomaly threshold. Detection-only and blocking modes distinguish observation from enforcement in the main inspection path.
SQL injection and XSS examples support repeatable lab exercises. A documented dashboard and engineering report help compare the custom approach with established WAF systems.
A defensive learning environment, not a production security product. No independent benchmark establishes throughput or detection completeness. Rate limiting and binary-asset header checks can still block in detection-only mode. DVWA is intentionally vulnerable and belongs in an isolated, authorized laboratory.