Ubuntuですべてのfail2ban禁止を削除するにはどうすればよいですか?すべて試しましたが、うまくいきません。
すべての禁止を削除したいのですが、IPアドレスがわかりません。
コメント
- 通常、禁止はファイアウォールを介したIPアドレスで行われるため、ファイアウォールのルールを確認する必要があります。
- はい、わかっています。しかし、IPアドレスを言わずにすべての禁止をクリアしたい
- " すべてを試しました "いいえ' t。何を試しましたか?
回答
回答の更新
バージョン0.10以降。 0 fail2ban-client
は、次の2つの方法で使用できるunban
コマンドを備えています。
unban --all unbans all IP addresses (in all jails and database) unban <IP> ... <IP> unbans <IP> (in all jails and database)
さらに、restart <JAIL>
、reload <JAIL>
、およびreload
コマンドにも--unban
オプション。
古い回答
fail2banはiptables
を使用してトラフィックをブロックします。現在ブロックされているIPアドレスを確認したい場合は、
iptables -L -n
と入力し、fail2ban-something
、ここでsomething
はfail2ban刑務所を指します(たとえば、Chain f2b-sshd
は刑務所sshd
)。特定の刑務所<JAIL>
の単一のIPアドレス<IP>
のブロックのみを削除する場合、fail2banは独自のクライアントを提供します。
fail2ban-client set <JAIL> unbanip <IP>
または、行番号を使用することもできます。まず、iptables
ルールを行番号とともにリストします。
iptables -L -n --line-numbers
次に使用できます
iptables -D fail2ban-somejail <linenumber>
テーブルから1行を削除します。私の知る限り、行番号の範囲を選択するオプションはないので、このコマンドをforループでラップする必要があると思います。
for lin in {200..1}; do iptables -D fail2ban-somejail $lin done
ここで私は200番を作りました。 --line-numbers
を使用してコマンドの独自の出力を確認し、最後の行(RETURN
)をそのままにしておく必要があることに注意してください。カウントダウンの背後にある理由については、以下の@roaimaのコメントを参照してください。
コメント
- あなたは私を救ってくれました。どうもありがとう。完全なコマンドを追加してくださいあなたのコマンドの前にfail2ban-clientが必要だと理解しなければならなかったからです。(私は初心者なので)
回答
すべてのIPの禁止を解除する最善の方法は、禁止時間を1秒に設定することです。そうすると、すべてのIPがすぐに解放されます。
fail2ban-client set JailName bantime 1
その後、適切な禁止時間を元に戻すことができます。
fail2banに禁止解除を行わせることをお勧めします。自分でiptablesを手動で編集しないでください。
コメント
- これが唯一の正解です。Fail2banは独自の禁止データベースを維持しており、個別にクリアする必要があります。 。iptablesルールの削除について話しているすべての回答は、fail2banがバックアップを開始した瞬間に、削除したルールをiptablesに再度追加することを無視します。また、すべてのfail2ban構成がiptablesを使用して禁止を実装するわけではありません。
-
fail2ban-client status
- このコマンドを発行したところ、fail2banが刑務所を処理するにつれて、刑務所内のIPの数がゼロに向かって減少するのを監視しています。非常に高速に発生しますが、' OK、刑務所には5000を超えるエントリがありました。良い答えです!
ですべての刑務所を検索する
回答
最新のfail2ban-client
(0.10)にはunban -all
コマンド。刑務所は個別に「再起動」することもできます、効果的禁止を完全にクリアします。
古いバージョンを使用している場合、このトリックは自動一時禁止で機能する可能性があります。禁止を含むjailを削除してから、fail2banを再起動して、(現在は空の)jailが再作成されるようにします。
$ fail2ban-client stop sshd Jail stopped $ systemctl restart fail2ban
コメント
- -すべてまたは-すべて?または–all?
回答
-
サービスを停止すると、追加されたすべてのルールが削除されますby fail2ban
service fail2ban stop
-
他にiptablesルールがない場合は、フラッシュできます
iptables -F
注意:これにより、iptables内の他のルールがすべて消去されます。
コメント
- 停止してから再開するだけで十分でした。
回答
iptable設定をファイルに保存
$ iptables-save > iptables.conf
configをiptablesにロードするよりも好きなエディターで編集する
$ iptables-restore < iptables.conf
iptables内に構成を保存して、選択されるようにすることを忘れないでください再起動時に起動
$ service iptables save iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
回答
ここに全体の禁止を解除するための簡単なワンライナーがありますfail2ban jailの適切な方法:
iptables -L f2b-recidive -n | grep -o "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}" | grep -v 0.0.0.0 | xargs -n 1 fail2ban-client set recidive unbanip
注:iptablesコマンドはjail名の前に「f2b-」プレフィックスを付けますが、実際のjail名は「fail2ban-client」です
コメント
- これは、0.10以下のfail2banバージョンのベストアンサーです。さらに、fail2ban-purgeのようなエイリアスを1つのパラメーターで作成して、jail全体をパージできます。上記の受信ワードを$ 1に置き換え、エイリアスをfail2ban-purge < JAIL_NAME >として使用します。
回答
fail2ban
の動作方法のため、考えられる解決策は2つだけです。
-
fail2ban
刑務所を含むファイアウォール構成スクリプトを作成し、ファイアウォールを再起動します。 - 禁止を解除するIPをブロックしているファイアウォールルールを削除します。 。
回答
これは、ssh刑務所のすべてのIPアドレスの禁止を解除するために使用しているスクリプトです( sshd occourenceを必要なjailの名前に置き換えるだけです…例:mysqld-auth)
#!/bin/bash j=$(iptables -L f2b-sshd | grep -c "REJECT") for ((i=1;i<=j;i++)) do fail2ban-client set sshd unbanip $(fail2ban-client status sshd | grep "Banned IP list:" | cut -c23-) done
回答
このスクリプトは、私のようなバージョン< 0.10.0のユーザーに役立つ可能性があります:
#!/bin/bash for JAIL in $(fail2ban-client status | grep "Jail list:" | awk "BEGIN {FS="\t"} {print $2}" | sed "s/, / /g") do for IP in $(fail2ban-client status ${JAIL} | grep "Banned IP list:" | awk "BEGIN {FS="\t"} {print $2}" | sed "s/ /\n/g") do fail2ban-client set ${JAIL} unbanip ${IP} done done unset JAIL IP exit 0