How to Secure Your AWS Account with Multi-Factor Authentication (MFA)

Listen to this Post

Multi-Factor Authentication (MFA) is a critical security measure for AWS users, ensuring that even if credentials are compromised, unauthorized access is blocked. MFA combines multiple verification methods, such as passwords, biometrics, or one-time codes, to enhance security.

You Should Know:

1. Enabling MFA on AWS Root Account

To enable MFA for your AWS root account:

1. Log in to the AWS Management Console.

2. Navigate to IAM (Identity and Access Management).

3. Under Security Status, select Activate MFA.

  1. Choose a virtual (Google Authenticator, Authy) or hardware MFA device.

5. Follow the setup instructions to complete activation.

Command to enforce MFA via AWS CLI:

aws iam create-virtual-mfa-device --virtual-mfa-device-name MyMFADevice --outfile QRCode.png --bootstrap-method QRCodePNG

2. Enforcing MFA for IAM Users

To require MFA for IAM users, attach an IAM policy:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": "",
"Resource": "",
"Condition": {
"BoolIfExists": {
"aws:MultiFactorAuthPresent": "false"
}
}
}
]
}

3. Securing AWS CLI with MFA

For CLI sessions, use `aws sts get-session-token` with MFA:

aws sts get-session-token --serial-number arn:aws:iam::123456789012:mfa/user --token-code 123456

Set temporary credentials in your environment:

export AWS_ACCESS_KEY_ID=ASIA...
export AWS_SECRET_ACCESS_KEY=...
export AWS_SESSION_TOKEN=...

4. Automating MFA Enforcement in AWS Organizations

Use AWS Organizations SCPs (Service Control Policies) to enforce MFA across all accounts:

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "RequireMFAAuth",
"Effect": "Deny",
"Action": "",
"Resource": "",
"Condition": {
"BoolIfExists": {
"aws:MultiFactorAuthPresent": "false"
}
}
}
]
}
  1. Linux & Windows Security Commands for MFA Integration
    • Linux (Google Authenticator Setup):
      sudo apt install libpam-google-authenticator
      google-authenticator
      

Edit `/etc/pam.d/sshd` to enforce MFA for SSH:

auth required pam_google_authenticator.so
  • Windows (MFA for RDP):
    Use Azure MFA or Duo Security for Remote Desktop access.

What Undercode Say:

MFA is a non-negotiable security layer in AWS and IT infrastructure. Beyond AWS, enforce MFA for SSH, VPN, and critical system access. Use fail2ban to block brute-force attempts and AWS Config to monitor MFA compliance.

Expected Output:

  • AWS root account secured with MFA.
  • IAM users restricted without MFA.
  • CLI sessions require MFA tokens.
  • Linux SSH access protected via Google Authenticator.
  • Automated enforcement via AWS Organizations SCPs.

Useful URLs:

References:

Reported By: Riyazsayyad Most – Hackers Feeds
Extra Hub: Undercode MoN
Basic Verification: Pass ✅

Join Our Cyber World:

💬 Whatsapp | 💬 TelegramFeatured Image