私のサーバーの1つがsshに対して高度な辞書攻撃を受けているようです。パスワードの失敗により、サーバー上で多数のユーザー名がアルファベット順に試されているのがわかります。
これについての珍しいことは次のとおりです。
これを行う方法さまざまなIPアドレスから効果的にブロックできますかを理解するのを手伝ってもらえますか?攻撃の持続が遅い(アルファベットを通過するのにおそらく数か月かかる)ということは、何か特定のことを意味しますか?
また、他の誰かが現在パブリックsshサーバーで同様のアクティビティを確認しているかどうかも知りたいです(つまり、私たちは特定のターゲットですか、それともこの攻撃者はこの攻撃で何千ものsshサーバーを覆っていますか?)
また、私が明らかにする方法はありますかどのパスワード(またはハッシュ)が試行されているか?それぞれの名前が1回か2回しか試行されていないことに気付きました。私仮定彼らは「パスワード」またはユーザーのユーザー名を試しています-しかしこれを確認できますか?
これに対する簡単な答えはパスワードを使用しないでください!!!
あなたはできる:
パスワードを使用する必要がある場合は、インターネット全体ではなく、信頼できるサブネットからのみパスワードを許可してください。また、22以外のポートでsshデーモンを実行すると便利です。通常はそのようなことはお勧めしませんが、攻撃の量を減らすことができれば、はるかに優れています。
あなたの特定の懸念に答えて:
2008年に開始された「スローブルート」ボットネット攻撃の説明と分析は次のとおりです。 スローブルート最終ラウンドアップ
このサイト での同じ期間からの他の議論は示唆している
Fail2banは、サーバーのセキュリティを向上させるための1つのツールにすぎません。もちろん、最初のステップは、パスワードの使用を避け、代わりにサーバーキー認証を使用することです。さらに、特定のIPへの許可されたトラフィックを制限し、IP範囲を禁止し、IPテーブルを使用し、rsync-mirrors.uceprotect.netなどのブラックリストを使用して、既知のSSHハッカーオリジンおよびオリジンネットワークのiptablesを更新します。上記の3レベルのブラックリストの詳細については、uceprotect.netを参照してください。
この種の試みに関連して私が提案した他の項目は、失敗した試みを監視し、ソースIPをブロックすることを推奨しています-最終的には同じIPが別のプローブに使用されるため、存在しないアカウントでログインしようとした後に検出してブラックリストに登録しますファイアウォールルールの処理が増える代わりに、脅威を徐々に減らします。また、1回の接続試行後にブロックしないのが最善の場合もあります。タイプミスが発生します。
最善の答えは、それについて何もしないことです。ユーザーが8文字以上の強力なパスワードを持っている限り、そのレートでは、ブルートフォース攻撃に約3億年かかる可能性があります。
実際の実装についてはよくわかりませんが、一般的なアドバイスは次のとおりです。
パスワードを監査し(john the ripperなどを使用)、ログインのタイムアウトを増やすことができるかどうかを確認します。
Denyhostsまたはfail2banをインストールします-特定の数の攻撃の後、IPによってブロックされます。 denyhostsは/etc/hosts.denyで動作し、fail2banはiptablesルールで動作すると思います。