Linux豆知識 090

chroot

このエントリーをはてなブックマークに追加
今回は、「chroot」について。

chrootとは、「CHange ROOT」のことで、ルートディレクトリを変更する技術です。ここでのROOTとは特権ユーザではなく、ファイルシステムのルートディレクトリのことを指します。

UNIX系のファイルシステムは、「/」すなわちルートディレクトリを頂上としたツリー構造をとっています。このルートディレクトリを、たとえばですが「/var/chroot/」ディレクトリに変更する技術が「chroot」です。

「ルートディレクトリを変更する」といっても、すべてのソフトウェアでルートディレクトリが変更になるというわけではありません。特定のソフトウェア(主にサーバソフトウェア)において、chrootを利用する環境が整っており、ソフトウェア側で設定を行った際のみchrootが行われます。有名なところでは、BINDでchrootが利用できます。

さて、この技術は何の役に立つのでしょうか。これは、「侵入阻止」など、セキュリティの確保を目的に行われます。たとえば、chroot環境下で動作していないBINDが乗っ取られた場合、侵入者はルートディレクトリ、すなわちファイルシステム全体に侵入することができてしまいます。一方、chroot環境で動作しているBINDが乗っ取られても、侵入者はchrootされたディレクトリの中だけで動作でき、外には出られません。

chrootの事例はこれだけではありません。FTPサーバでもchrootが利用されることがありますが、この場合、侵入者のみならず、FTPの利用者もchrootされたディレクトリの外に出ることができません。このため、無用なディレクトリに誤って迷い込んでしまうことがなくなり、トラブルの防止となります。

セキュリティ確保の技術としては基本的かつ比較的簡単に実現できる技術ですので、覚えておきましょう。

ページトップへ