特集
» 2006年12月14日 15時58分 公開

AppArmorでアプリケーションのファイアウォールを構築Linux Hacks(1/3 ページ)

オープンソースセキュリティに関しては、少なくとも2つの陣営がある。1つはAppArmorの使いやすさを支持するグループで、もう1つはより包括的なSELinuxを支持するグループである。ここでは、AppArmorについてみてみよう。

[Mayank-Sharma,Open Tech Press]
SourceForge.JP Magazine

 従来のコンピュータのセキュリティ対策は、主に、重要なサービスへのアクセスを制限するという方法で実現されていた。そのため、ネットワークアプリケーションを安全に保護しようと思ったら、ネットワークトラフィックを監視する必要があった。しかし現在のセキュリティベンダーは、コンピュータを保護するということは、結局はコンピュータ本体ではなくアプリケーションを保護することだという点に気づき始めている。この視点に立って開発されたのが、Novell AppArmorである。

 一見すると、アプリケーションを保護することは、ネットワーク接続されたコンピュータ上の全サービスを保護するのと難易度の点では変わらないように見えるかもしれない。しかし、最近のアプリケーションは複雑で入り組んでおり、ディスクのあちこちに散らばったライブラリやファイルを共有する仕組みになっている。さらに重要なことに、Discretionary Access Control(DAC)によって、プログラムがその実行ユーザーの権限で動作することが可能になったため、攻撃者がアプリケーションの弱点を悪用してスーパーユーザー権限を取得する可能性が出てきた。

 AppArmorの基本的な考え方は、個々のアプリケーションのアクセスを必要なファイルとライブラリのみに制限することで、アプリケーションをこのような脅威から保護するというものである。簡単に言えば、AppArmorはアプリケーションをロックダウンし、アプリケーションに必要なファイルについては、一般的な読み取り/書き込みアクセスモードに従って絶対パス名でアクセスするようにする。

 AppArmorはLinux Security Model(LSM)カーネルインタフェースにプラグインされる。LSMは、セキュリティモデルが使用するインタフェースであり、Linuxカーネルの事実上の標準APIである。このインタフェースはストックカーネルにパッチとして適用できる。

 また、AppArmorはLinux下のファイルアクセスに関してはDACモデルを利用している。まず、アプリケーションを実行するユーザーは、そのプログラムを実行しファイルにアクセスするための権限を持たなければならない。その後で、AppArmorがMandatory Access Control(MAC)のメカニズムを適用し、各プログラムにその仕事を行うのに必要な権限だけを与える。従って、プログラムXがライブラリYへのアクセスを必要とする場合は、まず、そのために必要な権限を持っているかどうかがDACによって確認される。その後、ようやくAppArmorが登場して、権限をより細かくロックダウンする。

       1|2|3 次のページへ

Copyright © 2010 OSDN Corporation, All Rights Reserved.

注目のテーマ