
実行すると、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
の大量のアクセス試行が見られる場合は、システムのアカウントが完全に無効になっていることを確認して、その懸念をリストから削除してください。ssh
root
root
アカウントの試行の他にroot
、一見ランダムなユーザー名によるシステムへのアクセスが見られた場合も、それはシステムへのハッキングの別の試行です。また、それらのユーザー名がシステム上のユーザー名と一致しない限り、それらについてもまったく心配する必要はありません。
システム管理者の中には、この問題の最善の解決策は SSH のパスワード認証を完全に無効にして SSH キー ペアのみを使用することだと言う人もいるでしょうが、私はそれはやりすぎだと思います。SSH キー ペアが弱いと言っているわけではありません (実際はそうではありません)。しかし、システムのアクセス方法が最初から適切かつ安全に設定され、パスワードが簡単にハッキングされないほど強力であれば、システムは非常に安全です。これは、現代の Web サーバーの最大の脆弱性が、SSH などのものではなく、サーバー自体で実際に実行されているフロント フェイスの Web アプリケーションであるためです。
結局のところ、私はこうしたランダムな「ウォーダイヤリング」の試みを心配するのではなく、サーバー自体でユーザーroot
アカウントが無効になっていることを事前に確認するという合理的な行動を取るべきです。2015 年になってもアカウントを有効にしたままパブリック サーバーを運用しているとroot
、長期的には頭痛の種になるだけです。