web-dev-qa-db-ja.com

Fail2BanでIPを適切に禁止解除する方法

サーバーでFail2Banを使用していて、IPを適切に禁止解除する方法を知りたいです。

私はIPTablesを直接操作できることを知っています:iptables -D fail2ban-ssh <number>

しかし、fail2ban-clientでそれを行う方法はありませんか?

マニュアルでは、fail2ban-client get ssh actionunban <IP>のように記載されています。しかし、それはうまくいきません。

また、リスト内のすべての禁止事項が失われるため、/etc/init.d/fail2ban restartを使用したくありません。

214
psp

V0.8.8より前のFail2Banの場合:

fail2ban-client get YOURJAILNAMEHERE actionunban IPADDRESSHERE

Fail2Ban v0.8.8以降の場合:

fail2ban-client set YOURJAILNAMEHERE unbanip IPADDRESSHERE

難しいのは、適切な刑務所を見つけることです。

  1. 使用する iptables -L -nでルール名を検索...
  2. ...次にfail2ban-client status実際の刑務所名を取得します。ルール名と刑務所名は同じではない可能性がありますが、どちらがどれに関連しているかは明確でなければなりません。
306
ukoda

V0.8.8以降、unbanipオプションがあります(actionunbanはこの目的には使用できません)。オプションのリストを見ると、setコマンドによってトリガーできます。 、構文が表示されます。だからそれは(心で、確認してください):

fail2ban-client set ssh-iptables unbanip IPADDRESSHERE 

より一般的な:

fail2ban-client set JAILNAMEHERE unbanip IPADDRESSHERE

私のために働く

85
user157436

インタラクティブモードのSSHの例。

bashと入力します。

fail2ban-client -i

次に、インタラクティブモードで、刑務所のステータスを読み取ります。

status sshd

あなたが得るでしょう:

Status for the jail: ssh
|- Filter
|  |- Currently failed: 0
|  |- Total failed: 6
|  `- File list:    /var/log/auth.log
`- Actions
   |- Currently banned: 1
   |- Total banned: 2
   `- Banned IP list:   203.113.167.162

次にfail2banインタラクティブモードで入力します。

set sshd unbanip 203.113.167.162

あなたが得るでしょう:

203.113.167.162

もう意味しない203.113.167.162禁止リストにあります。

62
Amaroc

ウコダの答えは間違っています:

パラメータなしでfail2ban-clientを呼び出すと、可能なコマンドのリストが表示されます。

get JAIL actionunban ACT             

これにより、JAILのアクションACTの禁止解除コマンドが取得されます。

定義したjailのactionパラメーターを調べてください。おそらくiptablesアクションがあり、おそらくsendmail、whoisなどのようなものがあります。したがって、アクションがiptablesの場合、次のようになります。

fail2ban-client get JAIL actionunban iptables

答えは次のとおりです。

iptables -D fail2ban-NAME -s IP -j DROP

それはあなたが禁止解除のために何を書かなければならないかをあなたに示すだけです。禁止解除コマンド自体はありません。

21
ingo

192.168.2.1が禁止されている場合

Sudo iptables -L

禁止されているチェーンを確認してください。

Chain fail2ban-sasl(1参照)

DROP all-192.168.2.1どこでも

次に:

# to view the proper command for un-banning
Sudo fail2ban-client get sasl actionunban
# actual command
iptables -D fail2ban-sasl -s 192.168.2.1 -j DROP
10
Lionel Broes

最初に刑務所の名前を取得する必要があります。あなたはリストを得ることができます(ほとんどの場合それはssh刑務所だけです):

fail2ban-client status

Jail名を取得したら、無視されているIPを確認できます。

fail2ban-client get ssh ignoreip

IPが無視リストにある場合は、次の方法で削除できます。

fail2ban-client set ssh delignoreip your_ip_address
vi /etc/hosts.deny

ホストエントリを削除します。

fail2ban-client reload
4
zainengineer

Fail2ban v.0.8.6の使用:

$ Sudo fail2ban-client status # to reveal your JAIL name (mine is ssh)
$ Sudo fail2ban-client set ssh delignoreip your_ip_address
$ Sudo nano /etc/hosts.deny # delete your ip address
$ Sudo fail2ban-client reload
3
take

残念ながら、fail2ban-clientのバージョン0.8.2では、次のコマンドを使用します。

fail2ban-client get jail actionunban ipaddress

実行されません。この問題を解決するには、fail2banを最新バージョンにアップグレードし、新しいオプションを使用するのが最適です。

unbanip
2
Pol Hallen
fail2ban-client set sshd unbanip ip_here

うまくいくでしょう。

2
abhijithvijayan

IPが複数の刑務所にある場合、これは面倒になります。

すべての刑務所から192.168.1.2を削除するワンライナー:

 for jail in $(fail2ban-client status | grep 'Jail list:' | sed 's/.*Jail list://' | sed 's/,//g'); do fail2ban-client set $jail unbanip 192.168.1.2; done

同じことを行うスクリプト https://Gist.github.com/yolabingo/c810db6fe7f8bfcb9eb4f6ffc531e474

1
yolabingo

バージョンv0.10.2を実行している場合:

Sudo fail2ban-clientがYOUR_IP_ADDRESSの禁止を解除しました

これはヘルプからです:

unban <IP> ... <IP> unbans <IP> (in all jails and database)

Sshクライアントが間違ったパスワードで繰り返しログインしたために禁止された可能性が最も高い場合に、私のケースで動作することを確認しました。

0
kashiraja