Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
BB V1.15
Description
Motivation
See Grafana Loki for an example of a scanner exhibiting the behavior described below.
Description
Old behavior used request_uri as the rate-limit key, so the bucket was shared globally per exact URL. One aggressive client hammering a common URL could consume that URL's allowance and cause unrelated users to be rate-limited too. It also did not catch scanners that spread requests across many unique URLs, since each URL had its own bucket.
New behavior uses binary_remote_addr as the key.
This isolates aggressive scanners to their source IP and leaves other client IPs unaffected.
The tradeoff is that users behind the same NAT, VPN, or proxy still share one client-IP bucket.