Fail2banはすぐにブロックされません。

Fail2banはすぐにブロックされません。

SSHアクセスを制限するために、私のサーバーにFail2banシステムを設定しました。デバイスにユーザー名を入力した後に間違ったパスワードを3回(最大再試行値)入力すると、ユーザーがログインを試みることができることを除いてうまく機能します。ただし、ログイン試行からそのユーザーのログアウトを削除して新しいセッションを開くと、ブロックされます。

パテを使用するときは、宛先アドレスを入力します(ユーザー名は入力しません)。

login as: user
user@address's password: 1234
Access Denied
user@address's password: 1235
Access Denied
user@address's password: 1324
Access Denied
user@address's password: 1234
Access Denied
user@address's password: 1235
Access Denied
user@address's password: 1324
Access Denied

理論的には、3回目の試行後にログインを許可するのではなく6回試行する必要があります。その後、多くの認証試行失敗のポップアップが表示されます。その後、Fail2banはデバイスアクセスを正しくブロックしました。

3回目の試行後すぐに起動するように設定するにはどうすればよいですか?

編集:わかりましたこれ質問。しかし、私はこれがまったくブロックされない理由を尋ねるポスターでこれが異なると思います。すでに進行中のログイン試行をブロックしていない理由はもっと疑問に思います。

答え1

私の側でいくつかの調査をした後、

  • iptables私の設定によれば、fail2banログインしようとしているセッションとすでにログインしているセッションの両方をブロックします。
  • my-basedshorewall構成はfail2banアクティブなセッションをブロックしませんが、新しい接続試行はブロックします。

違いは、iptablesトラフィックをブロックするために使用される規則と特定の設定によって異なりますfail2ban

元の抽象化を使用しているのか、iptablesそれとも高いレベルの抽象化(など)のいずれかをufw使用shorewallしているのかわからない場合は、次のヒントを参考にしてください。


使用iptables

  1. 私はjail.local次の定義を持っています:

    banaction = iptables-multiport
    action_ = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="%(protocol)s]
    action = %(action_)s
    

    各ルールでは、デフォルト設定が上書きされないか、デフォルト設定が上書きされますbanaction = iptables-multiport(デフォルト設定と同じ)。

  2. また、jail.local最大再試行回数がデフォルトポリシーであるかサービス固有のルールセットであるかにかかわらず、必要なポリシーを反映させるには、次の手順を実行します。

    maxretries = 3
    
  3. action.d/iptables-multiport.conf禁止および禁止解除規則を次のように定義します。

    actionban = iptables -I fail2ban-<name> 1 -s <ip> -j DROP
    actionunban = iptables -D fail2ban-<name> -s <ip> -j DROP
    

海岸壁を利用する

Shorewallコネクタを使用している場合は、fail2banShorewallが初期セッションだけでなく、そのIPアドレスのすべてのトラフィックにブロックを適用するようにデフォルトのルールを調整する必要があります。

  1. 私はjail.local次の定義を持っています:

    banaction = shorewall
    action_ = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="%(protocol)s]
    action = %(action_)s
    

    各ルールでは、デフォルト設定が上書きされないか、デフォルト設定が上書きされますbanaction = shorewall(デフォルト設定と同じ)。

  2. また、jail.local最大再試行回数がデフォルトポリシーであるかサービス固有のルールセットであるかにかかわらず、必要なポリシーを反映させるには、次の手順を実行します。

    maxretries = 3
    
  3. 内部に沿岸壁プロファイルshorewall.conf

    DYNAMIC_BLACKLIST=Yes
    BLACKLISTNEWONLY=No
    

    このBLACKLISTNEWONLY設定は、すべての接続をブロックするか新しい接続のみをブロックするかを決定します。ここに行きたいと思いますNo

関連情報