誰でも読み取り可能な /root ディレクトリがなぜ悪いのか、例を挙げて教えてください。

誰でも読み取り可能な /root ディレクトリがなぜ悪いのか、例を挙げて教えてください。

私が行っている議論に重みを持たせるために、セキュリティの観点から、/root ディレクトリを誰でも読み取り可能にすることがなぜ悪いのか、具体的な例を見つけようとしています。

ネット上では、/root に 755 の権限を与えるのは本当に良くない、という主張を繰り返す人が多数いるのを目にしましたが、それ以上の証拠はありませんでした。

このような場合、システムのセキュリティが侵害される可能性があるシナリオを誰か提供してもらえますか? 不自然でないほど良いのですが、たとえば、/root に 755 の権限がある場合、新しくインストールした Centos システムにどのような影響が出るのでしょうか?

編集 - 返信ありがとうございます。しかし、今のところ具体的な例はありません。言い換えると、/root が見えるという事実を利用してシステムを危険にさらすことができるのでしょうか? /root に誰もがアクセスできないことを前提としてプログラムがインストールされている例はありますか?

編集 2 - これまでのところ、誰かが権限をチェックせず、ディレクトリをルート専用であるかのように使用するという点を除けば、大きなセキュリティ リスクではないというのがコンセンサスだと思います。

答え1

これは、他のユーザーが他のユーザーのホーム ディレクトリを読み取れないようにするための推奨事項と基本的に変わりません。

デフォルトが誰でも読み取り可能になっている場合、非公開にしておきたい新しいファイルを保存するときにチャンスが生まれます。あなたがコピーする前に誰かがそれをコピーできる可能性は常にありますchmod go-r

答え2

基本的に、それはコア開発者の選択に帰着し、それ以上のものではないと思います。なぜでしょうか? デフォルトでは、 には誰にとっても価値のあるものはほとんどないはずです/root。一般的な用途のためにルート ユーザーとしてログインする人はいないはずです。

たとえば、FreeBSD では誰でも を読み取ることができます/root。 内の一部のファイルは/rootセキュリティ上の理由から読み取ることができませんが、それらのファイルが で存在していることを「確認」することはできますls(読み取ることはできません)。たとえば、.historyは設定されてい-rw-------ますが.loginは です-rw-r--r--

FreeBSD のセキュリティに対するアプローチは Linux とは少し異なります。歴史的に FreeBSD はサーバー向けであり、デスクトップとして実行することもできますが、実際には (デフォルトでは) サーバーとしての方が優れています。

個人的には、この設定に問題はないと思います(/root読むことができます)。

FreeBSD/rootの には、実際には設定ファイル以外にはほとんど何も入っていません。メールは実際のユーザーに転送する必要があります。誰も root ユーザーとしてログインしてはいけません。アカウントは、ソフトウェアのインストールと設定、およびメンテナンス タスクにのみ使用する必要があります。FreeBSD では、いくつかのセキュリティ上重要なファイル ( など.history) を除けば、隠すものは何もありません/root

これについてさらに詳しく知りたい方は、FreeBSD ハンドブックのセキュリティに関するセクションざっと目を通しただけで読めるようにするという彼らの選択については何も見当たりませんでした/rootが、そこにはたくさんの情報があります。

答え3

おそらく、不注意な管理者が簡単に解読できるパスワードを検索し、その出力をそのまま放置しているのでしょう (これは正しい呼び出しではないかもしれませんが、考え方はわかります)。

# john-the-ripper /etc/shadow > ~/cracked-passwords.txt

答え4

が書き込み可能であれば~root、どのユーザーも自分の SSH キーを に追加し~root/.ssh/authorized_keys、 経由で簡単にルート アクセスできるようになりますssh root@some-host

~root「単に」読み取り可能な場合でも、rootユーザーの.bash_historyファイルにはアクセスできます。このファイルには、コマンド ラインで入力されたパスワードやその他の資格情報が含まれている可能性があります。または、コマンド プロンプトに誤って入力または貼り付けられた可能性があります。

確かに、コマンドラインでセキュリティ保護されたデータを渡すことは想定されていませんが、その警告は、実行中に検出するのは危険であり、他のユーザーが環境変数を読み取ることができないため、一般的には低リスクとして扱われます。rootのファイルにアクセスできる場合は、偶然かどうかにかかわらず、その方法で入力された可能性.bash_historyのある機密データにアクセスできます。root

もちろん、これらの問題を軽減する方法はあります。たとえば、root鍵認証があってもSSHにログインできないようにしたり、シェル履歴を無効にしたり、クリーンアップに熱心に取り組んだりします。しかし、これらは緩和策; これらはセキュリティオニオンのレイヤーです。

0700 であることは~root、セキュリティの玉ねぎのもう 1 つの層です。泣きたくない場合は、必要以上に玉ねぎの皮をむかないでください。

関連情報