fail2ban 阻止包含给定字符串的网络请求

fail2ban 阻止包含给定字符串的网络请求

我想将我的系统配置为拒绝所有包含不当词语的网络请求(我不会在这里使用实际的字符串,而是使用一个示例字符串来代表实现,原因很明显)

我有以下配置/etc/fail2ban/jail.local

[DEFAULT]
bantime = 1d
[sshd]
enabled = true     
filter    = sshd
banaction = iptables
backend   = systemd
maxretry  = 5
findtime  = 1d
bantime   = 2d
ignoreip  = 127.0.0.1/8

[word-filter]
enabled = true
filter = word-filter
maxretry = 0
bantime = 1m

以及相同图案的配置(但用不同的词)/etc/fail2ban/filter.d/word-filter.conf

[Definition]
failregex = .*Hello.*World|.*test.*

当我尝试重新加载fail2ban时,它给出了一个错误systemctl status fail2ban,当我尝试运行时,fail2ban-regex /example/file /etc/fail2ban/filter.d/word-filter.conf它给出了错误ERROR: No failure-id group in '.*Hello.*World.*|.*test.*

我该如何解决这个问题?

答案1

错误No failure-id group in意味着正则表达式不包含任何 ID(如<ADDR><HOST><CIDR><SUBET><F-ID>...</F-ID>),因此如果正则表达式匹配,fail2ban 将不知道如何识别违规者以及确切需要禁止的人(如果maxretry达到了ID。
对于基于 IP 的处理,通常是<ADDR>.

相关内容