web-dev-qa-db-ja.com

fail2banとdenyhostsは常にUbuntuで私を禁止しています

LinodeでUbuntuインスタンスを取得しました。 SSHを保護するために、(fail2banを使用して)apt-getをインストールしましたが、問題が発生しました。正しいパスワードを入力していても、fail2banがIPを禁止し続けました(限られた期間、ありがたいことに)。そこで、fail2banを削除し、代わりにdenyhostsをインストールしました。同じ問題ですが、もっと深刻です。SSHで接続するたびに、IPが禁止されるようです。 /etc/hosts.denyから削除し、denyhostsを再起動して再度ログインすると、IPが再び禁止されます。

私が考えることができる唯一の説明は、私がrootとしてSSHで接続しているということです(はい、はい、私は知っています)。正常にログインしたとしても、rootとしてSSHでログインする人をブロックする何かがどこかに設定されているのでしょうか。これは私には奇妙に思えます。何か案は? (IPのホワイトリストへの登録は一時的な修正です。1つのIPからのみログオンできるようにしたくありません。)

6
Trey Parkman

これらのアプリの中には、失敗したキーログインをブルートフォース攻撃としてカウントすると誰かが言っているのを見たことがあると思います。キーを使用して実行されているssh-agentはありますか?そのセットに接続すると、パスワードにフォールバックする前にすべてのキーが順番に提供されるため、それが理由である可能性があります。 sshdのログレベルを高く設定して、fail2ban/denyhostログを確認してください。

編集: ここ は、それを修正する方法で、私をひっくり返した元のソースです。

4
Daenyth

次のリンクを確認してください。

fail2ban全体を廃棄し、ホストのアイデアを拒否したい場合は、以下のNathan Powellが言うように、ポート22からよりあいまいなものに変更してください。

また、いくつかのアイデア:

  1. iptables:次の例では、10分以内にポート22で2回以上接続を試行する着信接続をドロップします。

    iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW 
             -m recent --set
    
    iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW
             -m recent --update --seconds 60 --hitcount 4 -j DROP
    
  2. キーベースのログイン

  3. ポートノッカー(ノック)

3
eric

Fail2banに戻ることにオープンである場合は、いつでもjail.confignoreipディレクティブを使用できます。例えば:

ignoreip = 127.0.0.1 192.168.1.0/32

このようにして、ずさんな入力でブロックされないようにします;-)これは、IPをスプーフィングしてブロックできないことも意味します(ただし、TCPトラフィックはそれほど大きくない)懸念)。

0
Kyle Brandt

特定の理由でrootとしてsshを実行している場合は、キーが設定されていることを願っています。 _sshd_config_ファイルに次の変更を加えることをお勧めします。

_PermitRootLogin without-password
AllowUsers [email protected]
_

ルートとしてサーバーにSSH接続できるホストをロックダウンします。

rootとしてsshする必要がない場合は、そうしない可能性が高いので、通常のユーザーを自分で設定し、グループsshなどを作成し、ユーザーのキーを設定する必要があります。 、それらをグループsshに追加し、_AllowGroups ssh_を_sshd_config_に追加します。

次に、Sudoをrootとして実行し、次の行を追加して、ユーザーにvisudoアクセスを許可します。user ALL=(ALL) ALLこれにより、_Sudo commandX_

特にrootログインを許可する必要がある場合は、sshdがロックダウンされていることを確認することが私の最優先事項です。

隠されたポートで実行している場合でも、上級者はポートスキャンであなたを見つけるでしょう。

0
cpbills

SshdがVERBOSEログレベル(またはそれ以上)に設定されている場合、ユーザーが正常にログインするたびに、システムログに「... Failednone ...」というフレーズが記録されます。デフォルトでは、fail2banはこれを失敗としてカウントするように設定されています。 。 sshdのログレベルをINFOに戻すことで、問題を解決しました。

詳細については、この質問に対する私の回答を参照してください fail2banは、一連の*成功した*ログイン後に私を禁止します

0
dr-jan