Site logo

AWS IAM MFA: Bảo vệ tài khoản với Multi‑Factor Authentication (TOTP, FIDO2) và best practices

5:00 read

Bật và bắt buộc MFA (Multi‑Factor Authentication) là lớp phòng thủ quan trọng nhất để bảo vệ tài khoản AWS khỏi truy cập trái phép. Bài viết này trình bày khái niệm MFA, các loại MFA AWS hỗ trợ, hướng dẫn chi tiết bật MFA cho Root và IAM users, cách enforce bắt buộc MFA bằng IAM Policy, ví dụ CLI/STS cho API access, so sánh Virtual MFA với FIDO2, cùng các best practices và xử lý sự cố.

MFA là gì và vì sao cần trên AWS?

  • MFA = “điều bạn biết” (password) + “điều bạn sở hữu” (thiết bị tạo mã/khóa bảo mật).
  • Khi bật MFA, kẻ tấn công sẽ không thể đăng nhập chỉ với password bị rò rỉ.
  • Trên AWS, MFA giúp bảo vệ: Management Console, API access (thông qua temporary credentials với STS), các thao tác nhạy cảm (xóa tài nguyên, thay đổi cấu hình bảo mật…).

Lợi ích chính

  • Giảm thiểu rủi ro lộ mật khẩu, credential stuffing, phishing.
  • Nâng mức tuân thủ (CIS AWS Foundations, ISO 27001, SOC 2…).
  • Nâng cao kỷ luật bảo mật DevSecOps, đặc biệt với tài khoản có quyền cao.

Nên bật MFA cho ai?

  • Bắt buộc cho Root account (tài khoản gốc).
  • Tất cả IAM users có quyền truy cập production, quyền quản trị, hoặc dữ liệu quan trọng.
  • Khuyến nghị: xem xét chuyển sang AWS IAM Identity Center (AWS SSO) để quản trị người dùng tập trung và MFA nhất quán trong tổ chức.

AWS hỗ trợ những loại MFA nào?

  • Virtual MFA (TOTP application): Google Authenticator, Authy, 1Password, Microsoft Authenticator…
  • Security key (FIDO2/WebAuthn, U2F): YubiKey, Feitian… — ưu thế chống phishing ở mức giao thức.
  • Hardware TOTP token: thiết bị phần cứng tạo mã TOTP chuyên dụng.
  • Lưu ý: SMS‑based codes không được khuyến nghị về bảo mật và không hỗ trợ cho IAM users.

So sánh nhanh các lựa chọn MFA trên AWS

Tiêu chí Virtual MFA (TOTP App) FIDO2/WebAuthn Security Key Hardware TOTP Token
Mức bảo mật Cao Rất cao (chống phishing tốt) Cao
Trải nghiệm Tiện lợi trên điện thoại Cắm/chạm key, rất nhanh Thiết bị riêng, đơn giản
Chi phí Thấp/miễn phí Trung bình/Cao (mua key) Trung bình
Offline
Dùng cho Console
Hỗ trợ cho CLI (IAM user) Dùng với STS GetSessionToken Dùng tốt qua SSO; với IAM user CLI không nhận mã từ FIDO2 trực tiếp Dùng với STS GetSessionToken
Phù hợp Cá nhân/nhóm nhỏ Doanh nghiệp, chống phishing Môi trường kiểm soát chặt

Yêu cầu đăng nhập

Vui lòng đăng nhập để truy cập nội dung này

Additional Resources

Course Guide

Comprehensive PDF guide with examples

GitHub Repository

Example code for all lessons

Discussion

Have a question about this lesson? Post it here and get answers from instructors and peers.