NginxProxyManager / NginxProxyManager/nginx-proxy-manager
[Feature Request] Integrated WAF (Web Application Firewall) Support (e.g., Coraza or ModSecurity)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 34.2k
- Forks
- 3.9k
- Avg merge
- 21h 12m
- Merged PRs (30d)
- 20
Description
Problem Statement
Currently, Nginx Proxy Manager (NPM) provides excellent reverse proxying and SSL management but lacks a robust layer of protection against application-level attacks (OWASP Top 10). Users who require a WAF are forced to either:
Use much more complex, non-GUI solutions (like BunkerWeb or SWAG).
Manually modify the underlying Nginx configuration files, which defeats the purpose of NPM’s streamlined GUI and can be overwritten by updates.
Proposed Solution
Integrate an open-source WAF engine into the NPM core or provide an optional "Advanced Security" toggle within the Proxy Host configuration.
Engine Suggestion: Coraza WAF (Go-based, modern, OWASP-supported) or the ModSecurity-nginx connector.
Core Rule Set (CRS): Provide an option to enable the OWASP Core Rule Set with a simple checkbox.
Granular Control: Allow users to toggle the WAF "On/Off" or set it to "Detection Only" (Log) vs. "Enforcement" (Block) on a per-host basis.
User Experience / Mockup
Inside the "Edit Proxy Host" modal, a new "Security" tab could be added (separate from the current Access List) containing:
[ ] Enable WAF Protection (Toggle)
Mode: [Detection / Prevention] (Dropdown)
Paranoia Level: [1 - Low / 4 - Extreme] (Slider)
[ ] Block Common Exploits (Enhance existing feature with CRS)
Alternatives Considered
Nginx "Block Common Exploits": This is too basic for modern production environments.
CrowdSec: Excellent for IP reputation, but doesn't provide the deep packet inspection (DPI) for SQLi or XSS that a true WAF offers.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review the existing Proxy Host configuration and current “Block Common Exploits” feature first; the issue names no files or tests. Compare the proposed Coraza and ModSecurity-nginx approaches, then define the per-host UI, CRS option, detection/prevention modes, and validation needed for the feature to be complete.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, nginx, typescript
- Domain
- backend-api-design, frontend, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100