sudo、su、またはloginの間でroot権限を取得する最も安全な方法は何ですか?

sudo、su、またはloginの間でroot権限を取得する最も安全な方法は何ですか?

権限のないユーザーが破損しても、rootアカウントが安全であることを願っています。

Ubuntuでは、デフォルトでは「セキュリティ上の理由から」sudoのみを使用できます。しかし、テキストモードコンソールでログインを使用するよりも安全であるかどうかはわかりません。攻撃者が通常のユーザーとしてコードを実行できる場合、多くの問題が発生する可能性があります。たとえば、エイリアスの追加、PATHへのコンテンツの追加、LD_PRELOAD、X11キーロガーの設定などがあります。私が見ることができる唯一の利点は、タイムアウトがあり、ログアウトすることを決して忘れないことです。

suと同じ問題がありますが、時間制限もありません。一部のタスク(特にIOリダイレクト)はsuを使用する方が便利ですが、セキュリティの観点からは悪く見えます。

テキストモードコンソールにログインするのが最も安全なようです。 initによって起動されるため、攻撃者がPATHまたはLD_PRELOADを制御できる場合、彼はすでにルートです。 X で実行されるプログラムは、主要なイベントを傍受できません。 Xで実行されているプログラムが[ctrl] + [alt] + [f1]を傍受し(コンソールのように見えるフルスクリーンウィンドウを開くことができるか)、それとも[ctrl] + [alt] +のようなものかわかりません。 Windowsでは[del]安全です。それ以外に私が見る唯一の問題は、タイムアウトがないことです。

それでは、私が何かを見逃しているのでしょうか? Ubuntuの人々はなぜsudoだけを許可することにしましたか?すべての方法のセキュリティを向上させるにはどうすればよいですか?

SSHはどうですか?伝統的に、ルートはSSHを介してログインできません。しかし、上記のロジックを使用するのが最も安全なアプローチではありません。

  • SSHによるルートアクセスを許可する
  • テキストモードに切り替える
  • rootとしてログイン
  • SSH経由で他のマシンに
  • rootとしてログインしますか?

ベストアンサー1

セキュリティは常に妥協案に従います。海の底にある安全なアンプラグドサーバーのようにroot最大まったくアクセスできない場合は安全です。

あなたが説明するLD_PRELOADとPATH攻撃は、攻撃者がすでにあなたのアカウントにアクセスしているか、少なくともドットファイルにアクセスしていると仮定します。 Sudoはこれに対してまったく保護しません。結局のところ、彼らがあなたのパスワードを知っているなら、将来あなたを欺く必要はありません...彼らは以下を使うことができます。sudo

Sudo が最初に設計した目的が何であるかを考慮することが重要です。特定コマンド(プリンタ管理コマンドなど)は、root権限を完全に放棄せずに「サブマネージャ」(おそらく研究室の大学院生)に送信されます。 sudoを使って行うすべて今私が見た最も一般的な用途ですが、プログラムが必ずしも解決しようとしているわけではありません(したがって、構成ファイルの構文は非常に複雑です)。

ただし、sudo-for-unrestricted-rootする他のセキュリティ問題であるルートパスワード管理の効率を解決します。多くの組織では、これらの情報をキャンディのように伝え、ホワイトボードに書き込んで永遠に保管することがよくあります。アクセス権を撤回したり変更したりすると、大量生産になるため大きな穴が残ります。誰がどのパスワードを持っているかを追跡するのは難しいです。知るどれ。

ほとんどの「サイバー犯罪」は内部で発生することを覚えておいてください。説明されているルートパスワードの状況によれば、誰が何をしたのかを追跡するのは困難です。リモートロギングを使用するsudoはこれをうまく処理します。

ホームシステムでは、2つのパスワードを覚えておく必要がないという便利さよりも、これは本当に重要であると思います。多くの人が単に同じに設定するか、より悪くは最初に同じに設定してから同期しないようにして、ルートパスワードを役に立たなくする可能性があります。

パスワードの使用別の言葉SSHは危険であり、私が見た実際のシステム流出の90%にはパスワードをスニッフィングするトロイの木馬SSHデーモンがインストールされているからです。 SSHキーを使用することをお勧めします。これは、リモートルートアクセス用の実行可能システムでもあります。

しかし、今の問題は、パスワード管理から鍵管理に切り替えて、SSH鍵は実際に管理するのが簡単ではないということです。コピーを制限する方法はありません。誰かがコピーを作成した場合は、パスワードを無差別代入攻撃できます。キーをリムーバブルデバイスに保存し、必要なときにのみインストールする必要があるというポリシーがあるかもしれませんが、それを強制する方法はありません。これで、取り外し可能なデバイスを紛失したり盗まれたりする可能性があります。

ワンタイムキーまたは時間/カウンタベースの暗号化トークンを使用して、最大のセキュリティを実現します。これはソフトウェアを介して行うことができますが、改ざん防止ハードウェアが優れています。オープンソースの世界には次のものがあります。ウィキペディアユビキまたはリンOTP、そしてもちろん排他的なヘビー級RSAセキュリティID。組織が中規模または大規模な組織である場合、またはセキュリティに敏感な小規模組織である場合は、これらの管理アクセス方法の1つを検討することをお勧めします。

しかし、これは、合理的なセキュリティ慣行に従う限り、実際の管理上の問題がない家族にとっては多少負担になる可能性があります。

おすすめ記事