I'm using GKE and want to restrict my external load balancers from unwanted traffic. I found two options that problematic for me:
- Nginx plus + maxmind solution for geo filtering - I'm looking for an open source solution (and the maxmind lite is not available anymore).
- GKE Ingress + Cloud armor, but I'm using nginx and other load balancers and not the GKE Ingress.
I'm looking for a better solution, maybe in a global kubernetes level implemented as a daemonset or a regular deployment proxy.
i would suggest checking out : https://lab.wallarm.com/how-to-protect-your-kubernetes-cluster-with-wallarm-configuration-and-finetuning-part-2-of-3/
And nice Wallarm WAF ingress controller : https://github.com/wallarm/ingress
With
Nginx ingress
, there are options to increase to securityModSecurity at application level metadata and proxy payload size management.
For DDoS protection, you can use the rate-limiting and connection handling option
you can whitelist the List of IPs also.