rules/findings/entra/sspr/eid-sspr-number-of-methods.json

{
    "provider": "EntraID",
    "serviceType": "Users",
    "serviceName": "Microsoft Entra ID",
    "displayName": "Ensure that 'Number of methods required to reset' is set to '_ARG_0_'",
    "description": "Ensures that two alternate forms of identification are provided before allowing a password reset.",
    "rationale": "A Self-service Password Reset (SSPR) through Azure Multi-factor Authentication (MFA) ensures the user's identity is confirmed using two separate methods of identification.<br/><br/>With multiple methods set, an attacker would have to compromise both methods before they could maliciously reset a user's password.",
    "impact": "There may be administrative overhead, as users who lose access to their secondary authentication methods will need an administrator with permissions to remove it. There will also need to be organization-wide security policies and training to teach administrators to verify the identity of the requesting user so that social engineering cannot render this setting useless.",
    "remediation": {
        "text": "
            #### Remediate from Azure Portal
            1. From Azure Home select the Portal Menu
            2. Select Microsoft Entra ID
            3. Under Manage, select Users
            4. Under Manage, select Password reset
            5. Select Authentication methods
            6. Set the Number of methods required to reset to _ARG_0_
            7. Click Save
        ",
        "code": {
            "powerShell": null,
            "iac": null,
            "terraform": null,
            "other": null
        }
    },
    "recommendation": null,
    "references": [
        "https://learn.microsoft.com/en-us/entra/identity/authentication/tutorial-enable-sspr2",
        "https://learn.microsoft.com/en-us/entra/identity/authentication/concept-",
        "https://learn.microsoft.com/en-us/security/benchmark/azure/mcsb-identitymanagement#im-6-use-strong-authentication-controls",
        "https://learn.microsoft.com/en-us/entra/identity/authentication/passwordsfaq#password-reset-registration",
        "https://support.microsoft.com/en-us/account-billing/reset-your-work-or-schoolpassword-using-security-info-23dde81f-08bb-4776-ba72-e6b72b9dda9e",
        "https://learn.microsoft.com/en-us/entra/identity/authentication/conceptauthentication-methods"
    ],
    "compliance": [
        {
            "name": "CIS Microsoft Azure Foundations",
            "version": "5.0.0",
            "reference": "5.5",
            "profile": [
                "Level 1"
            ]
        }
    ],
    "level": "medium",
    "tags": [],
    "rule": {
        "path": "aad_password_reset_policy",
        "subPath": null,
        "selectCondition": {
             
        },
        "query": [
            {
                "filter": [
                    {
                        "conditions": [
                            [
                                "numberOfAuthenticationMethodsRequired",
                                "lt",
                                "_ARG_0_"
                            ]
                        ]
                    }
                ]
            }
        ],
        "shouldExist": null,
        "returnObject": null,
        "removeIfNotExists": null
    },
    "output": {
        "html": {
            "data": {
                "properties": {},
                "expandObject": null
            },
            "table": "default",
            "decorate": [],
            "emphasis": [],
            "actions": {
                "objectData": {
                    "properties": [],
                    "expandObject": null,
                    "limit": null
                },
                "showGoToButton": "True",
                "showModalButton": "True",
                "directLink": null
            }
        },
        "text": {
            "data": {
                "properties": {},
                "expandObject": null
            },
            "status": {
                "keyName": [],
                "message": "Ensure that 'Number of methods required to reset' is set to '_ARG_0_'",
                "defaultMessage": "Ensure that 'Number of methods required to reset' is set to '_ARG_0_'"
            },
            "properties": {
                "resourceName": null,
                "resourceId": null,
                "resourceType": null
            },
            "onlyStatus": false
        }
    },
    "idSuffix": "eid_sspr_auth_methods_not_enforced",
    "notes": [],
    "categories": [],
    "immutable_properties": [],
    "id": "entraid_sspr_001"
}