Chroot – ウィキペディア

before-content-x4

クルー を意味する ch アンジ ルートディレクトリを変更するためのUNIXシステム間の関数です。現在のプロセスとその子プロセスにのみ影響します。 「Chroot」自体はシステムコールで呼び出すことができます クルー(2) ユーティリティだけでなく クルート(8) 関連。

after-content-x4

リストに「rooted」され、仮想ルートディレクトリの外側のエリアにオープンファイルスクリプトがないプログラムは、このディレクトリの外側にファイルにアクセスできなくなります(オペレーティングシステムが正しく実装されている場合)。 クルー したがって、サンドボックスには、信頼できない、テスト、またはその他の危険なプログラムを簡単に配置する簡単な方法を提供します。それは単純な刑務所のメカニズムですが、簡単に壊れることができます。

クルー セキュリティ機能として設計されていませんが、主に仮想環境のセットアップに使用されました。最初の大規模な既知のアプリケーションは、1986年にSUNOSのネットワークソフトウェアエンジニアリング(NSE)でした。周囲の放棄がありました fchroot(1) 可能かつ文書化されています。

実際には、プログラムが特定の固定場所で一時的なファイル、構成ファイル、デバイスファイル、プログラムライブラリのスペースを見つけることを期待しているという事実により、「Chrooting」がより困難になっています。 Chrootディレクトリ内でこれらのプログラムを実行するには、ディレクトリにこれらの必要なファイルを装備する必要があります。

Chroot環境が、コンピューター全体と比較して個々のコンピュータープログラムを隔離するためのセキュリティ機能であるかどうかは、それぞれのオペレーティングシステムの作成者のビューに大きく依存しています。

Unix

  • BSDシステムはプロセスを試みます クルー(2) – 出してはいけません。つまり、ロックされることはありません。この意味での大規模な用語「刑務所」(「刑務所」)の最初の進歩は、UNIXディストリビューション4.3BSDに関連して1991年以来証明されています。 [初め] たとえば、権利の延長があります クルート(8) NetBSDから非常に困難です。 [2]
  • 歴史的に、BSDシステムは、2000年以来、オペレーティングシステムレベルで仮想化を提供してきました。このレベルでは、カーネルはいくつかの孤立した完全に完成したユニット(「ユーザースペース」インスタンス、環境)で使用されています。パイオニアはFreeBSDディストリビューションで、バージョン4.0(2000)でUNIXコマンドで 刑務所(8) [3] プロセス環境を保存するために互いに救われること。 [4] これから、「脱獄」という用語に続いて2004年が続きます。 [5]
  • Solarisでは、ChrootはSolaris 10の前にセキュリティ機能と呼ばれていなかったため、プログラムがこの環境から「解放」できる場合、問題は見られませんでした。ブレイクアウトは明示的に文書化されています。互いにプロセスを隔離するために、Solaris 10は2005年以来Solaris容器の概念でした(また: 息子 )) の上 クルー(2) 構築され、「ステロイドのクルー」と呼ばれました。 [6] ただし、Solaris 10以降のバージョンでは、他の多くのプロパティが追加され、ファイルシステムも追加されました(そのようなもの Proc -filesystem)chrootに対して明示的に保護されています。 [7]

Linux

  • Linuxの下でも、Chrootはセキュリティ機能と呼ばれません。ユーザーのように Chroot環境を中に残すことができます クルー(2) -manpage文書化。
  • 2008年から2008年から使用できます Linuxコンテナ LXC仮想「ユーザースペース」は、一般的なLinuxカーネルを使用する独自のプロセスで作成されます。 [8] [9] GNU/Linux Software Docker(2013)は、コンテナ内のオペレーティングシステム仮想化を使用してLXCの分離アプリケーションに基づいています。 [十] [11]
分離
クルートは、潜在的な攻撃者が侵害されたプログラムで損傷を引き起こすことやシステムの調査を防ぐことにより、セキュリティブレークに対する予防措置として使用できます。たとえば、ネットワーク内のファイルサーバーは、接続が取得された直後にクライアントにサービスを提供するディレクトリを削除できます。 Mail Transfer Agent Postfixは同様のアプローチを追求し、そのタスクを連続して接続されたいくつかの小さなプログラムに分割します。 ChrootはFTPサーバーにも適しているため、FTPユーザーは「ホーム」ディレクトリから別のディレクトリに切り替えることができません。
ハニーポット
Chroot Directoryを装備して、実際のシステムがネットワークサービスでシミュレートされるようにすることができます。クルーメカニズムは、攻撃者が人工環境にいることに気付かないようにすることができます(「刑務所」) [初め] または実際のシステムで脱出します。
テストする
Chrootメカニズムによって達成される分離は、テスト目的にも役立ちます。このようなディレクトリでは、オペレーティングシステムの独自のコピーをインストールし、ソフトウェアのテスト環境として機能することができます。その使用は、生産システムではリスクが高すぎます。
修理
ブートCDを使用してLinux/Unixシステムを修復するには、Chrootを使用してNunedシステムで作業できます。たとえば、忘れられたルートパスワードを復元できます。
オペレーティングシステムのインストール
一部のLinux分布のインストールは、コマンドラインを介してのみ可能です。そのため、配布アーカイブをChrootを使用して新しいパーティションに開梱した後、新しいシステム環境に入る必要があります。 [12番目]

