いくつかの理由があります:
-
トレーサビリティ :sudo で実行されたコマンドがログに記録されます。 bash で実行されるコマンドは時々 ログに記録されますが、詳細が少なく、簡単にブロックできるメカニズムを使用しています。
-
特権の分離 :ほぼ every コマンドは every と同じではありません 指図。ルートを必要としないものはまだたくさんあります
-
ファイル編集 :Web ファイルは root 以外のユーザーによって所有され、root 以外のユーザーによって実行されます... では、なぜそれらを root で編集するのでしょうか?
-
攻撃の軽減 :以下のまったく仮定に基づかないシナリオを考えてみましょう:ワークステーションが何らかのマルウェアを取得し、適切なクライアントから保存された認証データベースから FTP/SCP/SFTP/SSH ログインを盗み出し、それを攻撃者に送信します。攻撃者はあなたのデバイスにログオンして何らかの悪さをします。さて、彼らは足跡を隠すことができますか、それとも彼らの行動があなたに見えるでしょうか?私は新しい人と毎週1回以上話します
-
自動攻撃緩和 :ブラジルのハッキングされたサーバーがネットワークをスキャンし、リッスンしている SSH サーバーをプルアップしています。攻撃者が自動攻撃に使用するユーザー名は?たぶん
webuser
、またはtest
、またはwww
またはadmin
-- しかし、他よりも多い:root
.
確かにもっと多くの理由がありますが、これらは私の頭に浮かんだ最初の理由です.
これを見たばかりで、少し遅れましたが...
いいえ - シンプルな Web サーバーは root で管理でき、基本的には安全です。
非 root として管理することにはいくつかの利点があることは事実ですが、これらは取るに足らないものであり、ほとんどのセキュリティ アドバイスによって誇張されています。ネットワークに面したサービスを保護することは、はるかに重要です。 Web サーバーにパッチを適用し、Web アプリのアプリケーション層の欠陥をチェックしてください。
Tylerl の指摘に答えるには:
-
トレーサビリティ - これは複数の管理者がいる場合に有効かもしれませんが、管理者があなただけの場合は、ルートとして完全に追跡できます。
-
特権の分離 - 実際には、root 以外で行うことはほとんどないため、違いはありません。
-
ファイル編集 - 上記を参照
-
攻撃の軽減 - ワークステーションにマルウェアがある場合、すべての賭けは無効になります。パスワードなしの sudo を使用すると、彼が言及している攻撃は引き続き機能します。 su を使用すると、マルウェアはキーロガーを使用してパスワードを取得できます。
-
自動攻撃緩和 - 強力なパスワードを使用する (または代わりに SSH キーを使用する) という標準的なアドバイスに従えば、いずれにせよブルート フォーサーは侵入しません。