AppArmor(Application Armor)とは、Linux Security Modulesの一種である。各プログラムにセキュリティプロファイルを結びつけ、できることに制限をかける。ネットワークアクセス、Raw socket アクセス、ファイルへの読み書き実行などを制限できる。強制アクセス制御モデルを提供することで、Unixの伝統的な任意アクセス制御モデルを補う。バージョン2.6.36からLinuxのメインラインに含まれており、2009年からカノニカルが開発をサポートしている。

AppArmor
作者 Immunix
開発元 カノニカル
初版 1998
最新版
3.1.6 / 2023年6月21日 (16か月前) (2023-06-21)[1]
リポジトリ ウィキデータを編集
プログラミング
言語
C, Perl, C++, sh
対応OS Linux
種別 セキュリティ
ライセンス GNU General Public License
公式サイト apparmor.net
テンプレートを表示

手動でセキュリティプロファイルを作るだけでなく、AppArmorでは学習モードを使うことができる。学習モードでは、プロファイル違反が見つかってもその動作を妨害せず、単にログに出力する。このログを使ってプログラムの挙動に基づくAppArmorプロファイルを生成することができる。

AppArmorは、Security-Enhanced Linux(SELinux)の一部の機能の代わりとして使うことができる[2]。ラベルをファイルに適用することに基づくSELinuxとは異なり、AppArmorはファイルパスを利用する。AppArmorの支持者は、平均的な利用者にとってSELinuxよりも理解しやすいと主張している[3]。また彼らは、既存のシステムに適用する際により少ない修正ですむと主張している[要出典]。例えば、SELinuxは「セキュリティラベル」をサポートするファイルシステムを必要とするので、NFSを通じてマウントされたファイルに対してアクセスコントロールを提供できない。一方、AppArmorは任意のファイルシステムで利用できる。

他のシステム

編集

AppArmor represents one of several possible approaches to the problem of restricting the actions that installed software may take.

AppArmorは、インストールされたソフトウェアによる動作を制限するという問題に対して取りうるアプローチの1つである。

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はサブドメイン、すなわち異なるドメインへ分けられた特定のプログラムへのセキュリティ・プロファイルの参照として知られており[4][5]、ダイナミックに換えることができる。AppArmorは第一にSUSEopenSUSEで役立てられており、 SUSE Linux Enterprise Server 10とopenSUSE 10.1において初めて有効化された。

2005年から2007年9月まで、AppArmorはノベルに保守されていた。

AppArmorは2007年4月から初めて、成功のうちにUbuntuにパッケージされていた。AppArmorはUbuntu7.10からデフォルトのパッケージになり、Ubuntu8.04からはリリースの一部になった。デフォルトではCUPSの保護のみをしていた。Ubuntu9.04の時点で、MySQLのような、より多くのソフトウェアがインストールされた。AppArmorはUbuntu9.10でゲストセッション、libvirtバーチャルマシン、Evince document viewer、Firefoxの任意のプロファイルのためにプロファイルとリリースされるのと並行して改善されていった[6]

AppArmorは、2010年10月に、Linuxカーネルへ統合された[7][8][9][10]

また、AppArmorは2014年に、Synology's DSM 5.1のベータ版にも統合された[11]

関連項目

編集

脚注

編集
  1. ^ Release_Notes_3.1.6 · Wiki · AppArmor / apparmor · GitLab”. 2023年12月23日閲覧。
  2. ^ Mayank Sharma. “Linux.com :: SELinux: Comprehensive security at the price of usability”. 2006年12月11日閲覧。
  3. ^ Ralf Spenneberg (August 2006). “Protective armor: Shutting out intruders with AppArmor”. Linux Magazine. 21 August 2008時点のオリジナルよりアーカイブ。2008年8月2日閲覧。
  4. ^ Vincent Danen. “Immunix System 7: Linux security with a hard hat (not a Red Hat)”. 2001年12月1日閲覧。
  5. ^ WireX Communications, Inc.. “Immunix.org: The Source for Secure Linux Components and Platforms”. 2001年2月3日時点のオリジナルよりアーカイブ。2000年11月15日閲覧。
  6. ^ SecurityTeam/KnowledgeBase/AppArmorProfiles - Ubuntu Wiki”. 2011年1月9日閲覧。
  7. ^ James Corbet. “The 2.6.36 kernel is out”. 2010年10月20日閲覧。
  8. ^ Linus Torvalds. “Change Log”. 2010年10月20日閲覧。
  9. ^ Linux 2 6 36”. 2010年10月20日閲覧。
  10. ^ Sean Michael Kerner. “Linux Kernel 2.6.36 Gets AppArmor”. 2010年10月20日閲覧。
  11. ^ Release Notes for DSM 5.1 Beta Program”. 2010年10月20日閲覧。

外部リンク

編集