适用于 Amazon Cognito 的 Security Hub 控件 - Amazon Security Hub
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

适用于 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 默认值

SecurityMode

控件检查的威胁防护强制模式。

字符串

AUDIT, ENFORCED

ENFORCED

此控件检查 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 默认值

minLength

密码必须包含的最少字符数。 整数

8128

8

requireLowercase

密码中要求至少包含一个小写字符。 布尔值

True, False

True

requireUppercase

密码中要求至少包含一个大写字符。 布尔值

True, False

True

requireNumbers

密码中要求至少包含一个数字。 布尔值

True, False

True

requireSymbols

密码中要求至少包含一个符号。 布尔值

True, False

True

temporaryPasswordValidity

密码过期前可以存在的最长天数。 整数

7365

7

此控件根据密码策略的推荐设置,检查 Amazon Cognito 用户池的密码策略是否要求使用强密码。如果用户池的密码策略不要求使用强密码,则此控件会失败。您可以选择为控件检查的策略设置指定自定义值。

强密码是 Amazon Cognito 用户池的一项安全最佳实践。弱密码可以将用户的凭证暴露给会猜测密码并尝试访问数据的系统。对于向互联网开放的应用程序来说尤其如此。密码策略是用户目录安全的核心要素。通过使用密码策略,您可以配置用户池,使其要求密码复杂度和其他符合您的安全标准和要求的设置。

修复

有关创建或更新 Amazon Cognito 用户池的密码策略的信息,请参阅《Amazon Cognito 开发人员指南》中的添加用户池密码要求