ps によって多数の sshd/root プロセスがリストされますが、これはブルート フォース SSH ハッキングの試みですか?

ps によって多数の sshd/root プロセスがリストされますが、これはブルート フォース SSH ハッキングの試みですか?

実行すると、ps -efH次のようなものが多数表示されます。14:24 は基本的に現在のシステム時刻です。これらのプロセスは 1 分ごとにポップアップし続けます。

root      6851     1  0 14:24 ?        00:00:00   sshd: root [priv]
sshd      6852  6851  0 14:24 ?        00:00:00     sshd: root [net]
root      6869  6851  1 14:24 ?        00:00:00     sshd: root [pam]
root      6861     1  0 14:24 ?        00:00:00   sshd: root [priv]
sshd      6863  6861  0 14:24 ?        00:00:00     sshd: root [net]
root      6874  6861  0 14:24 ?        00:00:00     sshd: root [pam]
root      6865     1  0 14:24 ?        00:00:00   sshd: root [priv]
sshd      6866  6865  0 14:24 ?        00:00:00     sshd: root [net]
root      6875  6865  0 14:24 ?        00:00:00     sshd: root [pam]
root      6872     1  1 14:24 ?        00:00:00   sshd: root [priv]
sshd      6873  6872  0 14:24 ?        00:00:00     sshd: root [net]
root      6876  6872  0 14:24 ?        00:00:00     sshd: root [pam]

これは、誰かが SSH 経由でこのマシンのルート パスワードをブルート フォースで解析しようとしていることを意味しますか? それとも、それほど悪質ではないのでしょうか?

答え1

これは、誰かが SSH 経由でこのマシンのルート パスワードをブルート フォースで解析しようとしていることを意味しますか? それとも、それほど悪質ではないのでしょうか?

SSH 経由でブルートフォース攻撃を試みている可能性もありますが、たとえそれが「悪質」であったとしても、私は心配することはありません。インターネット上で公開されているサーバーのほとんどは、常に攻撃者によって調査されています。誰かが仮想的に「下見」をすることは心配する必要はありませんが、実際にシステムに侵入した場合は心配です。

なんと、私auth.logが管理しているパブリック サーバーで確認したところ、次のコマンドを実行したときに、過去 24 時間に 2000 回を超える「認証失敗」の試行がありました。

sudo grep "authentication failure;" /var/log/auth.log | wc -l

auth.log恐ろしいように聞こえますが、正直、誰が気にするでしょうか?上記のコマンドを少し変更したバージョンを使用して、ログ エントリを視覚的に簡単に確認します。

sudo grep "authentication failure;" /var/log/auth.log

…次のようなものが表示されます:

Mar 15 07:02:09 hostname sshd[2213]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=115.239.228.35  user=root
Mar 15 07:02:19 hostname sshd[2236]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=115.239.228.35  user=root
Mar 15 07:02:31 hostname sshd[2355]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=115.239.228.35  user=root

すべてのアクセス試行がアカウントに対して行われていることに注意してくださいroot。私がセットアップしたどのシステムでも、rootすぐに無効化されます。したがって、これらの試行は私のケースでは無駄です。したがって、システムをチェックして、アカウント経由でシステムへauth.logの大量のアクセス試行が見られる場合は、システムのアカウントが完全に無効になっていることを確認して、その懸念をリストから削除してください。sshrootroot

アカウントの試行の他にroot、一見ランダムなユーザー名によるシステムへのアクセスが見られた場合も、それはシステムへのハッキングの別の試行です。また、それらのユーザー名がシステム上のユーザー名と一致しない限り、それらについてもまったく心配する必要はありません。

システム管理者の中には、この問題の最善の解決策は SSH のパスワード認証を完全に無効にして SSH キー ペアのみを使用することだと言う人もいるでしょうが、私はそれはやりすぎだと思います。SSH キー ペアが弱いと言っているわけではありません (実際はそうではありません)。しかし、システムのアクセス方法が最初から適切かつ安全に設定され、パスワードが簡単にハッキングされないほど強力であれば、システムは非常に安全です。これは、現代の Web サーバーの最大の脆弱性が、SSH などのものではなく、サーバー自体で実際に実行されているフロント フェイスの Web アプリケーションであるためです。

結局のところ、私はこうしたランダムな「ウォーダイヤリング」の試みを心配するのではなく、サーバー自体でユーザーrootアカウントが無効になっていることを事前に確認するという合理的な行動を取るべきです。2015 年になってもアカウントを有効にしたままパブリック サーバーを運用しているとroot、長期的には頭痛の種になるだけです。

関連情報