Ubuntu 22.04
Sponsored Link

AppArmor : プロファイルを作成する : aa-autodep2022/12/16

 
[aa-autodep] でプロファイルを新規作成します。
[aa-genprof] と異なる点は、[aa-autodep] では、実行後、空プロファイルを作成して終了し、対象プログラムは [complain] モード管理に入ります。
[1] 例として、[aa-autodep] で Samba のプロファイルを作成します。
# Samba のプロファイルを作成する

root@dlp:~#
aa-autodep /usr/sbin/smbd

Writing updated profile for /usr/sbin/smbd.
# [complain] モード管理に入る

root@dlp:~#
aa-status

apparmor module is loaded.
14 profiles are loaded.
13 profiles are in enforce mode.
   /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/dhclient
   lsb_release
   man_filter
   man_groff
   nvidia_modprobe
   nvidia_modprobe//kmod
   tcpdump
1 profiles are in complain mode.
   /usr/sbin/smbd
.....
.....

# 以降は [complain] モードで必要な操作を実行し ロギングしていく
# Samba のような複雑なアプリケーションの場合 長期間に渡って [complain] モードで学習要

# ロギングされた内容について順次扱いを決定していく

root@dlp:~#
aa-logprof

Updating AppArmor profiles in /etc/apparmor.d.
Reading log entries from /var/log/syslog.
Complain-mode changes:

Profile:  /usr/sbin/smbd
Path:     /var/log/samba/log.smbd
New Mode: owner w
Severity: 8

 [1 - include <abstractions/samba>]
  2 - owner /var/log/samba/log.smbd w,
(A)llow / [(D)eny] / (I)gnore / (G)lob / Glob with (E)xtension / (N)ew / Audi(t) / (O)wner permissions off / Abo(r)t / (F)inish
Adding include <abstractions/samba> to profile.

Profile:        /usr/sbin/smbd
Network Family: netlink
Socket Type:    raw

 [1 - include <abstractions/nameservice>]
  2 - network netlink raw,
(A)llow / [(D)eny] / (I)gnore / Audi(t) / Abo(r)t / (F)inish
Adding include <abstractions/nameservice> to profile.
Enforce-mode changes:

Profile:  /usr/bin/node
Path:     /dev/ttyS0
New Mode: owner rw
Severity: 9

 [1 - owner /dev/ttyS0 rw,]
(A)llow / [(D)eny] / (I)gnore / (G)lob / Glob with (E)xtension / (N)ew / Audi(t) / (O)wner permissions off / Abo(r)t / (F)inish
Adding owner /dev/ttyS0 rw, to profile.

.....
.....

# 最終的には [enforce] モードに移行し アプリケーションを保護する

root@dlp:~#
aa-enforce /usr/sbin/smbd

[2] なお、プロファイル操作の例として Samba を例示しましたが、Samba のような主要なプログラムについては、あらかじめプロファイルが用意されています。
root@dlp:~#
apt -y install apparmor-profiles
root@dlp:~#
dpkg -L apparmor-profiles

/.
/etc
/etc/apparmor.d
/etc/apparmor.d/apache2.d
/etc/apparmor.d/apache2.d/phpsysinfo
/etc/apparmor.d/bin.ping
/etc/apparmor.d/local
/etc/apparmor.d/php-fpm
/etc/apparmor.d/samba-bgqd
/etc/apparmor.d/sbin.klogd
/etc/apparmor.d/sbin.syslog-ng
/etc/apparmor.d/sbin.syslogd
/etc/apparmor.d/usr.sbin.avahi-daemon
/etc/apparmor.d/usr.sbin.dnsmasq
/etc/apparmor.d/usr.sbin.identd
/etc/apparmor.d/usr.sbin.mdnsd
/etc/apparmor.d/usr.sbin.nmbd
/etc/apparmor.d/usr.sbin.nscd
/etc/apparmor.d/usr.sbin.smbd
/etc/apparmor.d/usr.sbin.smbldap-useradd
/etc/apparmor.d/usr.sbin.traceroute

root@dlp:~#
aa-status

apparmor module is loaded.
31 profiles are loaded.
14 profiles are in enforce mode.
   /usr/bin/man
   /usr/bin/node
   /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/dhclient
   lsb_release
   man_filter
   man_groff
   nvidia_modprobe
   nvidia_modprobe//kmod
   tcpdump
17 profiles are in complain mode.
   avahi-daemon
   dnsmasq
   dnsmasq//libvirt_leaseshelper
   identd
   klogd
   mdnsd
   nmbd
   nscd
   php-fpm
   ping
   samba-bgqd
   smbd
   smbldap-useradd
   smbldap-useradd///etc/init.d/nscd
   syslog-ng
   syslogd
   traceroute
0 profiles are in kill mode.
0 profiles are in unconfined mode.
0 processes have profiles defined.
0 processes are in enforce mode.
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.
0 processes are in mixed mode.
0 processes are in kill mode.
関連コンテンツ