I'm having one server, that is behind a reverse proxy, that I don't control.
I'd like to use fail2ban to block nginx traffic under certain conditions.
normally fail2ban useses iptables to block traffic originating from the intruder's IP
However my server is behind a reverse proxy and from my server's point of view all traffic originates from the reverse proxy:
I found following url https://forums.freebsd.org/threads/fail2ban-behind-a-proxy.55041/
that suggests tu use iptables
with package intropspection like for example:
actionban = iptables -I fail2ban-<name> 1 -p tcp --dport 80 -m string --algo bm --string 'X-Forwarded-For: <ip>' -j DROP
However the reverse proxy that I cannot control forwards the traffic as https traffic, meaning, that I cannot introspect the traffic for X-Forwarded-For
headers as they would be encrypted.
Thus my question.
Do others have a similar scenario and is there an existing actionban =
that adds Deny rules
to nginx ?
Or do I have to handcraft a script trying to do this (edit nginx the nginx configuration and reload nginx)
What other solution would allow me to tell nginx dynamically which requests (containing specific X-Forwarded-For:
headers) to block