SEC02-BP01 使用强大的登录机制
当不使用多重身份验证(MFA)等机制时,登录(使用登录凭证的身份验证)可能会带来风险,特别是在登录凭证被无意泄露或很容易猜到的情况下。使用强大的登录机制,通过要求使用 MFA 和强密码策略来降低这些风险。
期望结果:通过为 AWS Identity and Access Management(IAM)
常见反模式:
-
没有为身份执行强密码策略,包括复杂密码和 MFA。
-
在不同的用户之间共享相同的凭证。
-
不对可疑的登录使用检测性控制。
在未建立这种最佳实践的情况下暴露的风险等级:高
实施指导
有几种方法可以让人员身份登录到 AWS。在向 AWS 进行身份验证时,AWS 最佳做法是依赖于使用联合身份验证的集中式身份提供者(AWS IAM 和集中式 IdP 之间的直接 SAML 2.0 联合身份验证,或使用 AWS IAM Identity Center)。在这种情况下,请与身份提供者或 Microsoft Active Directory 建立安全登录过程。
第一次开设 AWS 账户时,您会从 AWS 账户根用户开始。您应仅使用账户根用户为用户(以及为需要根用户的任务)设置访问权限。在开设 AWS 账户后立即为账户根用户开启多重身份验证(MFA),并使用 AWS 最佳实践指南来保护根用户的安全,这一点至关重要。
AWS IAM Identity Center 专为员工用户设计,您可以在服务中创建和管理用户身份,并使用 MFA 保护登录流程。另一方面,AWSCognito 专为客户身份和访问管理(CIAM)而设计,它为应用程序中的外部用户身份提供用户池和身份提供者。
如果您在 AWS IAM Identity Center 中创建用户,请确保该服务中的登录过程安全,并开启 MFA。对于应用程序中的外部用户身份,可以使用 Amazon Cognito 用户池并确保该服务中的登录过程安全,也可以通过 Amazon Cognito 用户池中支持的身份提供者之一进行登录。
此外,对于 AWS IAM Identity Center 中的用户,可以使用 AWS Verified Access,通过在向他们授予访问 AWS 资源的权限之前验证用户的身份和设备状态,来提供一层额外的安全性。
如果您使用的是 AWS Identity and Access Management(IAM)
可以同时使用 AWS IAM Identity Center 和直接 IAM 联合身份验证来管理对 AWS 的访问权限。可以使用 IAM 联合身份验证来管理对 AWS Management Console和服务的访问权限,并使用 IAM Identity Center 来管理对诸如 Amazon QuickSight 或 Amazon Q 企业版等业务应用程序的访问权限。
无论采用何种登录方法,执行强登录策略都非常关键。
实施步骤
以下是一般的强登录建议。应根据公司策略或使用 NIST 800-63
-
需要 MFA。对于人员身份和工作负载,要求使用 MFA 是 IAM 最佳实践。启用 MFA 提供了一层额外的安全保障,这会要求用户提供登录凭证和一次性密码(OTP),或从硬件设备加密验证和生成的字符串。
-
强制执行最小密码长度,这是密码强度的主要因素。
-
强制执行密码复杂性,使密码更难以猜到。
-
允许用户更改其密码。
-
创建个人身份而不是共享凭证。通过创建个人身份,您可以为每个用户提供一组唯一的安全凭证。个人用户可以审计每个用户的活动。
IAM Identity Center 建议:
-
IAM Identity Center 在使用默认目录时提供了预定义的密码策略,该策略确定了密码长度、复杂性和重用要求。
-
当身份源为默认目录、AWS Managed Microsoft AD 或 AD Connector 时,启用 MFA 并为 MFA 配置“上下文感知”或“始终开启”设置。
-
允许用户注册自己的 MFA 设备。
Amazon Cognito 用户池目录建议:
IAM 用户建议:
-
最好是使用 IAM Identity Center 或直接联合。不过,您可能需要 IAM 用户。在这种情况下,为 IAM 用户设置密码策略。您可以使用密码策略来定义诸如最小长度、密码是否需要非字母字符之类的要求。
-
创建 IAM 策略来强制执行 MFA 登录,允许用户管理自己的密码和 MFA 设备。
资源
相关最佳实践:
相关文档:
相关视频: