AppArmor
AppArmor (Application Armor) とは、Linux Security Modulesの一種であり、各プログラムにセキュリティプロファイルを結びつけ、プログラムのできることに制限をかけるプログラムである。プロファイルは、ネットワークアクセス、Raw socket アクセス、ファイルへの読み書き実行などの機能を制限することができる。AppArmor は、Unixの伝統的な任意アクセス制御モデルを、強制アクセス制御モデルを提供することで補っている。このプログラムはバージョン2.6.36からLinuxのメインラインに含まれており、2009年からカノニカルが開発をサポートしている。
手動でセキュリティプロファイルを作るだけでなく、AppArmorでは学習モードを使うことができる。 学習モードでは、プロファイル違反が見つかってもその動作を妨害せず、単にログに出力する。 このログを使ってプログラムの挙動に基づくAppArmorプロファイルを生成することができる。
AppArmorはLinux Security Modulesのインターフェイスを利用して実装されている。
AppArmorは、Security-Enhanced Linux (SELinux) の一部の機能の代わりとして使うことができる[1]。ラベルをファイルに適用することに基づく SELinux とは異なり、AppArmor はファイルパスを利用する。AppArmor の支持者は、この方法のほうが SELinux よりも平均的な利用者にとって理解しやすいと主張している[2] 。また彼らは AppArmor のほうが既存のシステムに適用する際により少ない修正ですむと主張している。例えば、SELinuxは「セキュリティラベル」をサポートするファイルシステムを必要とするので、NFS を通じてマウントされたファイルに対してアクセスコントロールを提供できない。一方、AppArmorは任意のファイルシステムで利用できる。
他のシステム
AppArmor represents one of several possible approaches to the problem of restricting the actions that installed software may take.
AppArmorはインストールされたソフトウェアがするかもしれない動作の制限、という問題へのいくつかの可能な取り組みを代表している。
SELinuxのシステムは普通AppArmorと同じような対応を取る。重要な違いは、SELinuxはファイルのパスの代わりにinodeの番号でファイルを同じと見なす。これは、例えばアクセス不可能であるが、ハードリンクが作られるときにAppArmorであればアクセス可能になるかもしれないファイルであるのに、SELinuxはinodeによって参照された元のデータが同じになっても、依然として新しく作られたハードリンクを通してでもアクセスできない。
SELinuxとAppArmorは、管理のされ方、システムとの結びつき方においても著しく違っている。
プロセスの分離はバーチャライゼーションのようなメカニズムによって出来上がっている。例えばOLPCプロジェクトの軽量Vserverでのサンドボックスの個々のアプリケーションがそうである。
2007年には、Smackという単純化された命令のカーネルへの操作へのアクセスが導入された。
2009年には、AppArmorのようなパスネームベースのアクセス制御を使うTOMOYO Linuxと呼ばれる新しい手法がLinux 2.6.30に統合されました。
活用
AppArmorは1998年から2003年にかけてImmunix Linixで初めて使用された。そのとき、AppArmorはサブドメイン、すなわち異なるドメインへ分けられた特定のプログラムへのセキュリティ・プロファイルの参照として知られており 、[3][4]、ダイナミックに換えることができる。AppArmorは第一にSUSEとopenSUSEで役立てられており、, SUSE Linux Enterprise Server 10とopenSUSE 10.1において初めて有効化された。
2005年から2007年9月まで、AppArmorはノベルに保守されていた。
AppArmorは2007年4月から初めて、成功のうちにUbuntuにパッケージされていた。AppArmorはUbuntu7.10からデフォルトのパッケージになり、Ubuntu8.04からはリリースの一部になった。デフォルトではCommon Unix_Printing Systemの保護のみをしていた。Ubuntu9.04の時点で、MySQLのような、より多くのソフトウェアがインストールされた。AppArmorはUbuntu9.10でゲストセッション、libvirtのバーチャルマシン、Evince document viewer、Firefoxの任意のプロファイルのためにプロファイルとリリースされるのと並行して改善されていった[5]。
AppArmorは、2010年10月に、Linuxカーネルへ統合された[6][7][8][9]。
また、AppArmorは2014年に、Synology's DSM 5.1のベータ版にも統合された[10]。
関連項目
脚注
- ↑ Mayank Sharma. “Linux.com :: SELinux: Comprehensive security at the price of usability”. . 2006閲覧.
- ↑ Ralf Spenneberg (2006年8月). “Protective armor: Shutting out intruders with AppArmor”. Linux Magazine. 2008年8月21日時点のオリジナルよりアーカイブ。. 2008閲覧.
- ↑ Vincent Danen. “Immunix System 7: Linux security with a hard hat (not a Red Hat)”. . 2001-12-1閲覧.
- ↑ WireX Communications, Inc.. “Immunix.org: The Source for Secure Linux Components and Platforms”. 2001年2月3日時点のオリジナルよりアーカイブ。. 2000閲覧.
- ↑ “SecurityTeam/KnowledgeBase/AppArmorProfiles - Ubuntu Wiki”. . 2011年1月9日閲覧.
- ↑ James Corbet. “The 2.6.36 kernel is out”. . 2010閲覧.
- ↑ Linus Torvalds. “Change Log”. . 2010閲覧.
- ↑ “Linux 2 6 36”. . 2010閲覧.
- ↑ Sean Michael Kerner. “Linux Kernel 2.6.36 Gets AppArmor”. . 2010閲覧.
- ↑ “Release Notes for DSM 5.1 Beta Program”. . 2010閲覧.
外部リンク
- AppArmor Wiki
- AppArmor description from openSUSE.org
- LKML thread containing comments and criticism of AppArmor
- Apparmor packages for Ubuntu
- Counterpoint: Novell and Red Hat security experts face off on AppArmor and SELinux
- http://www.novell.com/linux/security/apparmor/