|
| 1 | +{ |
| 2 | + "Provider": "azure", |
| 3 | + "CheckID": "entra_conditional_access_policy_require_mfa_for_admin_portals", |
| 4 | + "CheckTitle": "Conditional Access policy requires MFA for Microsoft Admin Portals", |
| 5 | + "CheckType": [], |
| 6 | + "ServiceName": "entra", |
| 7 | + "SubServiceName": "", |
| 8 | + "ResourceIdTemplate": "", |
| 9 | + "Severity": "medium", |
| 10 | + "ResourceType": "NotDefined", |
| 11 | + "ResourceGroup": "IAM", |
| 12 | + "Description": "**Microsoft Entra Conditional Access** is evaluated for a policy that requires **multifactor authentication** when accessing **Microsoft Admin Portals** (Microsoft 365 Admin Center, Microsoft Entra Admin Center, Microsoft Exchange Admin Center, etc.). The check confirms an enabled policy targets **All users**, includes the Microsoft Admin Portals app, and enforces an **MFA** grant control.", |
| 13 | + "Risk": "Without **MFA** on admin portals, attackers with stolen credentials can access **Microsoft 365 Admin Center**, **Entra Admin Center**, or **Exchange Admin Center** to modify tenant settings, escalate privileges, and exfiltrate data. This directly impacts **confidentiality**, **integrity**, and **availability** of all services managed through those portals.", |
| 14 | + "RelatedUrl": "", |
| 15 | + "AdditionalURLs": [ |
| 16 | + "https://learn.microsoft.com/en-us/entra/identity/conditional-access/how-to-policy-mfa-admin-portals", |
| 17 | + "https://learn.microsoft.com/en-us/entra/identity/conditional-access/concept-conditional-access-cloud-apps" |
| 18 | + ], |
| 19 | + "Remediation": { |
| 20 | + "Code": { |
| 21 | + "CLI": "", |
| 22 | + "NativeIaC": "", |
| 23 | + "Other": "1. Sign in to the Microsoft Entra admin center\n2. Go to Protection > Conditional Access > Policies\n3. Click + New policy and enter a name\n4. Under Users > Include, select All users\n5. Under Exclude, check Users and groups and select break-glass / non-interactive service accounts\n6. Under Target resources > Include, click Select apps, then select Microsoft Admin Portals\n7. Under Grant, select Grant access and check Require multifactor authentication\n8. Set Enable policy to Report-only, click Create\n9. After testing, change Enable policy from Report-only to On", |
| 24 | + "Terraform": "```hcl\nresource \"azuread_conditional_access_policy\" \"<example_resource_name>\" {\n display_name = \"<example_resource_name>\"\n state = \"enabled\"\n\n conditions {\n users {\n included_users = [\"All\"]\n excluded_users = [\"<break_glass_account_id>\"]\n }\n applications {\n included_applications = [\"MicrosoftAdminPortals\"] # Critical: Microsoft Admin Portals\n }\n }\n\n grant_controls {\n operator = \"OR\"\n built_in_controls = [\"mfa\"] # Critical: requires MFA\n }\n}\n```" |
| 25 | + }, |
| 26 | + "Recommendation": { |
| 27 | + "Text": "Create a **Conditional Access policy** that requires **MFA** for the **Microsoft Admin Portals** app targeting **All users**. Exclude only **break-glass** emergency accounts and non-interactive service principals. Test in **Report-only** mode before enforcing. Prefer **phishing-resistant** MFA methods (FIDO2, passkeys) and apply **least privilege** principles.", |
| 28 | + "Url": "https://hub.prowler.com/check/entra_conditional_access_policy_require_mfa_for_admin_portals" |
| 29 | + } |
| 30 | + }, |
| 31 | + "Categories": [ |
| 32 | + "identity-access", |
| 33 | + "e3" |
| 34 | + ], |
| 35 | + "DependsOn": [], |
| 36 | + "RelatedTo": [], |
| 37 | + "Notes": "Conditional Access policies require Microsoft Entra ID P1 or P2 licenses. Similarly, they may require additional overhead to maintain if users lose access to their MFA. Any users or groups which are granted an exception to this policy should be carefully tracked, be granted only minimal necessary privileges, and conditional access exceptions should be regularly reviewed or investigated." |
| 38 | +} |
0 commit comments