AEM Brute Force Attack Mitigation - Dispatcher Filter Rules and Additional Security Measures
We recently had a security assessment that identified brute force vulnerabilities on our dispatcher URL. The assessment showed 190 consecutive login attempts were possible without any blocking mechanisms on /libs/granite/core/content/login.html.
As an immediate mitigation, I'm planning to add these Dispatcher deny rules to block direct access to authentication endpoints:
/0300 { /type "deny" /url "/system/sling/login" }/0301 { /type "deny" /url "/system/sling/logout" }/0302 { /type "deny" /url "/libs/granite/core/content/login*" }/0303 { /type "deny" /url "/login*" }/0304 { /type "deny" /url "*/j_security_check*" }/0305 { /type "deny" /url "/j_security_check*" }
- Are these Dispatcher rules appropriate for blocking brute force attempts on AEM login endpoints?
- Will blocking /libs/granite/core/content/login.html break any legitimate AEM functionality?
- What additional AEM-specific configurations can help with brute force protection (rate limiting, account lockout, etc.)?
- Has anyone implemented similar security hardening for AEM author instances?
The security report specifically mentioned the lack of protection on the j_security_check endpoint. Any guidance on comprehensive AEM brute force protection would be appreciated.