因此,我今天早些时候浏览了我的 HAProxy 日志,并注意到外部 IP 地址向我们未托管的域发出了一些奇怪的请求。
例如
Jun 8 06:25:56 haproxy haproxy[6316]: 185.108.107.19:54243 [08/Jun/2020:06:25:56.731] localhost localhost/<NOSRV> -1/-1/-1/-1/13 503 213 - - SC-- 2/2/0/0/0 0/0 "CONNECT chekfast.zennolab.com:443 HTTP/1.1
Jun 8 06:26:33 haproxy haproxy[6316]: 185.108.107.19:54598 [08/Jun/2020:06:26:33.855] localhost localhost/<NOSRV> -1/-1/-1/-1/3 400 188 - - PR-- 0/0/0/0/0 0/0 "<BADREQ>"
Jun 8 06:34:07 haproxy haproxy[6316]: 94.200.76.222:55958 [08/Jun/2020:06:34:07.906] localhost localhost/<NOSRV> -1/-1/-1/-1/0 503 213 - - SC-- 0/0/0/0/0 0/0 "POST /cgi-bin/mainfunction.cgi HTTP/1.1"
Jun 8 06:46:05 haproxy haproxy[6316]: 14.221.172.38:2184 [08/Jun/2020:06:46:05.845] localhost localhost/<NOSRV> -1/-1/-1/-1/11 503 213 - - SC-- 6/6/0/0/0 0/0 "GET http://api.gxout.com/proxy/check.aspx HTTP/1.1"
Jun 8 06:59:49 haproxy haproxy[6316]: 223.12.75.250:17883 [08/Jun/2020:06:59:49.392] localhost localhost/<NOSRV> -1/-1/-1/-1/0 503 213 - - SC-- 11/11/0/0/0 0/0 "HEAD http://123.125.114.144/ HTTP/1.1"
据我所知,执行此操作的人(或脚本)正在获取诸如 503(服务不可用)之类的响应代码,我希望这意味着请求未正确通过 - 但有什么方法可以阻止此类请求首先被制造?我们在 Ubuntu 16.04.4 LTS 上运行 HAProxy 1.6.3 版。
谢谢
您无法阻止人们发出请求,但您可以限制给定 ip 发出某些请求的次数。
在服务器级别上,我运行 fail2ban 并根据我的需要定义监狱和规则,因此没有一个 IP 地址可以发出超过您预定义的错误请求数量,并且它大大减少了对服务器的请求总数。有关如何使用它并创建特定规则和定义日志文件以满足您的需要的更多信息,请访问:
https://www.fail2ban.org/wiki/index.php/MANUAL_0_8
HAProxy 有一个内置的工具,可以执行类似的操作,您可以在以下位置看到:
https://haproxy.com/blog/bot-protection-with-haproxy
如果我理解正确,HAProxy 只关心将请求路由到它负责的端口。fail2ban 可以为任何端口上的请求设置规则,因此,如果它尚未运行并且您查看的是安全日志,则可能有很多人在探测您的端口 22、3306 和其他端口。