一个客户的网站目前受到攻击,我被要求修复它。
大量 IP(轻松超过 5,000 个)不断攻击/login,大概是试图强行进入。
我更改了站点,因此页面返回 500 错误,但他们并没有放弃。显然,这对现在无法登录的真实用户不利。
负载平衡是通过HAProxy完成的,我对此知之甚少(尽管我比几个小时前知道的要多得多)。我已经尝试了很多我在网上找到的明智的方法,但似乎都没有帮助,可能是因为有如此大的 IP 块在执行攻击。
那么问题来了:
如果一个 IP在Y秒内命中/login超过X次,我该如何拒绝?
而且,子点 - 我怎样才能看到拒绝日志,所以我知道它确实在工作?
这是haproxy.log的示例:
Jun 3 14:24:50 hap-server haproxy[11831]: 46.161.62.79:15290 [03/Jun/2017:14:24:49.505] www-https-test~ www-backend/www-03 751/0/202/38/991 500 220 - - ---- 428/428/120/38/0 0/0 "GET /login HTTP/1.1"
Jun 3 14:24:50 hap-server haproxy[11831]: 46.161.63.132:47804 [03/Jun/2017:14:24:49.505] www-https-test~ www-backend/www-04 751/0/202/38/991 500 220 - - ---- 428/428/119/42/0 0/0 "GET /login HTTP/1.1"
Jun 3 14:24:50 hap-server haproxy[11831]: 46.161.62.43:53176 [03/Jun/2017:14:24:49.505] …Run Code Online (Sandbox Code Playgroud)