- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们正在设计一个安全系统来防止暴力攻击进入帐户。
建议的一个选项是按 IP 列入黑名单。如果某个 IP 地址尝试登录的次数过多,则该 IP 地址的任何进一步尝试都会在给定时间内被阻止。
另一种选择是进行更传统的帐户锁定,在这种情况下,对给定帐户的尝试次数过多会锁定该帐户,直到密码被重置。
第一种方法的问题是客户服务 - 如果合法用户打电话要求重新登录,他们只需等待即可 - 他们的 IP 在该时间段内被列入黑名单。
第二个问题是它会引发 DoS 攻击,只要知道合法的用户名,任何人都可以输入伪造的密码将其锁定。
在防止针对用户帐户的暴力攻击方面,您有哪些不同的经验?
最佳答案
上万台代理服务器列表可以购买或扫描轻松获取(YAPH)。有像 THC-Hydra 这样的软件可以使用代理服务器列表进行暴力破解。这并不是说 IP 地址黑名单不好,它们提高了攻击者的阈值。
可以使用基于帐户的锁定来对付您。黑客需要一个用户帐户列表,通常黑客不关心哪个帐户被破坏了。对该系统的第一阶段攻击是尝试尽可能多的用户名,一旦你有了一个名称列表,然后你返回并为每个人尝试弱密码。
我喜欢的解决方案是强制用户在可能 5 次登录失败后解决 capthca。您可以使用 IP 地址和帐户名的混合方法。如果有人尝试从一个 ip 地址登录失败 5 次,您将强制该 ip 地址解决一个 capthca。如果任何登录名的 5 次登录尝试失败,则该登录名将需要验证码。但是有一个潜在的问题,如果有人试图暴力破解帐户名称,那么如果该帐户不存在,您将无法采取不同的行动。因此,您将不得不要求用户解决不存在的帐户上的 capthca,这些帐户也由于蛮力而被“锁定”。
将帐户名泄露给攻击者极大地有助于暴力破解。我建议查看您的应用程序以确保您没有泄露登录名。
关于security - 将 IP 列入黑名单与锁定帐户的相对优势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2204033/
我正在尝试从另一个网站远程连接到 SQL。我进行了 whois 查找以获取尝试连接的域的 IP 地址并将其列入 cPanel 中的白名单。我还执行了 echo $_SERVER['SERVER_ADD
Microsoft SmartScreen,以其消息而闻名: Windows Defender SmartScreen prevented an unrecognized app from start
我有一个由多个 .aspx 页面组成的 ASP.NET 应用程序。我希望其中一个 .aspx 页面只能由一组特定的 IP 访问。这可能吗? 我知道您可以在网站级别将 IP 列入白名单,但是您可以将应用
我是一名优秀的程序员,十分优秀!