假设场景:
假设您有攻击者不断尝试登录您的网站。在 n 次尝试登录限制后,攻击者被迫等待一段时间,然后再次处理他们的登录尝试。由于在这种情况下我们谈论的是自动攻击,因此它不够聪明,无法确定节流是否处于活动状态,并且它会继续将用户/密码组合发布到登录表单。最终,限制超时结束,攻击者能够再向服务器发布一个用户/通行证组合,服务器进而激活该用户的限制。
因此,这有效地为真实用户创建了 DoS 情况,因为自动攻击确保登录限制始终处于活动状态,以便真实用户永远无法登录。
如何应对这种情况?
到目前为止,我有:
- 将已知成功登录尝试的 IP 列入白名单。如果真实用户从以前未知的 IP 登录,这将不起作用。
- 临时将失败的尝试 IP 列入黑名单。如果攻击来自不同的 IP,这将不起作用。