[Hardening] F-03: Recommended Mandatory 2FA Enforcement from the Start.
- Dominant language
- Java
- Stars
- 3.1k
- Forks
- 1.4k
- Avg merge
- 6d 19h
- Merged PRs (30d)
- 32
Description
### The required feature described as a wish
**Description:** The "Tyranny of Default" principle recommends enabling the global setting `mandate.user.2fa` from the start. Security can always be downgraded later, but most users will simply accept whatever defaults they are given. If `mandate.user.2fa` is not set, 2FA remains ineffective even for those users who have already enrolled.
**Affected Components:** Management UI
**Impact:** Without mandatory enforcement, users may choose not to enroll in 2FA. In environments with regulatory or compliance requirements (e.g., PCI-DSS, SOC 2), the absence of enforced MFA may constitute a compliance gap.
**Steps to Reproduce:**
- Log in to the CloudStack Management UI as a Root Admin.
- Navigate to Configuration > Global Settings.
- Search for `mandate.user.2fa` and confirm the value is False.
- Create a new user account at any permission level.
- Log in as that user and confirm that access is granted without any 2FA prompt.
**Recommended Remediation:** Set `mandate.user.2fa` to True by default. Users will be naturally guided to set up 2FA at first login without friction, and the first impression of the ACS project will reflect a stronger security posture.
Contributor guide
Research direction
Start in the CloudStack Management UI's Global Settings and locate the definition of `mandate.user.2fa`. Check how its default is applied and how first-login enforcement is verified; done means a new installation enables the setting by default and a newly created user is prompted for 2FA.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- authentication, security
- Issue type
- Feature
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100