Multi-Factor Authentication (MFA) helps to protect your AWS resources. You can enable MFA for IAM users or the AWS account root user. When you enable MFA for the root user, it affects only the root user credentials and does not affect the IAM user, IAM users contain their own credentials means each identity has its own MFA configuration. This Multi-Factor Authentication works as an extra layer of protection on top of a user name and password and we know that the root account is the most privileged user in an AWS account. This extra layer protection 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.
Note: When virtual MFA is used for root accounts, it is recommended that the device used is NOT a personal device, but rather a dedicated mobile device(tablet or phone) that is managed to be kept charged and secured independently of any individual personal devices. (“non-personal virtual MFA”) This lessens the risks of losing access to the MFA due to device loss, device trade-in, or if the individual owning the device is no longer employed at the company.
A hardware MFA has a smaller attack surface than a virtual MFA. e.g., a hardware MFA does not suffer the attack surface introduced by the mobile smartphone on which a virtual MFA resides. It increases security which helps to protect AWS resources, it requires the authenticating principal to possess a device that emits a time-sensitive key and have knowledge of credential.
Note: Using hardware MFA for many AWS accounts may create a logistical device management issue. If this is the case, consider implementing this Level 2 recommendation selectively to the highest security AWS accounts and the Level 1 recommendation applied to the remaining accounts.
The root account is protected with a Level 2 hardware MFA, Hardware MFA devices entail additional fees. Hardware MFA devices have fewer potential points of vulnerability than virtual MFA devices and make your root user account more secure.
By default, MFA is not activated for any users if you want to activate MFA for the root user you need to login into the root user account.
Perform the following to determine if the root account has an MFA setup:
Using AWS CLI:
Perform the following to determine if the root account has a hardware MFA setup
If your AWS account root user MFA device is lost, damaged, or not working, you can recover access to your account by following the below steps.
Recovering a root user MFA device:
- Sign in to the AWS Management Console ( https://console.aws.amazon.com/console/home?nc2=h_ct&src=header-signin ) and select root user and entering your AWS account email address. On the next page, fill in the captcha and then enter the password after the captcha page.
- Click on Troubleshoot MFA
- In the Troubleshoot your authentication device page you click on Sign in using alternative factors
- To authenticate your account by verifying the email address, and click on Send verification email.
- Check the email that is associated with your AWS account for a message from AWS([email protected]). Follow the direction in the email.
If you don’t see the email in your account, check your spam folder, or return to your browser and choose to resend the email
After verifying your phone number, you can sign in to your account by choosing Sign in to the console.
The next step varies depending on the type of MFA you are using:
- For a virtual MFA device, remove the account from your device. Then go to the AWS Security Credentials( https://console.aws.amazon.com/console/home?nc2=h_ct&src=header-signin) page and delete the old MFA virtual device.
- For the U2F security key, go to the AWS Security Credentials( https://console.aws.amazon.com/console/home?nc2=h_ct&src=header-signin) page and deactivate the old U2F.
- For a hardware MFA device, go to the AWS Security Credentials page and delete the old MFA hardware device entity