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