TOP情報セキュリティ> プロファイル適用による動作封じ込め
AppArmor
SUSE LinuxのセキュアOS「AppArmor」の概要

AppArmor vs SELinuxの明日はどっちだ

著者:日本SELinuxユーザ会  中村 雄一   2007/6/26
前のページ  1  2  3  次のページ
プロファイル適用による動作封じ込め

   AppArmorは、プロファイルと呼ばれる設定をアプリケーションに適用し、動作を封じ込めます。プロファイルには「アプリケーションにどんなアクセスを許可するか」が設定されています。デフォルトの状態では、アプリケーションはAppArmorの制限を受けません。プロファイル設定が用意されたアプリケーションのみ、AppArmorによって動作が封じ込まれるようになっています。

   ここに、SELinuxとの思想の違いがでています。SELinuxでは「すべてのアプリケーションにアクセス制御設定を行い、システムすべてを守ることを目指す」ことを目的としています。

   しかしAppArmorでは「攻撃されやすいアプリケーション、例えばネットワークに公開されたアプリケーションだけに、プロファイルを適用して守ればいい」という考えに立っています。一部のアプリケーションに対してのプロファイルだけを書けばよいため、必要な設定の量が少なく、管理が容易に行えるのです。

   さて、AppArmorの実際のアクセス制御を知るため、図1のプロファイル設定例をみてください。
ntpdのプロファイル設定の抜粋
図1:ntpdのプロファイル設定の抜粋

   これはntpdのプロファイル設定の例で、ntpdはここで設定されたアクセス許可にしたがって動作します。

   まず(1)でntpdの実行ファイルを指定し、{}の中に、ntpdに許可する権限を記述していきます。

   続く(2)では、許可する特権(POSIX Capability)を指定しています。今回は、システム時間を変える権限を許可しています。

   (3)ではアクセスできるファイル名を指定しています。今回は、ntpdの設定ファイルの読み込みとログファイルの書き込みを許可しています。このように、AppArmorのプロファイル設定の書式は単純でわかりやすいことが理解できるでしょう。


パス名ベースのアクセス制御とPOSIX capabilityの制御

   AppArmorがアクセスの制御を行える対象は、ファイルとPOSIX Capabilityです。ファイルのアクセス制御については、図1の(3)のようにファイル名を基に行っています。ここではファイルに対して、読み(r)/書き(w)/実行(ix)/消去(l)などの操作を制限することができます。

   ファイルのアクセス制御の際にファイル名ではなくラベルを使っています。このためファイルとラベルの2つを管理する必要があり、作業が煩雑になりがちでした。しかしAppArmorではファイル名を使って管理しているため、設定の意味もわかりやすくなっています。

   ファイル以外には、POSIX Capabilityの利用を制限することができます。POSIX Capabilityは、「なぜなにLIDS〜シンプル・セキュアOS〜」で紹介したケーパビリティと同様の機能となります。ファイル操作以外の、システムに対して重要な操作を制限しています。

   このほか、プロセス間の通信や細かいポート番号の利用制限ができますが、AppArmorでは現時点では不可能です。SELinuxより設定項目は少なく簡単ですが、その分セキュリティ面では劣る部分もあります。

前のページ  1  2  3  次のページ


日本SELinuxユーザ会 中村 雄一
著者プロフィール
日本SELinuxユーザ会  中村 雄一
日本SELinuxユーザ会などを通した、セキュアOSの布教活動や開発活動を約6年続けている。SELinuxを主に扱うが、AppArmorも追っている。SELinuxをAppArmor並に簡単に設定する「SELinux Policy Editor」の開発者。最近は組込み機器へのセキュアOS適用にも取り組んでいる。

日本SELinuxユーザ会
http://www.selinux.gr.jp/
SELinux Policy Editor
http://seedit.sourceforge.net/
ブログ
http://d.hatena.ne.jp/himainu/


INDEX
AppArmor vs SELinuxの明日はどっちだ
  AppArmor登場の背景
プロファイル適用による動作封じ込め
  導入・設定の概要