Ensure hardware MFA is enabled for the 'root' user account

The 'root' user 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' user account be protected with a hardware MFA.

Risk Level: Critical
Cloud Entity: IAM User
CloudGuard Rule ID: D9.AWS.IAM.19
Covered by Spectral: No
Category: Security, Identity, & Compliance

GSL LOGIC

IamUser where name like '%root_account%' should have mfaType in('Hardware')

REMEDIATION

From Portal
Note: to manage MFA devices for the root AWS account, you must use your root account credentials to sign in to AWS. You cannot manage MFA devices for the root account using other credentials.

  1. Login to AWS Management Console and open the IAM console at https://console.aws.amazon.com/iam/
  2. Choose Dashboard, and under Security Status, expand Activate MFA on your root account
  3. Choose Activate MFA
  4. In the wizard, choose A hardware MFA device and then choose Next Step
  5. In the Serial Number box, enter the serial number that is found on the back of the MFA device
  6. In the Authentication Code 1 box, enter the six-digit number displayed by the MFA device. You might need to press the button on the front of the device to display the number
  7. Wait 30 seconds while the device refreshes the code, and then enter the next six-digit number into the Authentication Code 2 box. You might need to press the button on the front of the device again to display the second number
  8. Choose Next Step. The MFA device is now associated with the AWS account. The next time you use your AWS account credentials to sign in, you must type a code from the hardware MFA device.

References

  1. https://workbench.cisecurity.org/sections/844438/recommendations/1387864
  2. https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_enable_virtual.html
  3. https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_enable_physical.html#enable-hw-mfa-for-root

IAM User

An IAM user is an entity that you create in AWS to represent the person or service that uses it to interact with AWS. A user in AWS consists of a name and credentials.

Compliance Frameworks

  • AWS CIS Foundations v. 1.4.0
  • AWS CIS Foundations v. 1.5.0
  • AWS CloudGuard Best Practices
  • CloudGuard AWS All Rules Ruleset