I assumed that any IP on the Geo-IP list was the equivalent of being IP blocked.
Not quite. We have to read the IP, run it against the GeoIP database, determine the continent and country and check them against the list of the continents/countries to be blocked.
It seems like a waste of cycles analyzing the behavior of an IP address if it's already on the geo-ip block list?
The opposite holds true. Getting the IP is a very cheap operation. Checking it against the list of blocked IPs is also a very cheap operation. Checking it against the GeoIP database, however, is about 20-30x slower.
Wouldn't it be more efficient to 1) check it against the deny list and then immediately check the geo-ip list? If it's not on either, then finish processing the request.
Which is EXACTLY what we are doing, as I told you. If the IP is in the black list it's not being further processed.
I believe you are getting confused with how the auto-block works.
After a specific IP has triggered several* security exceptions it is automatically blocked. So what happens in that case is that the request goes through the firewall, gets blocked and then the auto-ban is enforced. Since the IP is added to the deny list after it has gone through the firewall we can't go back in time and check the just updated deny list before going through the firewall. I believe that is self understood.
* User-configurable in the auto IP ban area of the WAF configuration page
Nicholas K. Dionysopoulos
Lead Developer and Director
🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!