Ubuntuオペレーティングシステムには、システム管理者がプログラムごとのプロファイルを使用してプログラムの機能を制限できるLinuxカーネルセキュリティモジュールであるAppArmorが付属しています。プロファイルを使用すると、ネットワークアクセス、rawソケットアクセス、および一致するパスでファイルの読み取り、書き込み、または実行を許可できます。 Rhelファミリーのユーザーは、これがSelinuxに似ていることに気付くでしょう。ただし、動作は異なり、長所と短所があります。
以下では、AppArmorと個々のプロファイルを有効または無効にする方法について説明します。通常、ほとんどのユーザーはAppArmorで設定を調整する必要はありませんが、必要に応じて、チュートリアルでいくつかの簡単なコマンドがすべて必要になります。
- 推奨OS: Ubuntu20.04以降
- ユーザーアカウント: sudoのユーザーアカウント またはルートアクセス。
Ubuntuを更新します 既存のすべてのパッケージが最新であることを確認するためのオペレーティングシステム:
sudo apt update && sudo apt upgrade -y
チュートリアルでは、sudoコマンドを使用します およびsudoステータスがあると仮定 。
アカウントのsudoステータスを確認するには:
sudo whoami
sudoステータスを示す出力例:
[joshua@ubuntu ~]$ sudo whoami
root
既存または新規のsudoアカウントを設定するには、UbuntuでSudoersにユーザーを追加する方法のチュートリアルにアクセスしてください。 。
rootアカウントを使用するには 、rootパスワードを指定して次のコマンドを使用してログインします。
su
このチュートリアルでは、アプリケーションの表示メニューにあるターミナルインターフェイスを利用します。
例:
AppArmorシステムコマンドの操作
デフォルトでは、Ubuntuのインストール時にApparmorがインストールされ、オンになっています。次のコマンドを使用してステータスを確認するには:
sudo systemctl status apparmor
出力例:
次は、コマンドsystemctlコマンドの概要です。
Apparmorを停止するには:
sudo systemctl stop apparmor
システム起動時にApparmorを無効にするには:
sudo systemctl disable apparmor
Apparmorを開始するには:
sudo systemctl start apparmor
システム起動時にApparmorを有効にするには(デフォルト):
sudo systemctl enable apparmor
Apparmorを再起動するには:
sudo systemctl restart apparmor
Apparmorをリロードするには:
sudo systemctl reload apparmor
AppArmorプロファイルのステータスを確認する
まず、次のsystemctlコマンドを使用して実行できるApparmorプロファイルのステータスを確認するのが理想的です。 :
sudo apparmor_status
出力例:
apparmor module is loaded.
39 profiles are loaded.
37 profiles are in enforce mode.
または、aa-statusコマンドを使用することもできます これにより、正確な読み取り値が得られます:
sudo aa-status
出力にプロファイルの広範なリストが表示されることに注意してください。将来、プロファイルが有効か無効かを確認するときに、このコマンドを参照することがよくあります。
Apparmorプロファイルの無効化と有効化
特定のApparmorプロファイルを無効にする必要がある場合、これはセキュリティアプリケーション全体を無効にすることなく個別に実現できます。まず、 /etc/apparmor.dに移動する必要があります 次のようなディレクトリ:
cd /etc/apparmor.d
次に、lsコマンドを使用して、このディレクトリに存在するプロファイルのリストを出力します。
sudo ls -s
出力例:
たとえば、usr.sbin.cupsdプロファイルを無効にするには 。これを行うには、次のコマンドを使用します。
sudo ln -s /etc/apparmor.d/usr.sbin.cupsd /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/disable/usr.sbin.cupsd
apparmor_statusを使用する コマンドを実行すると、 usr.sbin.cupsdが表示されます。 プロファイルリストから削除されました。
sudo apparmor_status
プロファイルを削除した出力例:
1 processes are in enforce mode.
/usr/sbin/cups-browsed (876)
元の場所から:
2 processes are in enforce mode.
/usr/sbin/cups-browsed (876)
/usr/sbin/cupsd (800)
無効になっているルールのリストを表示したい場合は、ディレクトリ /etc/apparmor.d/disableに移動します。 lsコマンドを使用します:
cd /etc/apparmor.d/disable
ls
出力例:
このプロファイルまたは無効になっている他のプロファイルを再度有効にする必要がある場合は、次のコマンドを使用します。
sudo rm /etc/apparmor.d/disable/usr.sbin.cupsd
sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.cupsd
再起動する必要があります apparmor_statusコマンドでプロファイルを確認するためのシステム :
sudo reboot now
app statusコマンドを再利用して、プロファイルを確認します。
sudo apparmor_status
プロファイルを元に戻す出力:
2 processes are in enforce mode.
/usr/sbin/cups-browsed (876)
/usr/sbin/cupsd (800)