doc/rate_limits/abuse_bans.md
{{< details >}}
{{< /details >}}
Some protections block a client for a period of time instead of slowing requests down.
GitLab returns HTTP status code 403 for 1 hour, if 30 failed authentication requests were received
in a 3-minute period from a single IP address. This applies only to combined:
/jwt/auth) requests.This limit:
gitlab-ci-token.No response headers are provided.
To avoid being rate limited, you can:
For configuration information, see Linux package configuration options.
Rack Attack may block your load balancer if all traffic appears to come from the load balancer. In that case, you must:
Configure nginx[real_ip_trusted_addresses].
This keeps users' IPs from being listed as the load balancer IPs.
Allowlist the load balancer's IP addresses.
Reconfigure GitLab:
sudo gitlab-ctl reconfigure
To remove a blocked IP:
Find the IPs that have been blocked in the production log:
grep "Rack_Attack" /var/log/gitlab/gitlab-rails/auth.log
The denylist is stored in Redis, so you must open up redis-cli:
/opt/gitlab/embedded/bin/redis-cli -s /var/opt/gitlab/redis/redis.socket
You can remove the block using the following syntax, replacing <ip> with
the actual IP that is denylisted:
del cache:gitlab:rack::attack:allow2ban:ban:<ip>
Confirm that the key with the IP no longer shows up:
keys *rack::attack*
By default, the keys command is disabled.
Optionally, add the IP to the allowlist to prevent it being denylisted again.