RabbitMQ does not enforce any account lockout policy after multiple failed login attempts. What are the alternatives?
All supported RabbitMQ and Erlang Versions
RabbitMQ does not have a built-in account lockout mechanism (for example, temporarily disabling an account after N failed login attempts) in its core authentication backends, including the default internal backend. RabbitMQ continues to validate credentials on each authentication attempt and either allows or denies access, without tracking per-user failure thresholds across any protocol.
There is no native account lockout switch in RabbitMQ; any lockout behavior must be implemented via your directory/IdP, application logic, or surrounding infrastructure controls, while RabbitMQ remains a stateless (“dumb”) credential checker.
RabbitMQ is designed for high-throughput messaging, and implementing a stateful failed-login counter directly in the broker could create performance bottlenecks or be leveraged for Denial of Service (DoS) attacks (for example, an attacker intentionally locking out service accounts).
To meet account lockout requirements, change how RabbitMQ authenticates users or add controls around it.
What RabbitMQ Does Offer for Authentication Security
Strategy 1 – Delegate to LDAP / Active Directory
The most common enterprise solution is to move authentication away from RabbitMQ’s internal user database and use the rabbitmq_auth_backend_ldap plugin.
Note: Enabling LDAP alone does not define the lockout rule; thresholds and timing are configured on the LDAP/AD side. RabbitMQ does not add its own lockout logic on top.
Strategy 2 – Use OAuth 2.0 / OIDC
If you want a more “cloud-native” approach, you can use the rabbitmq_auth_backend_oauth2 plugin.
As with LDAP, OAuth 2.0/OIDC only provides lockout if the IdP’s policy defines it; RabbitMQ itself does not track failed login counts.
Strategy 3 – Externalize security with a reverse proxy and host controls
If you cannot move away from internal RabbitMQ users, you can still reduce brute-force risk by placing controls in front of RabbitMQ, especially the Management UI and HTTP API.
This approach implements IP-based lockout and brute-force mitigation, but does not “lock” individual RabbitMQ user accounts. For per-user lockout, use LDAP/AD or OAuth 2.0/OIDC as described above.
Clarifications
References