使用 Fail2ban 自动阻止请求特定 URL 的 IP

使用 Fail2ban 自动阻止请求特定 URL 的 IP

我关注的问题回答了。

我创建了一个过滤器并在 fail2ban 配置文件中启用了它。这是过滤器:

# Fail2Ban filter to web requests for home directories on Apache servers

[INCLUDES]

before = apache-common.conf

[Definition]

failregex = ^<HOST> -.*"(GET|POST).*/wp-login.php/.*$
ignoreregex =

Fail2ban 由于错误而无法启动(我无法从日志中具体看到错误),我的语法有什么问题?

答案1

在“test.php”等文件中使用的分隔符(例如斜线和点)需要转义正则表达式。在测试站点出现以下错误:

/ 未转义的分隔符必须用反斜杠 () 进行转义

添加反斜杠可以纠正语法错误,但您仍需要测试它是否正确匹配请求。希望这能有所帮助!

^<HOST> -.*"(GET|POST).*\/wp-login.php\/.*$

**编辑 - 我看到了 Fail2ban 使用的正则表达式的链接,它是 Python 正则表达式,发现这里。这是一篇关于 fail2ban 的好文章。

相关内容