[GH-ISSUE #1411] Request for WAF Integration like Fail2ban #7902

Open
opened 2026-03-12 23:12:21 +03:00 by kerem · 3 comments
Owner

Originally created by @devopsminds on GitHub (Oct 28, 2025).
Original GitHub issue: https://github.com/0xJacky/nginx-ui/issues/1411

Is your feature request related to a problem? Please describe.

It would be great to have WAF including fail2ban kind of stuff which is similar to cloudflare

Describe the solution you'd like

Its mainly to block or protect against DDOS attack

Describe alternatives you've considered
Cloudflare or fail2ban

Additional context

  1. option to block unwanted IPs
  2. Implement Rate limiting
  3. May nice to have custom rules if possible
Originally created by @devopsminds on GitHub (Oct 28, 2025). Original GitHub issue: https://github.com/0xJacky/nginx-ui/issues/1411 **Is your feature request related to a problem? Please describe.** It would be great to have WAF including fail2ban kind of stuff which is similar to cloudflare **Describe the solution you'd like** Its mainly to block or protect against DDOS attack **Describe alternatives you've considered** Cloudflare or fail2ban **Additional context** 1. option to block unwanted IPs 2. Implement Rate limiting 3. May nice to have custom rules if possible
Author
Owner

@enwikuna commented on GitHub (Oct 28, 2025):

Not sure if NGINX is the correct place to do this. I would suggest you use a docker stack with NGINX UI and install a Fail2Ban on your local system. This will block any traffic before it's even reaching any of your services. I highly recommend this. Doing it inside NGINX UI feels wrong and would not give you that flexibility you would need as a sysadmin.

<!-- gh-comment-id:3458952360 --> @enwikuna commented on GitHub (Oct 28, 2025): Not sure if NGINX is the correct place to do this. I would suggest you use a docker stack with NGINX UI and install a Fail2Ban on your local system. This will block any traffic before it's even reaching any of your services. I highly recommend this. Doing it inside NGINX UI feels wrong and would not give you that flexibility you would need as a sysadmin.
Author
Owner

@cheewah-cd commented on GitHub (Nov 10, 2025):

I would suggest to use crowdsec rather than fail2ban.
In order to integrate with crowdsec, it needs to use openresty with the crowdsec bouncer.
With some modification with the nginx-ui , it should be able to integrate with the openresty and crowdsec bouncer.
https://github.com/crowdsecurity/cs-openresty-bouncer
What i did is to use the dockerfile from the crowdsec and inject the nginx-ui binary into the image and fix all the requirements from both.
It is able to pass the nginx-ui requirement test.
I hope the nginx-ui can support the crowdsec, since it comes with WAF and IPS in one package instead of nginx + modsec + fail2ban

<!-- gh-comment-id:3509201195 --> @cheewah-cd commented on GitHub (Nov 10, 2025): I would suggest to use crowdsec rather than fail2ban. In order to integrate with crowdsec, it needs to use openresty with the crowdsec bouncer. With some modification with the nginx-ui , it should be able to integrate with the openresty and crowdsec bouncer. https://github.com/crowdsecurity/cs-openresty-bouncer What i did is to use the dockerfile from the crowdsec and inject the nginx-ui binary into the image and fix all the requirements from both. It is able to pass the nginx-ui requirement test. I hope the nginx-ui can support the crowdsec, since it comes with WAF and IPS in one package instead of nginx + modsec + fail2ban
Author
Owner

@Buco7854 commented on GitHub (Nov 29, 2025):

I would suggest to use crowdsec rather than fail2ban. In order to integrate with crowdsec, it needs to use openresty with the crowdsec bouncer. With some modification with the nginx-ui , it should be able to integrate with the openresty and crowdsec bouncer. https://github.com/crowdsecurity/cs-openresty-bouncer What i did is to use the dockerfile from the crowdsec and inject the nginx-ui binary into the image and fix all the requirements from both. It is able to pass the nginx-ui requirement test. I hope the nginx-ui can support the crowdsec, since it comes with WAF and IPS in one package instead of nginx + modsec + fail2ban

No need for openresty you can just use libnginx-mod-http-lua:
https://docs.crowdsec.net/u/bouncers/nginx/

<!-- gh-comment-id:3591931130 --> @Buco7854 commented on GitHub (Nov 29, 2025): > I would suggest to use crowdsec rather than fail2ban. In order to integrate with crowdsec, it needs to use openresty with the crowdsec bouncer. With some modification with the nginx-ui , it should be able to integrate with the openresty and crowdsec bouncer. https://github.com/crowdsecurity/cs-openresty-bouncer What i did is to use the dockerfile from the crowdsec and inject the nginx-ui binary into the image and fix all the requirements from both. It is able to pass the nginx-ui requirement test. I hope the nginx-ui can support the crowdsec, since it comes with WAF and IPS in one package instead of nginx + modsec + fail2ban No need for openresty you can just use libnginx-mod-http-lua: https://docs.crowdsec.net/u/bouncers/nginx/
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/nginx-ui#7902
No description provided.