Control: 1.10 Ensure multi-factor authentication (MFA) is enabled for all IAM users that have a console password
Description
Multi-Factor Authentication (MFA) adds an extra layer of authentication assurance beyond traditional credentials. With MFA enabled, when a user signs in to the AWS Console, they will be prompted for their user name and password as well as for an authentication code from their physical or virtual MFA token. It is recommended that MFA be enabled for all accounts that have a console password.
Enabling MFA provides increased security for console access as it requires the authenticating principal to possess a device that displays a time-sensitive key and have knowledge of a credential.
Remediation
Perform the following to enable MFA:
From Console:
- Sign in to the AWS Management Console and open the IAM console at 'https://console.aws.amazon.com/iam/'.
- In the left pane, select
Users
. - In the
User Name
list, choose the name of the intended MFA user. - Choose the
Security Credentials
tab, and then chooseManage MFA Device
. - In the
Manage MFA Device wizard
, chooseVirtual MFA
device, and then chooseContinue
.
IAM generates and displays configuration information for the virtual MFA device, including a QR code graphic. The graphic is a representation of the 'secret configuration key' that is available for manual entry on devices that do not support QR codes.
- Open your virtual MFA application. (For a list of apps that you can use for hosting virtual MFA devices, see Virtual MFA Applications at https://aws.amazon.com/iam/details/mfa/#Virtual_MFA_Applications). If the virtual MFA application supports multiple accounts (multiple virtual MFA devices), choose the option to create a new account (a new virtual MFA device).
- Determine whether the MFA app supports QR codes, and then do one of the following:
- Use the app to scan the QR code. For example, you might choose the camera icon or choose an option similar to Scan code, and then use the device's camera to scan the code.
- In the Manage MFA Device wizard, choose Show secret key for manual configuration, and then type the secret configuration key into your MFA application.
When you are finished, the virtual MFA device starts generating one-time passwords.
- In the
Manage MFA Device wizard
, in theMFA Code 1 box
, type theone-time password
that currently appears in the virtual MFA device. Wait up to 30 seconds for the device to generate a newone-time password
. Then type the second one- time password into theMFA Code 2 box
. - Click
Assign MFA
.
Usage
Run the control in your terminal:
powerpipe control run aws_compliance.control.cis_v200_1_10
Snapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run aws_compliance.control.cis_v200_1_10 --share
SQL
This control uses a named query:
iam_user_console_access_mfa_enabled