适用于 Amazon Cognito 的 Security Hub 控件
这些 Amazon Security Hub CSPM 控件评估 Amazon Cognito 服务和资源。控件可能并非在所有 Amazon Web Services 区域都可用。有关更多信息,请参阅 按地区划分的控件可用性。
[Cognito.1] Cognito 用户池应激活威胁防护,并采用完全功能强制模式进行标准身份验证
类别:保护 > 安全访问管理
严重性:中
资源类型:AWS::Cognito::UserPool
Amazon Config 规则: cognito-user-pool-advanced-security-enabled
计划类型:已触发变更
参数:
| 参数 | 描述 | 类型 | 允许的自定义值 | Security Hub 默认值 |
|---|---|---|---|---|
|
|
控件检查的威胁防护强制模式。 |
字符串 |
|
|
此控件检查 Amazon Cognito 用户池是否已激活威胁防护,并将强制模式设置为采用全功能进行标准身份验证。如果用户池已停用威胁防护,或者强制模式未设置为采用全功能进行标准身份验证,则该控件会失败。除非您提供自定义参数值,否则 Security Hub 将强制模式的默认值 ENFORCED 设置为采用全功能进行标准身份验证。
创建 Amazon Cognito 用户池后,您可以激活威胁防护并自定义针对不同风险采取的操作。或者,您可以使用审计模式收集与检测到的风险相关的指标,而无需应用任何安全缓解措施。在审计模式下,威胁防护将指标发布到 Amazon CloudWatch。在 Amazon Cognito 生成其第一个事件后,您即可看到指标。
修复
有关为 Amazon Cognito 用户池激活威胁防护的信息,请参阅《Amazon Cognito 开发人员指南》中的 Advanced security with threat protection。
[Cognito.2] Cognito 身份池不应允许未经身份验证的身份
类别:保护 > 安全访问管理 > 无密码身份验证
严重性:中
资源类型:AWS::Cognito::IdentityPool
Amazon Config 规则: cognito-identity-pool-unauth-access-check
计划类型:已触发变更
参数:无
此控件检查 Amazon Cognito 身份池是否配置为允许未经身份验证的身份。如果激活身份池的访客访问权限(AllowUnauthenticatedIdentities 参数设置为 true),则该控件会失败。
如果 Amazon Cognito 身份池允许未经身份验证的身份,则该身份池将向尚未通过身份提供者进行身份验证的用户(访客)提供临时 Amazon 凭证。这会带来安全风险,因为它允许匿名访问 Amazon 资源。如果停用访客访问权限,则可以帮助确保只有经过适当身份验证的用户才能访问您的 Amazon 资源,从而降低未经授权访问和潜在安全违规的风险。作为最佳实践,身份池应要求通过支持的身份提供者进行身份验证。如果需要未经身份验证的访问,请务必谨慎限制未经身份验证的身份的权限,并定期审查和监控其使用情况。
修复
有关停用 Amazon Cognito 身份池的访客访问权限的信息,请参阅《Amazon Cognito 开发人员指南》中的 Activate or deactivate guest access。
[Cognito.3] Cognito 用户池的密码策略应具有可靠的配置
类别:保护 > 安全访问管理
严重性:中
资源类型:AWS::Cognito::UserPool
Amazon Config 规则: cognito-user-pool-password-policy-check
计划类型:已触发变更
参数:
| 参数 | 描述 | 类型 | 允许的自定义值 | Security Hub 默认值 |
|---|---|---|---|---|
|
|
密码必须包含的最少字符数。 | 整数 |
|
|
|
|
密码中要求至少包含一个小写字符。 | 布尔值 |
|
|
|
|
密码中要求至少包含一个大写字符。 | 布尔值 |
|
|
|
|
密码中要求至少包含一个数字。 | 布尔值 |
|
|
|
|
密码中要求至少包含一个符号。 | 布尔值 |
|
|
|
|
密码过期前可以存在的最长天数。 | 整数 |
|
|
此控件根据密码策略的推荐设置,检查 Amazon Cognito 用户池的密码策略是否要求使用强密码。如果用户池的密码策略不要求使用强密码,则此控件会失败。您可以选择为控件检查的策略设置指定自定义值。
强密码是 Amazon Cognito 用户池的一项安全最佳实践。弱密码可以将用户的凭证暴露给会猜测密码并尝试访问数据的系统。对于向互联网开放的应用程序来说尤其如此。密码策略是用户目录安全的核心要素。通过使用密码策略,您可以配置用户池,使其要求密码复杂度和其他符合您的安全标准和要求的设置。
修复
有关创建或更新 Amazon Cognito 用户池的密码策略的信息,请参阅《Amazon Cognito 开发人员指南》中的添加用户池密码要求。