我想挑战你认为这没有完成的假设。
[警告:要遵循疯狂的近似值]
请记住,成功的蛮力攻击将需要每秒数百万或数十亿次猜测才能在合理的时间内完成破解(例如,几个小时到一个月,具体取决于您的密码强度)。即使是每秒 100 次密码尝试的速率限制也会将破解时间从一个月增加到数十万年。也许我的标准很低,但这对我来说已经足够了,没有任何人类用户合法地试图进入他们的帐户会注意到它。如果速率限制是通过 IP 而不是通过用户名来防止某些类型的拒绝服务攻击,那就更好了。
另外,我不知道您使用的是哪个 Linux 发行版,但在我的 Ubuntu 和 CentOS 系统上,当我在 GUI 或终端登录屏幕上输入错误密码时,它会锁定 1 秒钟,然后重新提示我。
即使服务器没有主动限制登录尝试的速率(它们确实应该如此),仅 ping 时间本身就足以让你慢到数百万年。您可能会在接近 10 亿次猜测/秒之前对服务器进行 DDOS。真正的钱是获取哈希密码数据库的副本,并将其输入到 GPU 设备中,每秒可能进行数十亿次猜测。
TL;DR:如果您要努力强化您的登录服务器,那么通过改进您的密码散列和使您的数据库难以窃取,而不是在您的登录屏幕上实施速率限制,您将获得更多收益。
更新:由于这病毒传播开来,我将从评论中提取一些内容:
此逻辑仅适用于登录服务器。对于手机或笔记本电脑等物理设备,“3 次尝试并锁定”或“10 次尝试后设备擦除”类型的东西仍然有意义,因为在您输入密码时有人可能会在肩上冲浪,或者看到污迹图案在你的屏幕上,或者知道一个 4 位数的 PIN 无论如何只有 10,000 种组合,所以他们需要做的猜测数量非常非常少。