パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

DragonFly BSD 1.8.0リリース」記事へのコメント

  • by shojin (28072) on 2007年02月01日 15時51分 (#1102336) 日記
    FreeBSD 4.xにはjailというプロセスを隔離する強い仕組みがある。このjailではなく仮想カーネル (virtual kernel)を使う理由を調べてみた。

    jailとは、ファイルシステム空間、プロセス空間およびネットワークを隔離する技術である。従来のUnixにはchrootというファイルシステム空間を隔離する技術はあったが、プロセス空間がやネットワーク空間が別れていなかったため、chrootされたプロセスへの侵入後にchrootされていないプロセス経由での侵入、chrootされていないプロセスにシグナルを送るという攻撃が可能であった。jailでは本体のプロセス空間は見えず、別のIPアドレスが付与されるので上記の攻撃は防げる。また、jailはOSカーネルで実装されているのでほぼ普通のプロセスと同じ速さで動く。jailはこのような特性があるので、FreeBSD上で外部にサービスしているソフトウェアなどセキュリティー上脅威になりそうなプログラムを実行するのに用いられる。

    それでは、高速で制限も厳しいjailではなく仮想カーネルを使うのはどういう場合だろうか。上記で紹介されていた開発者メール [dragonflybsd.org]によると、次の用途を想定しているらしい。
    1. ハードウェアに依らないカーネル開発
    2. 実際のカーネルを使うリスクよりも少ないリスクでのシステム運用
    シリアルで繋ぐ方法よりカーネルの状況を把握しやすくなるという点で1は十分有用な利用方法とだと考えられる。DragonFly BSDにあるプロセスのスナップショットを取る機能をこれにも適用できるとしたら、カーネルの逆順実行デバッグも可能となるだろう。
    カーネルにセキュリティホールがある場合というのは時々あるため、2は現実的な利用方法であるが、どの程度安全になるかやそれに見合ったオーバーヘッドとなるかという点で疑問が残る。

    以上のように考察してきたが、なんちゃってカーネル開発者としては1のカーネル開発に使うという利用用途だけでも十分歓迎に値すると考えている。

アレゲは一日にしてならず -- アレゲ研究家

処理中...