読み方 : アップアーマー

AppArmor

概要

AppArmorとは、Linuxカーネルに組み込まれたセキュリティ機能で、個々のプログラムが利用できるシステムリソースを制限する仕組み。ファイルへのアクセス、ネットワーク通信、プロセス間通信といった操作を、プログラムごとに定義されたポリシーに従って制御する。
AppArmorのイメージ画像

通常のLinuxシステムでは、あるプログラムが不正に動作したり、攻撃者に悪用されたりした場合、そのプログラムを実行しているユーザーの権限の範囲内で、あらゆる操作が可能になってしまう。AppArmorではプログラム単位で許可する操作を明示的に定義し、それ以外の操作をカーネルレベルで遮断する「強制アクセス制御」(MAC:Mandatory Access Control)を実現する。

設定は「プロファイル」(profile)と呼ばれるテキストファイルで記述する。プロファイルには、当該プログラムが読み書きできるファイルパスや、接続を許可するネットワークアドレスなどを列挙する。プロファイルが存在するプログラムだけが制御対象となり、プロファイルが存在しないプログラムには制限が適用されない。

動作モードは「エンフォースモード」(enforce mode)と「コンプレインモード」(complain mode)の2種類がある。エンフォースモードはポリシー違反の操作を実際に拒否する強制適用モードで、コンプレインモードでは拒否せずにログだけを記録する。コンプレインモードはプロファイルを新たに作成・調整する際の動作確認に利用される。

同様の機能を持つLinuxセキュリティ機構として「SELinux」がある。SELinuxファイルやプロセスにラベルを付与して制御する方式を採るのに対し、AppArmorはファイルパスを直接指定する方式をとるため、設定作業が比較的容易とされる。UbuntuopenSUSEなどのLinuxディストリビューションで標準採用されている。

(2026.7.7更新)
 
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。