なぜchrootを使用する必要があるのですか


13

この質問chroot-jail-what-is-it-and-how-do-i-use-itは、何がどのように使用されるかを示していますchroot

私が理解していないのは、なぜ使う必要があるかということですchroot。私はそれが何をするのか理解していますが、答えが「chrootセキュリティとして使用するべきではない」と指摘しているため、セキュリティメカニズムまたはサンドボックスではないという事実を考えると、使用する必要がある場合を考えることはできませんプログラムがシミュレートされたファイルシステムの外部のファイルを変更するのを防ぐための手段」。

特に、特定のプロセスがサブディレクトリをルートファイルシステムとしてマップする必要があるのはなぜですか?


1つのファイルシステムでより多くのディストリビューションを持つため。
IPOR Sircer

どういう意味ですか?
アレクサンドルイリミア

1
断固としたハッカーが刑務所から抜け出ることを防ぐことはできないかもしれませんが、それはそれを難し​​くし、ほぼ間違いなく偶発的なアクセスを防ぎます。
バーマー

新しいOSをゼロから構築する場合、これを使用して、ホストファイルシステムに依存しない新しい環境をセットアップできます。LFSプロジェクト(最初からLinux)を
ご覧ください

回答:


13

chrooted環境を使用する理由はたくさんあります。1つのプログラムの異なるバージョンを保持するために使用できます。特定の環境をシミュレートしていくつかの機能をテストし、メインとは異なるシステムのイメージを作成するために使用できます一つなど

ウィキペディアでは、chroot刑務所とその使用法について詳しく説明しています。

そこから:

テストと開発:テスト環境は、さもなければ本番システムにデプロイするにはリスクが大きすぎるソフトウェアのchrootでセットアップできます。

依存関係の制御:ソフトウェアは、予想される依存関係のみが設定されたchrootで開発、構築、およびテストできます。これにより、開発者がさまざまなプログラムライブラリセットをインストールしたプロジェクトを構築することによって生じる、ある種のリンケージスキューを防ぐことができます。

互換性:レガシーソフトウェアまたは異なるABIを使用するソフトウェアは、サポートライブラリまたはデータファイルがホストシステムのものと衝突したり名前が衝突したりする可能性があるため、chrootで実行する必要がある場合があります。

回復:システムがブート不能になった場合、代替ルートファイルシステム(インストールメディアやLive CDなど)からブートストラップした後、chrootを使用して破損した環境に戻すことができます。

特権の分離:プログラムは、開いているファイル記述子(ファイル、パイプライン、およびネットワーク接続用)をchrootに運ぶことができます。これにより、chrootディレクトリ内に作業ファイルを残す必要がなくなるため、jailの設計が簡素化されます。また、これにより、セキュリティ侵害を先制的に封じ込めるために、特権プログラムの潜在的に脆弱な部分をサンドボックスで実行する一般的な配置が簡素化されます。chrootは必ずしもルート特権を持つプロセスを含めるのに十分ではないことに注意してください。


3
基本的に、から始まる特定のことを読み書きするプログラムのセットを実行している/が、既存のシステムを台無しにしたくない場合、ルートとして実行する場合でもchrootは便利です(それは無意味です)セキュリティの観点から)。プログラムを信頼する限り有用な「リダイレクタ」として機能します。
ローレンス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.