web-dev-qa-db-ja.com

大量のSSH DoS攻撃に対してサーバーを強化する

マシンに合法的にログインできるポートが残っていない多数のSSHセッションを開こうとする(おそらくパスワードを総当たり攻撃しようとする)攻撃者からLinuxサーバーをどのように保護できますか?

サーバーはすでにSSHキーベースのアクセスのみを使用しており、ルートログインを許可していないため、パスワードの総当たりは問題ではありません。

9
donatello

通常1つの解決策は Fail2Ban です。これは、ファイアウォールルール(iptables)を使用して、ある種の徹底的な検索攻撃が明らかに進行しているIPアドレスからの着信接続をブロックするシステムです。

もちろん、これは分散DoSでは機能しません。これは、何千もの異なるIPアドレスからのものです。一般に、分散型DoSに抵抗するものはほとんどありません。

Fail2Banは、大規模な場合にも問題になる可能性があります [〜#〜] nat [〜#〜] :たまたま同じIPを共有している通常のユーザーのネットワーク全体をロックアウトする可能性があります外部から見た住所。

Fail2Banなどのツールの構成を開始するときは、強く推奨されます。ま​​た、Fail2Banルールでカバーされていない別のポートで別のSSHサーバーを実行します。不正な構成によってロックされた場合に備えて、再入力を許可するためだけです。


別の完全に異なる戦略は、常に接続を開いたままにすることです。例えば。あなたのサーバーとあなた自身のデスクトップシステムの間に長年のSSHがあります;その上で他の接続を多重化することもできます(トンネル用のSSH機能やSOCKSプロキシを使用)。これにより、割り当ての問題が回避されます。root接続用の空きポートをすでに取得しているので、取得する必要はありません。

8
Thomas Pornin