AppArmor

AppArmorとは



AppArmor(Application Armor)は、Linuxカーネルのセキュリティモジュールの一つで、各プログラムに対してセキュリティプロファイルを適用し、その動作範囲を制限する機能を提供します。これにより、プログラムが不正な操作を行うことを防ぎ、システム全体のセキュリティを向上させます。

具体的には、AppArmorはプログラムがネットワークにアクセスする、ファイルを読み書きする、Raw socket を利用するなどの操作を制限することができます。従来のUnixシステムにおける任意アクセス制御モデルを補完する強制アクセス制御モデルを提供することで、より強固なセキュリティを実現します。

AppArmorは、Linuxカーネルのバージョン2.6.36からメインラインに組み込まれており、2009年以降はカノニカル社によって開発がサポートされています。これにより、幅広いLinuxディストリビューションで利用することが可能になっています。

AppArmorの特徴



セキュリティプロファイル


AppArmorの最も重要な特徴は、各プログラムに結びつけられるセキュリティプロファイルです。このプロファイルには、プログラムが許可される操作が記述されており、プログラムは定義された範囲内でのみ動作することができます。プロファイルは手動で作成することも可能ですが、AppArmorには学習モードが用意されています。

学習モード


学習モードでは、プログラムがプロファイルに違反する動作を試みた場合、その動作を妨害することなく、ログに記録します。このログを解析することで、プログラムの正常な動作に必要な権限を自動的に把握し、適切なAppArmorプロファイルを生成することができます。この機能により、プロファイル作成の手間を大幅に削減し、システムの安全性を維持しながら、新しいプログラムの導入を容易にします。

SELinuxとの比較


AppArmorは、SELinux(Security-Enhanced Linux)と同様に、システムセキュリティを強化するためのツールです。SELinuxはファイルにセキュリティラベルを付与し、このラベルに基づいてアクセス制御を行うのに対し、AppArmorはファイルパスを基準としてアクセス制御を行います。AppArmorの支持者は、SELinuxに比べて設定や管理が容易であり、理解しやすいと主張しています。また、既存のシステムへの適用も、SELinuxよりも修正が少なくて済むとされています。特に、SELinuxが対応していないNFSマウントされたファイルシステムでも利用できる点が利点として挙げられます。

その他のシステム


AppArmorは、ソフトウェアの動作を制限するための複数のアプローチのうちの一つです。SELinuxも同様の目的で使用されますが、inode番号に基づいてファイルを識別する点がAppArmorとは異なります。これにより、SELinuxではアクセスできないハードリンクを通じて、AppArmorではアクセスが可能になる場合があります。また、TOMOYO Linuxのような他のアプローチも存在し、それぞれ異なる特徴を持っています。

AppArmorの活用



AppArmorは1998年から2003年にかけてImmunix Linixで初めて使用されました。当時、AppArmorはサブドメインとして知られており、特定のプログラムへのセキュリティプロファイルを動的に変更することができました。SUSEとopenSUSEで積極的に採用され、SUSE Linux Enterprise Server 10とopenSUSE 10.1で初めて有効化されました。

2005年から2007年9月にかけてはノベル社が保守を担当し、2007年4月にはUbuntuに初めてパッケージされました。Ubuntu 7.10以降はデフォルトパッケージとなり、Ubuntu 8.04からはリリースの一部となりました。当初はCUPSの保護のみでしたが、Ubuntu 9.04ではMySQLなどより多くのソフトウェアが保護対象となり、Ubuntu 9.10ではゲストセッションやlibvirtの仮想マシン、Firefoxなどのプロファイルもリリースされました。

2010年10月にはLinuxカーネルに統合され、2014年にはSynologyのDSM 5.1ベータ版にも組み込まれました。

関連項目



  • - Linux Intrusion Detection System (LIDS)
  • - Systrace
  • - grsecurity

外部リンク



もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。