使用已泄露的凭证检测 - Amazon Cognito

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用已泄露的凭证检测

Amazon Cognito 可以检测用户的用户名和密码是否已在别处遭盗用。这种情况可能出现在用户在多个站点重复使用凭证时或它们使用不安全的密码时。Amazon Cognito 会检查使用用户名和密码、托管登录和亚马逊 Cognito API 登录的本地用户

在 Amazon Cognito 控制台的威胁防护菜单中,您可以配置已泄露的凭证。配置事件检测以选择要监控的用户事件,以查看是否有已泄露的凭证。配置已泄露凭证的响应,以选择在检测到已泄露的凭证时是允许还是阻止用户。Amazon Cognito 可以在登录、注册和密码更改期间检查是否有已泄露的凭证。

选择 “允许登录” 后,您可以查看 Amazon CloudWatch Logs 以监控 Amazon Cognito 对用户事件所做的评估。有关更多信息,请参阅 查看威胁防护指标。当您选择禁止登录时,Amazon Cognito 会阻止使用已泄露的凭证的用户登录。当 Amazon Cognito 阻止用户登录时,它将用户的 UserStatus 设置为 RESET_REQUIRED。具有 RESET_REQUIRED 状态的用户必须先更改密码,然后才能再次登录。

泄露的凭据可以检查以下用户活动的密码。

注册

您的用户池会检查用户在SignUp操作中以及托管登录的注册页面中传输的密码,以确定是否存在泄露迹象。

登录

您的用户池会检查用户在基于密码的登录中提交的密码是否存在泄露迹象。Amazon Cognito 可以在AdminInitiateAuth两者中查看USER_PASSWORD_AUTHInitiateAuth入、流入和USER_AUTH流入的PASSWORD选项。ADMIN_USER_PASSWORD_AUTH

当前,对于采用安全远程密码(SRP)流程的登录操作,Amazon Cognito 不会检查是否有已泄露的凭证。SRP 在登录期间发送经过哈希处理的密码证明。Amazon Cognito 无法在内部访问密码,因此,它只能评估您的客户端以纯文本形式传递给它的密码。

密码重置

在使用ConfirmForgotPassword自助密码重置操作设置新用户密码的操作中,您的用户池会检查是否存在泄露迹象。此操作所需的代码由ForgotPassword和生成AdminResetUserPassword

被泄露的凭据无法检查管理员设置的临时或永久密码。AdminSetUserPassword但是,使用临时密码时,您的用户池会根据RespondToAuthChallenge和中对NEW_PASSWORD_REQUIRED质询的响应来检查密码AdminRespondToAuthChallenge

要向用户池添加已泄露的凭证保护,请参阅 具有威胁防护功能的高级安全性