我无法为 Fail2Ban 设置正则表达式来阻止这样的事情:
“54.88.84.219 - - [21/12/2024:13:41:37 +0000]“GET /events/category/stand-up/day/4586-04-01/ HTTP/1.1”200 46581“-” “Mozilla/5.0 AppleWebKit/537.36(KHTML,如壁虎;兼容;Amazonbot/0.1;+https://developer.amazon.com/support/amazonbot) Chrome/119.0.6045.214 Safari/537.36""
我尝试过:
[定义] failregex = ^ - - [.?] "(GET|POST|HEAD).(HTTP/.)" ."Mozilla/5.0.Amazonbot." 忽略正则表达式=
但由于某种原因它不起作用!
我找到原因了。我的服务器是带有 CyberPanel 的 OpenLiteSpeed。虽然
access.log
文件中的主 Web 服务器日志以以下格式记录:%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i
,但 /home
目录中各个站点的日志以以下格式写入:"%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"
(在开头附加引号)并结束)。我不知道为什么会出现这种情况 - 无论是 OpenLiteSpeed 还是 CyberPanel 的功能。问题解决了。谢谢!