Control: 1.2.6 Ensure Multi-factor Authentication is Required for Azure Management
Description
For designated users, they will be prompted to use their multi-factor authentication (MFA) process on logins.
Enabling multi-factor authentication is a recommended setting to limit the use of Administrative actions and to prevent intruders from changing settings.
Remediation
From Azure Portal
- From Azure Home select the Portal Menu and select
Azure Active Directory. - Select
Security. - Select
Conditional Access. - Click
+ New policy. - Enter a name for the policy.
- Select
Users or workload identities. - Under
Include, selectAll users. - Under
Exclude, checkUsers and groups. - Select users this policy should not apply to and click
Select. - Select
Cloud apps or actions. - Select
Select apps. - Check the box next to
Microsoft Azure Managementand clickSelect. - Select
Grant. - Under
Grant access, checkRequire multifactor authenticationand clickSelect. - Set
Enable policytoReport-only. - Click
Create.
After testing the policy in report-only mode, update the Enable policy setting from Report-only to On.
Default Value
MFA is not enabled by default for administrative actions.
Usage
Run the control in your terminal:
powerpipe control run azure_compliance.control.cis_v200_1_2_6Snapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run azure_compliance.control.cis_v200_1_2_6 --shareSQL
This control uses a named query:
with distinct_tenant as ( select distinct tenant_id, subscription_id, _ctx from azure_tenant)select p.id as resource, case when p.built_in_controls @> '["mfa"]' then 'ok' else 'alarm' end as status, case when p.built_in_controls @> '["mfa"]' then p.display_name || ' MFA enabled.' else p.display_name || ' MFA disabled.' end as reason, t.tenant_id from distinct_tenant as t, azuread_conditional_access_policy as p;