我们有一个平台,用户可以免费注册使用他们的电子邮件地址(他们也可以联系社交媒体帐户)。除了姓名、电子邮件和社交账户外,没有其他关于客户的个人信息。有一种可能性,即用户帐户可能会受到机器人的蛮力攻击。请记住,我们也不想阻止合法的用户体验。
作用域
平台周围的最佳实践或案例研究有哪些
超出范围:强密码
发布于 2019-08-06 11:08:18
有几种方式可以让自动攻击者破坏密码,这当然不适用于社交媒体登录。我忽略了应用程序级别的漏洞。您需要为用户访问数据的所有方式建立模型: web和任何提供的API。通常,API将使用标识令牌,它实际上只是一个字符串,这具有明显的含义。
针对已知的用户ID的字典或暴力。攻击者根据已知的用户ID尝试许多密码。
一种针对强制使用的用户ID的已知密码。其中攻击者针对一组用户ID尝试相同的密码。如果用户is是顺序的或容易猜测的,则这是一个特别的问题。
你对这些有一些防御能力。
在锁定帐户之前尝试了多少次,以及
允许对相同的UID、相同的IP和不同的密码进行五次尝试。在第四次尝试中,抛出一个验证码,或者告诉他们你要给他们发一封电子邮件,密码一次,有效期为X分钟。在第七次尝试使用有效的验证码锁定帐户1分钟。每次重复并加倍锁定。一个合法的用户将放弃这一点,并将要求一个新的密码。给他们通过电子邮件链接重置密码的选择。您至少需要五个密码,因为第一个错误的密码是错误的,第二个是相同的密码输入速度更慢,然后第三个,然后他们添加1,然后2的密码,最后放弃。
定期发送到电子邮件的2步认证代码是一个很好的缓解措施。由于NIST和NCSC都建议不要定期更改密码,因此仍然会引入一些控制。
发布于 2019-08-06 07:15:28
在这种情况下,用户体验和安全需要保持一致。您希望通过在后端使用良好的策略来帮助您的用户获得安全,但您不想惹恼您的用户。
对于公司来说,员工帐户设置通常在以下几个方面:
锁定10分钟
根据公司的不同,这个数字会上升或下降5。
但这一政策假定:
一个小网站真的不能为客户提供这样的服务。
因此,您需要查看一项策略,以反映您的站点的性质、用户的性质以及如何提供足够的帐户安全性,而不会使您或您的用户感到烦恼。
一个大麻烦是有人把用户的帐户锁在外面。如果您不能处理这种情况,那么您的用户就会经常被锁在门外。
尝试寻找帐户锁定的替代方案,比如提供2FA,或者阻止具有大量登录失败的源的IP。
https://security.stackexchange.com/questions/214727
复制相似问题