More Info:

This rule identifies IAM roles that do not require multi-factor authentication (MFA) or external ID for assumed roles. Roles without MFA or external ID can pose security risks, as they may allow unauthorized access or increase the attack surface for potential breaches. Enforcing MFA and external ID requirements adds an additional layer of security to IAM roles and helps prevent unauthorized access.

Risk Level

High

Address

Security

Compliance Standards

CBP

Triage and Remediation

How to Prevent

To prevent the misconfiguration where the root account should have Multi-Factor Authentication (MFA) and an external ID set in AWS Identity and Access Management (IAM) using the AWS Management Console, follow these steps:

  1. Enable MFA for the Root Account:

    • Sign in to the AWS Management Console using your root account credentials.
    • Navigate to the IAM dashboard.
    • In the left navigation pane, select Dashboard.
    • Under Security Status, find the section labeled Activate MFA on your root account and click on Manage MFA.
    • Follow the on-screen instructions to enable MFA for the root account. You can choose between a virtual MFA device, a U2F security key, or other supported MFA devices.
  2. Create an External ID for Cross-Account Access:

    • Go to the IAM dashboard.
    • In the left navigation pane, select Roles.
    • Click on Create role.
    • Select Another AWS account as the type of trusted entity.
    • Enter the Account ID of the external account that will assume this role.
    • In the Options section, enter a unique External ID. This ID should be shared with the external account that will assume the role.
    • Click Next: Permissions to attach the necessary policies and complete the role creation process.
  3. Review and Update IAM Policies:

    • In the IAM dashboard, navigate to Policies in the left navigation pane.
    • Review existing policies to ensure they do not grant excessive permissions to the root account.
    • Update policies as necessary to follow the principle of least privilege.
  4. Monitor and Audit IAM Activities:

    • Enable AWS CloudTrail to log all API calls made in your AWS account.
    • Regularly review CloudTrail logs to monitor activities performed by the root account.
    • Set up AWS Config rules to continuously monitor and alert on any changes to the root account’s MFA status or IAM roles.

By following these steps, you can ensure that the root account in your AWS environment is secured with MFA and that an external ID is set for cross-account access, thereby reducing the risk of unauthorized access.