AWS根用户MFA怎么设置?新账号安全教程
拿到AWS新账户后,第一件事就是保护好根用户的安全。多重身份验证(MFA)是AWS官方强烈推荐的做法,它能在密码泄露时给你的账户加上第二道锁。这篇文章就来详细讲讲怎么给根用户设置MFA,以及为什么这一步必须做。
为什么新账户必须启用MFA
根用户几乎拥有账户的所有权限------修改账单设置、删除所有资源、改安全凭证,什么都能做。一旦根用户密码被盗,攻击者就能完全控制你的账户和所有AWS资源。
启用MFA之后就不一样了。即使密码泄露了,攻击者还得同时拿到你的认证器设备才行。事实上AWS已经开始对一些账户强制要求根用户MFA------新创建的管理账户必须在35天内注册MFA,否则就无法进控制台。
MFA的三种方案对比
AWS给根用户提供了好几种MFA选项,各有各的优缺点。
虚拟身份验证器应用最方便。这类应用用的是基于时间的一次性密码算法,比如Google Authenticator、Microsoft Authenticator、Twilio Authy这些都可以。好处是成本低、装起来快,缺点是手机一旦丢了或坏了,可能一时半会儿恢复不了账户访问。
安全密钥(比如YubiKey)是物理设备,基于FIDO标准提供最高的安全级别。这东西能挡住网络钓鱼、中间人攻击和重放攻击,还支持指纹或面部识别解锁。AWS目前给符合条件的美国账户所有者免费提供MFA安全密钥,但其他地区得自己买,一般要100到200块钱人民币。
同步通行密钥用的是Google、Apple、Microsoft等服务提供的凭证管理器。优势是能跨设备同步,设备丢了的时候也更容易恢复,但还是得依赖这些第三方服务。
对于新手来说,我的建议是先用虚拟身份验证器快速启用MFA获得基本保护,之后如果需要更高的安全级别再升级到安全密钥。
使用虚拟身份验证器设置MFA的完整步骤
第一步:准备认证器应用
先在手机上装一个支持TOTP的身份验证应用。常见的选择有:
- Android系统:Google Authenticator、Microsoft Authenticator、Twilio Authy
- iOS系统:Twilio Authy、Duo Mobile、Microsoft Authenticator、Google Authenticator
选一个就行,都是免费的。
第二步:登录AWS根用户账户
用注册时的邮箱和密码登录AWS管理控制台。登录页面选择"根用户"选项卡,输入邮箱地址,然后在下一步输入密码就能登进去。这时候还没设MFA呢,所以密码输对了就直接进去了。
第三步:进入安全凭证页面
登进去以后,在右上角找到账户名的下拉菜单,点"安全凭证"(Security Credentials)。这个页面就是所有账户安全设置的地方。
第四步:分配MFA设备
向下翻,找到"多重身份验证(MFA)"这一块。如果是第一次设置,会看到一个按钮,写着"分配MFA设备"或"添加MFA"。点进去就进入MFA配置向导了。
第五步:命名MFA设备并选择类型
向导会让你给设备起个名字,用来区分多台MFA设备(AWS根用户最多能注册8台)。比如可以叫"我的iPhone"或"备用认证器"之类的。
然后选择MFA类型。用虚拟身份验证器的话,就选"身份验证器应用程序 "或"Authenticator App ",点"下一步"。
第六步:扫描二维码或手动输入密钥
向导会生成一个二维码和对应的密钥(私钥)。建议优先用扫描二维码的方式:
- 在向导页面选"显示QR代码"(Show QR code)
- 打开手机上装好的身份验证应用
- 在应用里选"添加账户"或"扫描二维码"(通常是个"+"或相机图标)
- 用手机相机对准屏幕上的二维码扫描
要是扫不了二维码,可以选"显示私有密钥"(Show secret key),把这串密钥手动输进认证器应用。输完以后,应用就会显示这个账户对应的6位数验证码。
这一点很重要:把这个二维码或密钥保存好。建议截个图或抄下来存在安全的地方(比如密码管理器),这样要是原来的认证器应用用不了了,你还能用密钥快速恢复访问。但千万别把它分享给别人或上传到网上。
第七步:输入两组验证码完成验证
向导里会看到两个输入框:MFA代码1 和MFA代码2。认证器应用里的验证码每30秒刷新一次。
- 在MFA代码1框里输入认证器应用当前显示的6位验证码
- 等差不多30秒,让应用生成新验证码
- 在MFA代码2框里输入新验证码
- 点"添加MFA"或"Assign MFA"按钮
两个验证码都对的话,MFA设备就成功分配到你的根用户账户了。页面会显示确认信息,通常还会列出已激活的MFA设备。
验证MFA是否生效
设置完了以后,建议马上验证MFA是不是真的生效了:
- 退出AWS管理控制台(可以先在无痕窗口验证,方便快速恢复)
- 重新访问AWS登录页面
- 输入根用户邮箱和密码
- 系统会弹出新页面要求输入MFA验证码
- 打开认证器应用,输入当前显示的6位验证码
- 成功登进去
能正常登进去就说明MFA已经生效了。从现在起,每次根用户登录都要提供MFA验证码。
常见问题与应对方案
认证器应用丢了或手机坏了怎么办?
AWS有恢复机制。只要你还能访问注册时的邮箱和关联的电话号码,就能这样恢复账户访问:
- 在登录页面选"根用户"并输入邮箱地址
- 输入密码后,在MFA验证码界面选"排除身份验证设备故障"(Troubleshoot MFA device)
- 选"使用备用因素登录"(Sign in using alternative factors)
- AWS会通过邮箱和电话号码验证你的身份
- 验证通过了,进入安全凭证页面,把旧的MFA设备停用,添加新的
这也是为什么AWS一开始就强烈建议账户创建时要确保邮箱和电话号码信息正确。
能不能给根用户添加多台MFA设备?
完全可以。AWS允许根用户最多注册8台MFA设备,虚拟认证器、安全密钥任意组合都行。添加多台设备的好处是提高可用性和容错能力------一台设备丢了,还能用其他设备登进去。
添加第二台MFA设备的步骤跟第一次差不多,直接在安全凭证页面选"分配MFA设备"即可。登录时只要用任意一台已注册的MFA设备验证就行。
根用户MFA和IAM用户MFA是一回事吗?
不是。根用户和IAM用户是完全独立的身份,各自有各自的MFA设置。启用根用户MFA不会自动给IAM用户启用MFA,反之亦然。每个IAM用户得单独配置自己的MFA。
这一点很关键------不少人以为只要保护好根用户就够了,但要是企业内部有多个IAM用户进行日常操作,这些用户账户同样应该启用MFA。
设置后的安全建议
MFA启用以后,可以配合下面这些措施进一步加强账户安全:
尽量不用根用户日常操作。根用户权限太大,风险也就越大。AWS建议除了初始账户设置、改账单设置这些必要操作外,日常工作应该用IAM用户账户。这样即使IAM用户凭证泄露了,攻击者的权限也会受限。
定期审查安全凭证。在安全凭证页面检查一下是不是有陌生的访问密钥(Access Keys)或MFA设备,及时删除可疑的凭证。
启用CloudTrail日志。这个服务会记录账户里的所有操作,包括失败的登录尝试。通过看这些日志,能尽早发现异常活动。
考虑升级到安全密钥。虚拟认证器用着方便,但安全性相对一般。要是账户里有关键业务系统,建议用物理安全密钥作为补充。
根用户MFA设置完成以后,你的AWS账户就有了基础的安全保护。这一个简单的步骤能显著降低账户被未授权访问的风险,是新账户上线时必做的第一步。