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.
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​
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-teamPipe the
search
command into thedump
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: 2mo28dThe command output will list the details of all non-compliant
aws_root_user
resources.Fix detected issues by following the remediation steps:
- Go to IAM console.
- Navigate to Dashboard.
- Activate MFA on your root account.
notePlease refer to the AWS IAM documentation for details.