Ubuntu 22.04 AppArmor の無効化手順
10月 9, 2023OperatingSystem,Ubuntu(WSL)
概要
- AppArmor(Application Armor)は、Ubuntu に標準でバンドルされている Linux Security Modules の一つです。アプリケーションにセキュリティプロファイルを設定し、アクセスや操作を制限します。
- 今回、Ubuntu 22.04 にて、AppArmor の無効化を行いました。手順を記載します。
apparmor の無効化
- systemd の apparmor サービスのステータスを確認する。
$ systemctl status apparmor
● apparmor.service - Load AppArmor profiles
Loaded: loaded (/lib/systemd/system/apparmor.service; enabled; vendor preset: enabled)
Active: active (exited) since Mon 2023-10-09 04:32:56 UTC; 2min 48s ago
Docs: man:apparmor(7)
https://gitlab.com/apparmor/apparmor/wikis/home/
Process: 294 ExecStart=/lib/apparmor/apparmor.systemd reload (code=exited, status=0/SUCCESS)
Main PID: 294 (code=exited, status=0/SUCCESS)
CPU: 33ms
- aa-statusコマンドを実行し、AppArmor のステータスを確認する。プロファイルが enforce モードでロードされている。
$ aa-enabled
Yes
$ sudo aa-status
apparmor module is loaded.
33 profiles are loaded.
31 profiles are in enforce mode.
/snap/snapd/19122/usr/lib/snapd/snap-confine
/snap/snapd/19122/usr/lib/snapd/snap-confine//mount-namespace-capture-helper
/usr/bin/man
/usr/lib/NetworkManager/nm-dhcp-client.action
/usr/lib/NetworkManager/nm-dhcp-helper
/usr/lib/connman/scripts/dhclient-script
/usr/lib/snapd/snap-confine
/usr/lib/snapd/snap-confine//mount-namespace-capture-helper
/usr/sbin/chronyd
/{,usr/}sbin/dhclient
lsb_release
man_filter
man_groff
nvidia_modprobe
nvidia_modprobe//kmod
snap-update-ns.amazon-ssm-agent
snap-update-ns.lxd
snap.lxd.activate
snap.lxd.benchmark
snap.lxd.buginfo
snap.lxd.check-kernel
snap.lxd.daemon
snap.lxd.hook.configure
snap.lxd.hook.install
snap.lxd.hook.remove
snap.lxd.lxc
snap.lxd.lxc-to-lxd
snap.lxd.lxd
snap.lxd.migrate
snap.lxd.user-daemon
tcpdump
2 profiles are in complain mode.
snap.amazon-ssm-agent.amazon-ssm-agent
snap.amazon-ssm-agent.ssm-cli
0 profiles are in kill mode.
0 profiles are in unconfined mode.
9 processes have profiles defined.
2 processes are in enforce mode.
/usr/sbin/chronyd (480)
/usr/sbin/chronyd (485)
7 processes are in complain mode.
/snap/amazon-ssm-agent/6312/amazon-ssm-agent (425) snap.amazon-ssm-agent.amazon-ssm-agent
/snap/amazon-ssm-agent/6312/ssm-agent-worker (714) snap.amazon-ssm-agent.amazon-ssm-agent
/snap/amazon-ssm-agent/6312/ssm-session-worker (750) snap.amazon-ssm-agent.amazon-ssm-agent
/usr/bin/dash (777) snap.amazon-ssm-agent.amazon-ssm-agent
/usr/bin/sudo (790) snap.amazon-ssm-agent.amazon-ssm-agent
/usr/bin/sudo (791) snap.amazon-ssm-agent.amazon-ssm-agent
/usr/sbin/aa-status (792) snap.amazon-ssm-agent.amazon-ssm-agent
0 processes are unconfined but have a profile defined.
0 processes are in mixed mode.
0 processes are in kill mode.
- aa-teardownコマンドを実行し、AppArmorを停止する。aa-statusコマンドからプロファイルはアンロードされたことが分かる。
$ sudo aa-teardown
Unloading AppArmor profiles
$ sudo aa-status
apparmor module is loaded.
- systemd の apparmor サービスを停止、自動起動を無効化する。
- ただし、この方法ではKernel のapparmor は無効されない様である。Kernel が apparmor をロードしないようにするには、Grub がKernel をロードする際のパラメータから
apparmor=1 security=apparmor
を削除します。 - 上記の詳細は、こちらを参照ください。
- ただし、この方法ではKernel のapparmor は無効されない様である。Kernel が apparmor をロードしないようにするには、Grub がKernel をロードする際のパラメータから
$ systemctl status apparmor
● apparmor.service - Load AppArmor profiles
Loaded: loaded (/lib/systemd/system/apparmor.service; enabled; vendor preset: enabled)
Active: active (exited) since Mon 2023-10-09 04:32:56 UTC; 4min 32s ago
Docs: man:apparmor(7)
https://gitlab.com/apparmor/apparmor/wikis/home/
Process: 294 ExecStart=/lib/apparmor/apparmor.systemd reload (code=exited, status=0/SUCCESS)
Main PID: 294 (code=exited, status=0/SUCCESS)
CPU: 33ms
Warning: some journal files were not opened due to insufficient permissions.
$ sudo systemctl stop apparmor
$ sudo systemctl disable apparmor
Synchronizing state of apparmor.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable apparmor
Removed /etc/systemd/system/sysinit.target.wants/apparmor.service.
$ systemctl status apparmor
○ apparmor.service - Load AppArmor profiles
Loaded: loaded (/lib/systemd/system/apparmor.service; disabled; vendor preset: enabled)
Active: inactive (dead) since Mon 2023-10-09 04:37:55 UTC; 34s ago
Docs: man:apparmor(7)
https://gitlab.com/apparmor/apparmor/wikis/home/
Main PID: 294 (code=exited, status=0/SUCCESS)
CPU: 1ms
Warning: some journal files were not opened due to insufficient permissions.
参考資料
- Kernel のAppArmor を無効にする場合は、追加の手順が必要になる様です。Ubuntu のオンラインコミュニティに記載されている手順を参照ください。
Posted by takaaki