Skip to main content
Version: 3.2.6

How to Find AWS IAM hardware MFA is not enabled for the root account

Problem

The root account is the most privileged user in an AWS account. MFA adds an extra layer of protection on top of a user name and password. With MFA enabled when a user signs in to an AWS website they will be prompted for their user name and password as well as for an authentication code from their AWS MFA device. For Level 2 it is recommended that the root account be protected with a hardware MFA./ trade-in or if the individual owning the device is no longer employed at the company.

info

This security check is part of the CIS Amazon Web Services Benchmarks and is rated severity critical.

Prerequisites

This guide assumes that you have already installed and configured Resoto to collect your AWS cloud resources.

Directions

  1. Execute the following search command in Resoto Shell or Resoto UI:

    > search is(aws_root_user) and user_virtual_mfa_devices!=null and user_virtual_mfa_devices!=[]
    ​kind=aws_root_user, ..., region=resoto-poweruser
    ​kind=aws_root_user, ..., account=poweruser-team
  2. Pipe the search command into the dump command:

    > search is(aws_root_user) and user_virtual_mfa_devices!=null and user_virtual_mfa_devices!=[] | dump
    ​reported:
    ​ id: /aws/iam/123
    ​ name: some-name
    ​ ctime: '2022-12-05T22:53:14Z'
    ​ kind: aws_root_user
    ​ age: 2mo28d

    The command output will list the details of all non-compliant aws_root_user resources.

  3. Fix detected issues by following the remediation steps:

    • Go to IAM console.
    • Navigate to Dashboard.
    • Activate MFA on your root account.
    note

    Please refer to the AWS IAM documentation for details.

Further Reading