Fail2banは引き続き禁止されていると言いますが、実際には禁止されていません。

Fail2banは引き続き禁止されていると言いますが、実際には禁止されていません。

私は新しいサーバーを設定してFail2banをインストールしましたが、間違ったパスワードで接続を試みてもブロックされません。

失敗2ban.log:

2018-03-23 12:46:29,363 fail2ban.actions        [9756]: NOTICE  [sshd] [my ip] already banned
2018-03-23 12:46:30,747 fail2ban.filter         [9756]: INFO    [sshd] Found [my ip]
2018-03-23 12:46:33,346 fail2ban.filter         [9756]: INFO    [sshd] Found [my ip]
2018-03-23 12:46:35,515 fail2ban.filter         [9756]: INFO    [sshd] Found [my ip]
2018-03-23 12:46:36,372 fail2ban.actions        [9756]: NOTICE  [sshd] [my ip] already banned
2018-03-23 12:47:45,471 fail2ban.filter         [9756]: INFO    [sshd] Found [my ip]
2018-03-23 12:47:46,820 fail2ban.filter         [9756]: INFO    [sshd] Found [my ip]
2018-03-23 12:47:49,503 fail2ban.filter         [9756]: INFO    [sshd] Found [my ip]
2018-03-23 12:47:50,458 fail2ban.actions        [9756]: NOTICE  [sshd] [my ip] already banned
2018-03-23 12:47:51,893 fail2ban.filter         [9756]: INFO    [sshd] Found [my ip]
2018-03-23 12:48:49,699 fail2ban.filter         [9756]: INFO    [sshd] Found [my ip]
2018-03-23 12:48:51,835 fail2ban.filter         [9756]: INFO    [sshd] Found [my ip]
2018-03-23 12:48:52,531 fail2ban.actions        [9756]: NOTICE  [sshd] [my ip] already banned
2018-03-23 12:48:54,477 fail2ban.filter         [9756]: INFO    [sshd] Found [my ip]
2018-03-23 12:48:57,056 fail2ban.filter         [9756]: INFO    [sshd] Found [my ip]
2018-03-23 12:50:53,240 fail2ban.filter         [9756]: INFO    [sshd] Found [my ip]
2018-03-23 12:50:53,677 fail2ban.actions        [9756]: NOTICE  [sshd] [my ip] already banned
2018-03-23 12:50:55,065 fail2ban.filter         [9756]: INFO    [sshd] Found [my ip]
2018-03-23 12:50:58,253 fail2ban.filter         [9756]: INFO    [sshd] Found [my ip]
2018-03-23 12:51:00,494 fail2ban.filter         [9756]: INFO    [sshd] Found [my ip]
2018-03-23 12:51:00,685 fail2ban.actions        [9756]: NOTICE  [sshd] [my ip] already banned
2018-03-23 12:52:06,119 fail2ban.filter         [9756]: INFO    [sshd] Found [my ip]
2018-03-23 12:52:08,300 fail2ban.filter         [9756]: INFO    [sshd] Found [my ip]
2018-03-23 12:52:11,583 fail2ban.filter         [9756]: INFO    [sshd] Found [my ip]
2018-03-23 12:52:11,773 fail2ban.actions        [9756]: NOTICE  [sshd] [my ip] already banned
2018-03-23 12:52:13,498 fail2ban.filter         [9756]: INFO    [sshd] Found [my ip]
2018-03-23 12:53:07,823 fail2ban.filter         [9756]: INFO    [sshd] Found [my ip]
2018-03-23 12:53:09,712 fail2ban.filter         [9756]: INFO    [sshd] Found [my ip]
2018-03-23 12:53:09,842 fail2ban.actions        [9756]: NOTICE  [sshd] [my ip] already banned
2018-03-23 12:53:11,718 fail2ban.filter         [9756]: INFO    [sshd] Found [my ip]
2018-03-23 12:53:13,696 fail2ban.filter         [9756]: INFO    [sshd] Found [my ip]
2018-03-23 12:54:37,181 fail2ban.filter         [9756]: INFO    [sshd] Found [my ip]
2018-03-23 12:54:37,949 fail2ban.actions        [9756]: NOTICE  [sshd] [my ip] already banned
2018-03-23 12:54:39,092 fail2ban.filter         [9756]: INFO    [sshd] Found [my ip]
2018-03-23 12:54:40,906 fail2ban.filter         [9756]: INFO    [sshd] Found [my ip]
2018-03-23 12:54:42,616 fail2ban.filter         [9756]: INFO    [sshd] Found [my ip]
2018-03-23 12:54:42,955 fail2ban.actions        [9756]: NOTICE  [sshd] [my ip] already banned
2018-03-23 12:54:52,074 fail2ban.action         [9756]: ERROR   iptables -w -n -L INPUT | grep -q 'f2b-sshd[ \t]' -- stdout: ''
2018-03-23 12:54:52,075 fail2ban.action         [9756]: ERROR   iptables -w -n -L INPUT | grep -q 'f2b-sshd[ \t]' -- stderr: ''
2018-03-23 12:54:52,075 fail2ban.action         [9756]: ERROR   iptables -w -n -L INPUT | grep -q 'f2b-sshd[ \t]' -- returned 1
2018-03-23 12:54:52,075 fail2ban.CommandAction  [9756]: ERROR   Invariant check failed. Trying to restore a sane environment
2018-03-23 12:54:52,180 fail2ban.action         [9756]: ERROR   iptables -w -D INPUT -p tcp -m multiport --dports ssh -j f2b-sshd
iptables -w -F f2b-sshd
iptables -w -X f2b-sshd -- stdout: ''
2018-03-23 12:54:52,181 fail2ban.action         [9756]: ERROR   iptables -w -D INPUT -p tcp -m multiport --dports ssh -j f2b-sshd
iptables -w -F f2b-sshd
iptables -w -X f2b-sshd -- stderr: "iptables v1.4.21: Couldn't load target `f2b-sshd':No such file or directory\n\nTry `iptables -h' or 'iptables --help' for more information.\niptables: No chain/target/match by that name.\niptables: No chain/target/match by that name.\n"
2018-03-23 12:54:52,181 fail2ban.action         [9756]: ERROR   iptables -w -D INPUT -p tcp -m multiport --dports ssh -j f2b-sshd
iptables -w -F f2b-sshd
iptables -w -X f2b-sshd -- returned 1
2018-03-23 12:54:52,181 fail2ban.actions        [9756]: ERROR   Failed to execute unban jail 'sshd' action 'iptables-multiport' info '{'matches': '2018-03-23T11:53:46.707058149-210-194-176.colo.transip.net sshd[27676]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=ip-[my ip].ip.prioritytelecom.net  user=root2018-03-23T11:53:48.733188149-210-194-176.colo.transip.net sshd[27676]: Failed password for root from [my ip] port 31224 ssh22018-03-23T11:54:51.709842149-210-194-176.colo.transip.net sshd[27676]: Failed password for root from [my ip] port 31224 ssh2', 'ip': '[my ip]', 'time': 1521802491.930057, 'failures': 3}': Error stopping action

