AWS Cognito用户池如何防御暴力攻击

kno*_*k16 16 amazon-web-services amazon-cognito

我将使用AWS Cognito User Pool产品作为应用程序的用户目录,并有几个问题:

  1. 是亚马逊对Cognito用户池的限制请求,如果是,请求受限制的呼叫的速率限制是多少?
  2. Cognito如何防御暴力攻击登录/密码?

end*_*unc 22

经过几个小时的搜索,我在源代码中发现了这两个例外:

TooManyFailedAttemptsException当用户对给定操作进行了太多失败尝试(例如,登录)时,将抛出此异常.

HTTP状态代码:400

TooManyRequestsException当用户对给定操作发出过多请求时,将抛出此异常.

HTTP状态代码:400

此外,我尝试使用错误的凭据登录以测试限制,我NotAuthorizedException: Password attempts exceeded尝试后获得异常.

在类似的情况下,我试图暴力破解密码,但在10次尝试失败之后,我得到了 LimitExceededException: Attempt limit exceeded, please try after some time.

我认为他们是这样做的.

  • 在N尝试系统之后我们开始开发自己的锁定后,向我们回答了这个问题.它真的很刺激它在文档AFAIK中没有提到过.我们需要更精细地控制导致锁定的尝试次数,锁定时间以及管理员,以便能够在需要时解锁重要帐户.可以在cognito中完成吗? (4认同)

小智 13

其中包含有关 Cognito 锁定策略的最新文档。

https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-authentication-flow.html

我们允许五次失败的登录尝试。之后,我们开始临时锁定,时间从 1 秒开始呈指数增加,每次失败尝试后加倍,最多约 15 分钟。临时锁定期间的尝试将被忽略。临时锁定期结束后,如果下次尝试失败,则会开始新的临时锁定,持续时间是上次的两倍。等待大约 15 分钟而不进行任何尝试也会重置临时锁定。请注意,此行为可能会发生变化。


Rac*_*all 12

是的,Cognito用户池通过使用各种安全机制来防止暴力攻击.节流是其中一种机制.我们不会共享限制,因为它们会动态变化.

  • @RachitDhall自您回答以来已经有好几年了-是否有任何官方文件表明Cognito可以这样做?即使本文档也没有特定的限制。 (4认同)
  • @Rachit Dhall,你能解释一下这些机制吗?doc中没有提到这些类型的信息,所以我想这是一个很好的开始. (2认同)