不適切な単語を含むすべてのネットワーク要求を拒否するようにシステムを構成したいと思います。(ここでは実際の文字列を使用せず、明らかな理由で実装を表すサンプル文字列を使用します)。
私は次の構成を持っています/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>
が含まれていないことを意味します。したがって、正規表現が一致すると、fall2banは違反者を識別する方法とブロックする人が誰であるかを正確に知ることはできません(IDに達した<F-ID>...</F-ID>
場合)。 IPベースの処理の場合は通常。maxretry
<ADDR>