ユーザールートのみがChrootを実行できます。これは、通常のユーザーが特別に作られたクルー環境内にsetUIDプログラムを配置できないようにすることを目的としています(例:間違っています /etc/passwd ファイル)、それは権利を許します。ただし、非ルートユーザーがChrootメカニズムを使用して独自のサンドボックスを作成することも妨げます。

after-content-x4

「Schroot」を使用すると、ユーザーはChrootを使用できます。「Openroot」は、GUIプログラムのX11転送など、多くの拡張機能を提供します。

クルーメカニズム自体は完全に安全ではありません。プログラムがクルート環境にルートの権利を持っている場合、ネストされたクルート環境(Linuxまたはsolarisの下)を使用して最初の環境から抜け出すことができます。 [13]

ほとんどのUNIXシステムは完全にファイルシステム指向ではないため、システム呼び出しを介したネットワークやプロセスの制御などの潜在的に危険な機能は、生意気なプログラムで引き続き利用可能です。

Chrootメカニズム自体は、I/O帯域幅、プレートスペース、CPU時間などのリソースに制限を課しません。

  • OpenVZ-クルートと同様に機能するが、分離する方が良い仮想化ソリューション [14]

Linux

Unix

  1. a b ビル・チェスウィック: Berferdとの夜:クラッカーが誘惑され、耐えられ、勉強されます 。 USENIX。 In:Association(hrsg。): Usenix Summer Conference Proceedings、Volume 1 。 1991年カリフォルニア州サンフランシスコ、 S. 163 archive.org [PDF])。
  2. クルー環境から抜け出す方法 -NetBSDウィキから 記念 2008年12月10日から インターネットアーカイブ ))
  3. UNIXコマンドの名前の背後にある括弧内の数字は、いわゆるマンページへの分割に続いています セクション (「エリア」)、これらは次のとおりです。(1)一般的なコマンド、(2)システムコール、(3)Subroutinen、(4)Special Files、(5)ファイル形式、(6)ゲーム、(7)マクロとコンベンション、(8)メンテナンスコマンド、(9)Kernelインターフェイス、(s)新しいコマンド。
  4. Matteo riondato: FreeBSDハンドブック第15章刑務所。 の: freebsd.org。 FreeBSDプロジェクト、 2014年8月19日にアクセス
  5. サイラス・ペイカー: セキュリティウォリアー 。 HRSG。:O’Reillyメディア。 2004、ISBN 978-0-5996-55239-8、 S. 304 Google.de [2014年8月19日にアクセス])。
  6. クラウス・スミス: 高可用性と災害復旧:概念、設計、実装 。 ed。:Springer Science&Business Media。 2006、ISBN 978-3-540-34582-4、 S. 186 Google.de [2014年8月21日にアクセス])。
  7. 参照してください クルー(1m) クルー(2) fchroot(2) GCHROOT(1) ; 2014年4月10日に取得
  8. SourceForge LXCダウンロードファイル。 の: sourceforge.net。 2014年8月21日にアクセス
  9. Rami Rosen: Linuxコンテナと将来のクラウド。 (PDF)2014年3月26日、 2014年8月21日にアクセス
  10. 私たちについて| Docker。 (オンラインで利用できなくなりました。)Docker Inc. オリジナル 午前 2014年7月18日 ; 2014年9月6日にアクセス
  11. Dockerとは何ですか、いつ使用するか。 (オンラインで利用できなくなりました。)CenturyLink Innovations Lab、からアーカイブ オリジナル 午前 10. 2014年9月 ; 2014年9月9日に取得
  12. インストールDes Gentoo Basissystems 記念 2014年12月22日から インターネットアーカイブ ))
  13. サイモンのコンピューティングのもの – chroot()刑務所から抜け出す方法 記念 2016年1月27日から インターネットアーカイブ ))
  14. xen vs openvz 記念 2009年4月17日から インターネットアーカイブ ))

after-content-x4