ログファイルを追跡すると、sshログイン試行が記録されていることがわかりますが、3回目の試行の後に続行できます。たとえば、10回目の試行後に正しいパスワードを使用するとログインできます。

また、ログファイルの最後にエラーが表示されることもあります。

私の地域の刑務所:

[DEFAULT]
#ban n hosts for one hour:
bantime = 3600

#maxtrys
maxretry = 3

# Override /etc/fail2ban/jail.d/00-firewalld.conf:
banaction = iptables-multiport

[sshd]
enabled = true

なぜこれが起こるのか知っている人がいますか?

ベストアンサー1

iptables設定に名前のあるフィルタチェーンがないようですf2b-sshd

まずは簡単な紹介ですiptables

iptablesLinux ファイアウォールサブシステムのコマンドと名前です。このコマンドは、RAMにファイアウォールルールを設定するために使用されます。ファイアウォールiptablesルールは最初にテーブルでソートされます。基本テーブルがありますが、さまざまな目的のために、およびテーブルもfilterあります。はトラフィックフィルタリングを実行するため、テーブルを使用します。natmanglerawsecurityfail2banfilter

その後、これらのテーブルはフィルタチェーンに分けられます。各テーブルには特定の標準チェーンがあります。filterテーブルの場合、標準チェーンは、INPUTおよびFORWARDですOUTPUTFORWARDこのチェーンは、システムが他のシステムへのトラフィックをルーティングするように構成されている場合にのみ使用されます。このINPUTチェーンはシステムに着信トラフィックを処理します。

fail2banルールがチェーンに直接追加され、すべてのINPUT禁止が期限切れになった場合、チェーンが完全にクリアされた場合は、ファイアウォール入力ルールに対するすべての制御を渡す必要があります。fail2banカスタムファイアウォールルールを簡単に持つことはできません。またfail2ban効果は何ですか?これは明らかに望ましくないのでfail2ban実行されない。

代わりに、fail2ban完全に自己管理可能な独自のフィルタチェーンを作成し、起動時にチェーンに単一のルールを追加して、処理のためにチェーンを介してINPUT一致するトラフィックを送信します。fail2ban

たとえば、protectedとして設定した場合は、sshd起動時fail2banに次のコマンドを実行する必要があります。

iptables -N f2b-sshd
iptables -A f2b-sshd -j RETURN
iptables -I INPUT -p tcp -m multiport --dports <TCP ports configured for sshd protection> -j f2b-sshd

これらのコマンドはf2b-sshdフィルタチェーンを作成し、最後のルールに設定されますRETURN。したがって、fail2banルールが処理されると、INPUTルールの通常の処理は不完全なように続き、fail2ban最後にテーブルの先頭にルールを追加してINPUTキャプチャします。すべてのSSHトラフィックを処理し、まずf2b-sshdチェーンに送信します。

fail2banSSHのIPアドレスを禁止する必要がある場合は、f2b-sshdチェーンに新しいルールを挿入するだけです。

iptables またはファイアウォールルールを管理する他のシステムを使用するfirewalld場合、またはすべてのルールを手動でクリアすると、これらのiptables初期ルールとフィルタチェーン全体がf2b-sshd消去される可能性があります。使用するすべてのファイアウォール管理ツールがINPUTチェーンの初期ルールを維持し、このチェーンにf2b-sshd全く触れないようにする必要があります。

コードスニペットの最後にあるエラーメッセージは、fail2ban初期ルールがまだ存在していることを確認している(「不変性チェック」)が存在しないことが確認されたことを示しています。

おすすめ記事