NginxProxyManager / NginxProxyManager/nginx-proxy-manager

[Feature Request] Integrated WAF (Web Application Firewall) Support (e.g., Coraza or ModSecurity)

Open
#5,368 3 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.