ハイジャックされる可能性のあるSSHセッションとSSHベストプラクティス


14

私は今少しおかしくなりました。最近委託したリモートサーバーにSSH接続しています。私はこれをルートとしてやっています。fail2banをインストールしましたが、ログに大量の禁止IPがありました。

前回ログインしたときに、端末が本当に遅れていることに気付き、インターネット接続が切断されました。約5分後にバックアップを購入したとき、サーバーに再度ログインし、「誰」にログインし、2人のrootユーザーがログインしていることに気付きました。接続が終了すると、最後のセッションからのプロセスはサーバーで停止しましたか?

接続が最初に切断されたときに、「書き込みに失敗しました:パイプが壊れています」で接続が終了しました。他のルートとのbashセッションを終了しました。sshセキュリティについてはあまり知りませんが、セッションがハイジャックされる可能性はありますか?これを確認する方法はありますか?sshを使用してログインを続ける必要があります。どのような予防策を講じる必要がありますか?私が何らかの方法でプロキシを経由してサーバーに到達した場合(中間攻撃者のように)、彼らは私のsshセッションをハイジャックできますか?

回答:


40

ルートログインはおそらく、かつてあなただったダングリングシェルセッションです。また、サーバーはおそらく、試行されたすべてのログインでハンマーを打つことでdDOSを取得しています。

SSHをロックダウンします。ルートログインを許可しないでください。このマシンをブルートフォースしようとする要求は、すぐに失敗します(必要なリソースがはるかに少なくなります)。通常のユーザーとしてログインし、を介してアクセス許可を昇格しsudoます。また、SSHログインをクライアントIPのリストに制限して、好ましくないマシンがログインを試みることさえできないようにします。

ユーザーのログインには、パスワードの代わりにSSHキーを使用します。それらは扱いやすく、誤って秘密キーを間違った場所に渡した場合に備えて、パスワードで保護することができます(それらを交換して古いキーを無効にする時間ができます)。コメントで@EEAAが言及したように、パスワードとキーの両方ではなくキーのみを使用するようにクライアントを制限する場合は、パスワードベースの認証も無効にする必要があります。

モンゴルの氏族が城壁を破壊し続ける場合、SSHを22ではなく別の高いポート(@AustinBurkeが指摘したように-1024未満-特権ポートを使用するため)に移動する可能性があります。はあなたにとって問題です(そして、ほとんどのボットはあまり優雅ではないので、22でのみ試みるでしょう)。ポート22を試したり、マシンをスキャンしてSSHでリッスンしているポートを確認したりすることを止めることはありません。ほとんどの場合、不便です。しかし、それは役立つかもしれません。

他の人がより多くのヒントを提供できるかもしれませんが、これらは公開されているSSHサーバーのかなり一般的なセキュリティ対策です。


22
キーを使用するだけでは不十分です。パスワード認証も無効にする必要があります。
EEAA

4
@marcelm「ログ内の大量の禁止IP」は、これが起こっている可能性を示唆していませんか?
トライプハウンド

4
@tripehoundいいえ、そうではありません。消費される相対的なリソースについては何も言いません。
-marcelm

3
それはある、しかし@marcelmその効果へのヒント。
モニカとの軽さのレース

4
これはこの宇宙では実現可能ですが、sshは非常に安全です。もちろん、飛行中のトラフィックを取得して暗号化された状態で保存することもできますが、暗号化されたチャネルを確立するには、Diffie–Hellmanキー交換が使用されます。セッション中にストリームキーが通信されなかったため、認証に使用されたプライベートsshキーとパブリックsshキーの両方がある場合、これをクラックすることはできません。誰かがそのストリームをクラックするまでに、私たちは皆死んでしまいます。
スプーラー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.