Authentication-Request Rate Control
Authentication activity for the laboratory account is monitored over a defined time window.
Detect excessive authentication requests before repeated requests can continuously trigger MFA verification.
Modern identity-management platforms use multi-factor authentication (MFA) to provide an additional verification layer beyond usernames and passwords. authentik provides customizable authentication workflows through Flows, Stages, and Policies, allowing organizations to define how users are identified, authenticated, and granted access to applications.
An MFA fatigue attack attempts to overwhelm a legitimate user with repeated authentication or MFA requests until the user accidentally approves one of the requests or otherwise interacts with an unexpected authentication prompt.
The security risk is particularly relevant when an authentication workflow permits repeated authentication attempts without sufficient request-rate controls, user verification, suspicious-activity detection, or user-awareness mechanisms.
In this use case, a controlled authentik identity service is deployed on Ubuntu Linux inside an isolated VirtualBox laboratory. A protected test application is integrated with authentik as the authentication provider.
The laboratory attack generates repeated authentication requests against a dedicated test account. The requests are intentionally limited to the authorized laboratory environment and are designed to reproduce the behavioral pattern of an MFA fatigue attack without targeting real users or external identity services.
The authentik authentication workflow uses an Identification Stage, authentication stages, an Authenticator Validation Stage, and policies that control when authentication stages are executed. authentik documentation confirms that stages can be bound to flows and that policies can determine whether a stage runs.
The defensive architecture introduces authentication-request rate controls, repeated-request detection, suspicious authentication-event monitoring, user-verification requirements, MFA throttling where applicable, CAPTCHA or reputation-based controls for suspicious requests, and security-event monitoring.
For code-based authentication methods, authentik supports throttling of repeated failed verification attempts for device classes such as TOTP, static OTP, email OTP, and SMS OTP. WebAuthn and Duo devices are documented separately and are not subject to that specific code-based throttling mechanism.
The controlled attack is repeated after the security controls are implemented to verify that excessive authentication requests are detected and restricted, unexpected MFA activity is identified, user-verification requirements remain enforced, legitimate authentication continues to function, and security events are available for investigation.
Complete Identity and Access Management Workflow: Authentik Identity Service → Authentication Flow → User Identification → Primary Authentication → MFA Validation → Repeated Authentication Requests → Request-Rate Detection → Suspicious Activity Detection → Authentication Request Restriction → User Verification → MFA Validation → Security Alert → Security Investigation → Remediation → Post-Remediation Validation
authentik provides the controlled identity-management environment for the laboratory. Its authentication architecture is based on Flows, Stages, and Policies. A flow defines the authentication sequence, stages represent individual verification or logic steps, and policies can determine whether a flow or individual stage is allowed to execute. The Authenticator Validation Stage can validate enrolled authenticators, including TOTP, WebAuthn, Duo, SMS, email, and static authenticators.
An authentication workflow may become exposed to MFA fatigue when an attacker repeatedly initiates authentication attempts against a target account and causes the identity service to generate repeated MFA verification events. If repeated authentication requests are not sufficiently detected or restricted, the legitimate user may receive multiple unexpected authentication prompts.
The security problem is therefore:
The proposed security architecture introduces request-rate controls, suspicious-request detection, authentication policies, MFA throttling where supported, user-verification requirements, and centralized security monitoring.
An MFA fatigue attack attempts to generate repeated authentication or MFA requests for a legitimate user. Instead of attempting to bypass MFA cryptographically, the attacker abuses the authentication workflow by repeatedly initiating authentication attempts against the target account. In the controlled laboratory scenario, a dedicated test account is created in authentik. The security-testing system generates repeated authentication requests against the laboratory authentication endpoint. The objective is not to compromise the account. The objective is to reproduce the repeated-request behavior associated with MFA fatigue and determine whether the authentication architecture can identify and restrict the excessive requests. authentik’s flow architecture allows policies to be attached to flows and stage bindings, making it possible to introduce additional controls around authentication-stage execution.
MFA fatigue protection requires more than simply enabling MFA. The authentication workflow should also identify abnormal authentication-request behavior and apply additional controls when repeated requests occur.
authentik provides a flow-based architecture in which authentication consists of ordered stages and policies can be bound to flows or stage bindings. This allows the laboratory implementation to place security decisions around the authentication process rather than treating every authentication request as equally trusted. authentik also provides a Reputation policy designed to react to repeated failed logins or suspicious sign-in activity. Its hardening documentation recommends using reputation-based controls with CAPTCHA or authentication-flow denial for suspicious activity and configuring notifications for login_failed and suspicious_request events. For code-based authenticators, the Authenticator Validation Stage provides exponential back-off after failed verification attempts, with configurable throttling factors. For stronger user-verification assurance, WebAuthn/FIDO2/passkeys can be configured with user-verification requirements. authentik documents user-verification settings that can require, prefer, or discourage verification by the authenticator.
The secure processing flow is:
Authentication activity for the laboratory account is monitored over a defined time window.
Detect excessive authentication requests before repeated requests can continuously trigger MFA verification.
Authentication events are correlated to identify repeated requests involving the same laboratory account, source, or authentication workflow.
Identify behavioral patterns associated with MFA fatigue activity.
authentik’s Reputation policy can react to repeated failed logins or suspicious sign-in activity and can be combined with CAPTCHA or flow restrictions.
Increase authentication controls when suspicious activity accumulates.
For supported code-based authentication methods, authentik provides throttling that increases the delay between successive failed verification attempts.
Slow repeated MFA verification attempts and reduce automated authentication pressure.
The authentication workflow requires stronger user verification where supported, including WebAuthn user-verification controls.
Require the user to perform an explicit verification action rather than relying only on a simple authentication interaction.
A CAPTCHA stage can be introduced into the authentication workflow for suspicious or low-reputation authentication activity. authentik’s hardening guidance recommends CAPTCHA as a brute-force-resistance control.
Introduce an additional human-verification barrier when automated authentication activity is detected.
Policies are bound to the authentication flow or relevant stage binding to control whether authentication can continue.
Stop suspicious authentication requests before unrestricted MFA processing continues.
The Authenticator Validation Stage is configured to require the intended enrolled authenticator and appropriate authentication behavior.
Ensure that authentication requests cannot bypass the configured MFA validation stage.
Authentication failures, suspicious requests, and MFA-related activity are monitored.
Provide visibility into repeated authentication behavior.
Alerts are generated when authentication-request activity exceeds the controlled laboratory threshold.
Notify the security-monitoring workflow of potential MFA fatigue behavior.
Authentication events are correlated with request-source information, timestamps, user identity, and policy decisions.
Establish a complete timeline of the controlled MFA fatigue scenario.
authentik provides the controlled identity-management and authentication environment. Its authentication architecture uses Flows, Stages, and Policies, allowing authentication workflows to be customized and security decisions to be attached to specific authentication stages.
authentik Flows define the ordered authentication stages used during the laboratory login process.
The Authenticator Validation Stage validates enrolled authentication devices such as TOTP, WebAuthn, Duo, SMS, email, and static authenticators.
authentik Policies provide reusable checks that can be bound to flows, stage bindings, applications, or sources.
Expression Policies allow custom Python-based logic and can inspect request metadata, flow context, and authentication-related information.
The TOTP Authenticator Setup Stage allows a user to enroll a time-based one-time-password authenticator, which can subsequently be validated through the Authenticator Validation Stage.
Wazuh monitors the Ubuntu and authentik environment and collects relevant authentication and security events.
OpenSearch provides centralized investigation and correlation of authentication-security events.
Kali Linux provides the controlled testing environment used to generate repeated authentication requests against the laboratory authentik service.
Ubuntu hosts the laboratory authentik identity service and supporting security-monitoring components.
VirtualBox provides the isolated laboratory infrastructure.