AppArmor は、Ubuntu 7.10 以降、Ubuntu にデフォルトで組み込まれている重要なセキュリティ機能です。ただし、バックグラウンドで静かに実行されるため、それが何であるか、何をしているのかわからない場合があります。
AppArmor は脆弱なプロセスをロックダウンし、これらのプロセスのセキュリティ脆弱性が引き起こす可能性のある損害を制限します。 AppArmor を使用して Mozilla Firefox をロックダウンしてセキュリティを強化することもできますが、デフォルトではこれは行われません。
AppArmorとは何ですか?
AppArmor は SELinux に似ており、Fedora と Red Hat でデフォルトで使用されます。 AppArmor と SELinux は動作方法が異なりますが、両方とも「必須アクセス制御」 (MAC) セキュリティを提供します。実際、AppArmor を使用すると、Ubuntu の開発者はプロセスが実行できるアクションを制限できます。
たとえば、Ubuntu のデフォルト構成で制限されているアプリケーションの 1 つは、Evince PDF ビューアです。 Evince はユーザー アカウントとして実行できますが、実行できるのは特定のアクションのみです。 Evince には、PDF ドキュメントを実行して操作するために必要な最小限の権限しかありません。 Evince の PDF レンダラーに脆弱性が発見され、Evince を乗っ取る悪意のある PDF ドキュメントを開いた場合、AppArmor は Evince が与える可能性のある損害を制限します。従来の Linux セキュリティ モデルでは、Evince はユーザーがアクセスできるものすべてにアクセスできます。 AppArmor を使用すると、PDF ビューアがアクセスする必要があるものにのみアクセスできます。
AppArmor は、Web ブラウザやサーバー ソフトウェアなど、悪用される可能性のあるソフトウェアを制限するのに特に役立ちます。
AppArmor のステータスの表示
AppArmor のステータスを表示するには、ターミナルで次のコマンドを実行します。
sudo apparmor_status
AppArmor がシステム上で実行されているかどうか (デフォルトで実行されています)、インストールされている AppArmor プロファイル、および実行されている制限されたプロセスが表示されます。
AppArmor プロファイル
AppArmor では、プロセスはプロファイルによって制限されます。上のリストは、システムにインストールされているプロトコルを示しています。これらのプロトコルは Ubuntu に付属しています。 apparmor-profiles パッケージをインストールすることで、他のプロファイルをインストールすることもできます。一部のパッケージ (サーバー ソフトウェアなど) には、パッケージとともにシステムにインストールされる独自の AppArmor プロファイルが付属している場合があります。独自の AppArmor プロファイルを作成してソフトウェアを制限することもできます。
プロファイルは「complain モード」または「enforce モード」で実行できます。強制モード (Ubuntu に付属のプロファイルのデフォルト設定) では、AppArmor はアプリケーションが制限されたアクションを実行できないようにします。苦情モードでは、AppArmor はアプリケーションが制限されたアクションを実行できるようにし、これに関する苦情を示すログ エントリを作成します。 Complain モードは、強制モードで有効にする前に AppArmor プロファイルをテストするのに最適です。強制モードで発生するエラーが表示されます。
プロファイルは /etc/apparmor.d ディレクトリに保存されます。これらのプロファイルは、コメントを含めることができるプレーンテキスト ファイルです。
Firefox で AppArmor を有効にする
AppArmor には Firefox プロファイルが付属していることにも気づくかもしれません。これは /etc/apparmor.d ディレクトリにある usr.bin.firefox ファイルです。 Firefox を制限しすぎて問題が発生する可能性があるため、デフォルトでは有効になっていません。 /etc/apparmor.d/disable フォルダーには、このファイルが無効になっていることを示すリンクが含まれています。
Firefox プロファイルを有効にし、Firefox を AppArmor で制限するには、次のコマンドを実行します。
sudo rm /etc/apparmor.d/disable/usr.bin.firefox
猫 /etc/apparmor.d/usr.bin.firefox | sudo apparmor_parser –a
これらのコマンドを実行した後、 sudo apparmor_status コマンドを再度実行すると、Firefox プロファイルが読み込まれたことがわかります。
問題が発生している場合に Firefox プロファイルを無効にするには、次のコマンドを実行します。
sudo ln -s /etc/apparmor.d/usr.bin.firefox /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/usr.bin.firefox
AppArmor の使用に関する詳細については、 AppArmor の公式 Ubuntu サーバー ガイドのページを 参照してください。





