fail2ban 规则导致“iptables 返回 200”错误消息

Bla*_*laM 3 iptables fail2ban

我只是尝试添加一个新的 fail2ban 规则,该规则应该扫描 Apache2 错误日志以查找可疑文件访问尝试(尝试访问三个不存在的常见登录 url 的人通常没有良好的意图)。

为此,我在 jail.local 文件中添加了一条新规则:

[apache-suspiciousfiles]
enabled   = true
port      = http,https
filter    = apache-suspiciousfiles
banaction = iptables-allports
action    = %(action_mwl)s
logpath   = /var/log/apache2/error*.log
maxretry  = 3
Run Code Online (Sandbox Code Playgroud)

然而,这在我的日志中给了我一个意外的错误消息:

2014-02-10 13:28:51,450 fail2ban.jail   : INFO   Jail 'apache-suspiciousfiles' started
2014-02-10 13:28:51,690 fail2ban.actions.action: ERROR  iptables -N fail2ban-apache-suspiciousfiles
iptables -A fail2ban-apache-suspiciousfiles -j RETURN
iptables -I INPUT -p tcp -j fail2ban-apache-suspiciousfiles returned 200
Run Code Online (Sandbox Code Playgroud)

在那之前我已经用 fail2ban-regex 检查过过滤器,所以我很确定它不在那里。

(注:这里是“返回的200”,很多人好像对100有问题,但是这个是200左右)

Bla*_*laM 6

我做了一个快速的谷歌搜索,似乎没有答案对我有帮助,所以我只是尝试了我想到的第一件事:

我重命名了规则并缩短了它的名字:

[apache-suspicious]
enabled   = true
port      = http,https
filter    = apache-suspicious
banaction = iptables-allports
action    = %(action_mwl)s
logpath   = /var/log/apache2/error*.log
maxretry  = 3
Run Code Online (Sandbox Code Playgroud)

(我将规则从 apache-suspiciousfiles 重命名为 apache-suspicious)

这实际上帮助了我。现在一切都很好,我的规则正在发挥作用。

  • 这也是我的问题。我尝试一次一个地运行错误消息中显示的命令,当我到达最后一个时,iptables 返回一条错误消息,指出链名太长。似乎过滤器名称必须 <= 16 个字符。 (2认同)