読み方 : アップアーマー
AppArmor
概要

通常のLinuxシステムでは、あるプログラムが不正に動作したり、攻撃者に悪用されたりした場合、そのプログラムを実行しているユーザーの権限の範囲内で、あらゆる操作が可能になってしまう。AppArmorではプログラム単位で許可する操作を明示的に定義し、それ以外の操作をカーネルレベルで遮断する「強制アクセス制御」(MAC:Mandatory Access Control)を実現する。
設定は「プロファイル」(profile)と呼ばれるテキストファイルで記述する。プロファイルには、当該プログラムが読み書きできるファイルのパスや、接続を許可するネットワークアドレスなどを列挙する。プロファイルが存在するプログラムだけが制御対象となり、プロファイルが存在しないプログラムには制限が適用されない。
動作モードは「エンフォースモード」(enforce mode)と「コンプレインモード」(complain mode)の2種類がある。エンフォースモードはポリシー違反の操作を実際に拒否する強制適用モードで、コンプレインモードでは拒否せずにログだけを記録する。コンプレインモードはプロファイルを新たに作成・調整する際の動作確認に利用される。
同様の機能を持つLinuxのセキュリティ機構として「SELinux」がある。SELinuxがファイルやプロセスにラベルを付与して制御する方式を採るのに対し、AppArmorはファイルパスを直接指定する方式をとるため、設定作業が比較的容易とされる。UbuntuやopenSUSEなどのLinuxディストリビューションで標準採用されている。
(2026.7.7更新)