![]() | |
作者 | Immunix |
---|---|
開発元 | カノニカル |
初版 | 1998 |
最新版 | |
リポジトリ | ![]() |
プログラミング 言語 | C,Perl,C++,sh |
対応OS | Linux |
種別 | セキュリティ |
ライセンス | GNU General Public License |
公式サイト | apparmor |
テンプレートを表示 |
AppArmor(Application Armor)とは、Linux Security Modulesの一種である。各プログラムにセキュリティプロファイルを結びつけ、できることに制限をかける。ネットワークアクセス、Raw socket アクセス、ファイルへの読み書き実行などを制限できる。強制アクセス制御モデルを提供することで、Unixの伝統的な任意アクセス制御モデルを補う。バージョン2.6.36からLinuxのメインラインに含まれており、2009年からカノニカルが開発をサポートしている。
手動でセキュリティプロファイルを作るだけでなく、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は第一にSUSEとopenSUSEで役立てられており、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]。