私はしばらくFail2banを実行し、最近インストールしてiptables-persistent
ブラックリストと一緒に使用していますipset
(このコンピュータには常に攻撃する特定のIPがあります)。ipset
/ iptables
PersistenceはUbuntuでいくつかの作業をしましたが、この部分は食べられるようです。今私の問題は次のとおりです。
マシンを再起動すると、私の(関連部分)iptablesは次のようになります。
Chain INPUT (policy ACCEPT 682 packets, 84744 bytes)
pkts bytes target prot opt in out source destination
347 23254 f2b-sshd tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 22
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 match-set blacklist src
347 23254 f2b-sshd tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 22
Chain f2b-sshd (2 references)
pkts bytes target prot opt in out source destination
694 46508 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
netfilter-persistent.service
これにより、明確にルールファイルをロードしたにもかかわらず"loaded failed failed"
。systemctl
netfilter-perciousの後にロードするためにfailure2banサービスを編集しようとし"loaded active exited"
ましたが、これでnetfilter-persistが...とマークされていますが、ルールはまだ重複しています(明らかにf2bはルールがすでに存在するかどうかに関係なくルールを生成します) )。
実行するたびにf2bエントリを削除するためにこのファイルを手動で編集することはiptables-save
許容可能なオプションです。しかし、より良いオプションがあるかどうか疑問に思います。
答え1
解決策を考えてみましたが、私の考えでは…ちょっと変ですね。次のファイルを作成して実行してみてください。他の項目ではなくf2b項目に依存し、すべての項目に「f2b」があり、スクリプトがiptables-save
直接実行されるのではなく...
~/bin£ cat saveFilteredIptables.sh
#!/usr/bin/zsh
sudo iptables-save | perl -ne 'print if !/f2b/'
~/bin£