Proxmox 4.1 - apparmor

BigBen

Well-Known Member
Jun 18, 2015
135
4
58
Germany
Hallo,

in Container Templates werden massig viele apparmor Fehler gemeldet.

Auszug aus der Syslog:
Mar 8 13:24:54 DBSystem kernel: [1280372.225264] audit: type=1400 audit(1457439894.633:40664): apparmor="DENIED" operation="file_perm" profile="lxc-container-default" name="private/bounce" pid=8335 comm="smtp" requested_mask="r" denied_mask="r" fsuid=100 ouid=0
Mar 8 13:29:54 DBSystem kernel: [1280671.842798] audit_printk_skb: 6 callbacks suppressed
Mar 8 13:29:54 DBSystem kernel: [1280671.842802] audit: type=1400 audit(1457440194.255:40673): apparmor="DENIED" operation="file_perm" profile="lxc-container-default" name="private/bounce" pid=10406 comm="smtp" requested_mask="r" denied_mask="r" fsuid=100 ouid=0
Mar 8 13:29:54 DBSystem kernel: [1280671.842808] audit: type=1400 audit(1457440194.255:40674): apparmor="DENIED" operation="file_perm" profile="lxc-container-default" name="private/bounce" pid=10406 comm="smtp" requested_mask="r" denied_mask="r" fsuid=100 ouid=0
Mar 8 13:29:54 DBSystem kernel: [1280672.210079] audit: type=1400 audit(1457440194.623:40678): apparmor="DENIED" operation="file_perm" profile="lxc-container-default" name="private/defer" pid=10406 comm="smtp" requested_mask="r" denied_mask="r" fsuid=100 ouid=0
Mar 8 13:29:54 DBSystem kernel: [1280672.210754] audit: type=1400 audit(1457440194.623:40680): apparmor="DENIED" operation="file_perm" profile="lxc-container-default" name="private/bounce" pid=16127 comm="qmgr" requested_mask="r" denied_mask="r" fsuid=100 ouid=0
Mar 8 13:29:54 DBSystem kernel: [1280672.365702] audit: type=1400 audit(1457440194.779:40682): apparmor="DENIED" operation="file_perm" profile="lxc-container-default" name="private/defer" pid=10407 comm="smtp" requested_mask="r" denied_mask="r" fsuid=100 ouid=0
Mar 8 13:34:54 DBSystem kernel: [1280971.805610] audit: type=1400 audit(1457440494.225:40685): apparmor="DENIED" operation="file_perm" profile="lxc-container-default" name="private/bounce" pid=12520 comm="smtp" requested_mask="r" denied_mask="r" fsuid=100 ouid=0
Mar 8 13:34:54 DBSystem kernel: [1280971.916994] audit: type=1400 audit(1457440494.333:40687): apparmor="DENIED" operation="file_perm" profile="lxc-container-default" name="private/bounce" pid=12521 comm="smtp" requested_mask="r" denied_mask="r" fsuid=100 ouid=0

Weiß jemand, wie apparmor eingestellt werden muss, damit die verweigerten Aktionen fehlerfrei ausgeführt werden können?
 
Nachtrag:

Auf dem Debian-basiertem LXC System befindet sich kein apparmor.

Auch nach dem Entfernen der Armor-Regeln "lxc-container-default" und anschließendem "service apparmor restart" treten die gleichen Fehler weiterhin auf.

Die Fehler werden auf dem Gast-System im Protokoll /var/log/syslog protokoliert.

Da drängt sich die Frage auf: Woher holt sich der Service "apparmor" die Regeln, wenn diese nicht mehr vorhanden sind?

Nach dem Wiki http://wiki.apparmor.net/index.php/Main_Page kann apparmor nur Befehle und Zugriffe verweigern, wenn zu dem Programm Regeln vorhanden sind.
 
Could you please provide information about the "postfix bug"?

I'm running

proxmox-ve: 4.1-39 (running kernel: 4.2.8-1-pve)

pve-manager: 4.1-15 (running version: 4.1-15/8cd55b52)

pve-kernel-4.2.6-1-pve: 4.2.6-36

pve-kernel-2.6.32-43-pve: 2.6.32-166

pve-kernel-4.2.8-1-pve: 4.2.8-39

pve-kernel-4.2.2-1-pve: 4.2.2-16

pve-kernel-2.6.32-26-pve: 2.6.32-114

pve-kernel-4.2.3-2-pve: 4.2.3-22

lvm2: 2.02.116-pve2

corosync-pve: 2.3.5-2

libqb0: 1.0-1

pve-cluster: 4.0-33

qemu-server: 4.0-62

pve-firmware: 1.1-7

libpve-common-perl: 4.0-49

libpve-access-control: 4.0-11

libpve-storage-perl: 4.0-42

pve-libspice-server1: 0.12.5-2

vncterm: 1.2-1

pve-qemu-kvm: 2.5-8

pve-container: 1.0-46

pve-firewall: 2.0-18

pve-ha-manager: 1.0-23

ksm-control-daemon: 1.2-1

glusterfs-client: 3.5.2-2+deb8u1

lxc-pve: 1.1.5-7

lxcfs: 2.0.0-pve1

cgmanager: 0.39-pve1

criu: 1.6.0-1

Maybe @BigBen can confirm that?
 
Nachtrag:

Nach dem Löschen der apparmor-Regel "lxc-container-default" treten entgegen meiner ersten Aussage doch keine weiteren Meldungen dieser Art mehr auf.

bisheriges Fazit:
lxc-container-default löschen und apparmor lässt alle Befehle von den lxc-Containern durch.

Achtung
=======
Die AppArmor-Regel "lxc-Container-default" darf nicht gelöscht werden, da beim Starten einer Container-Template auf diese Regel zugegriffen wird. Falls diese fehlt, kann der Template Container nicht gestartet werden.
 
Last edited:
Auf meinem Proxmox-System läuft:

$ pveversion -v
proxmox-ve: 4.1-26 (running kernel: 4.2.6-1-pve)
pve-manager: 4.1-1 (running version: 4.1-1/2f9650d4)
pve-kernel-4.2.6-1-pve: 4.2.6-26
lvm2: 2.02.116-pve2
corosync-pve: 2.3.5-2
libqb0: 0.17.2-1
pve-cluster: 4.0-29
qemu-server: 4.0-41
pve-firmware: 1.1-7
libpve-common-perl: 4.0-41
libpve-access-control: 4.0-10
libpve-storage-perl: 4.0-38
pve-libspice-server1: 0.12.5-2
vncterm: 1.2-1
pve-qemu-kvm: 2.4-17
pve-container: 1.0-32
pve-firewall: 2.0-14
pve-ha-manager: 1.0-14
ksm-control-daemon: 1.2-1
glusterfs-client: 3.5.2-2+deb8u1
lxc-pve: 1.1.5-5
lxcfs: 0.13-pve1
cgmanager: 0.39-pve1
criu: 1.6.0-1
zfsutils: 0.6.5-pve6~jessie
 
Danke schön für die Info...

Dann muss ich doch ein Update machen.

Updates gehen nur von der Enterprise-Repository, oder auch von einem CD-Image?
 
Nach dem Update werden weiterhin Apparmor Fehler im kern.log gemeldet:

Mar 16 15:07:37 proxmox kernel: [171349.761836] audit: type=1400 audit(1458137257.164:168): apparmor="DENIED" operation="mount" info="failed type match" error=-13 profile="lxc-container-default" name="/proc/" pid=9321 comm="mount" flags="rw, nosuid, nodev, noexec, remount, relatime"
Mar 16 15:07:37 proxmox kernel: [171349.786402] audit: type=1400 audit(1458137257.188:170): apparmor="DENIED" operation="mount" info="failed type match" error=-13 profile="lxc-container-default" name="/run/shm/" pid=9395 comm="mount" flags="rw, nosuid, nodev, noexec, remount, relatime"
Mar 16 15:10:10 proxmox kernel: [171503.080614] audit: type=1400 audit(1458137410.491:177): apparmor="DENIED" operation="mount" info="failed type match" error=-13 profile="lxc-container-default" name="/run/lock/" pid=11024 comm="mount" flags="rw, nosuid, nodev, noexec, remount, relatime"
Mar 16 15:10:10 proxmox kernel: [171503.085840] audit: type=1400 audit(1458137410.495:179): apparmor="DENIED" operation="mount" info="failed type match" error=-13 profile="lxc-container-default" name="/sys/" pid=11039 comm="mount" flags="ro, nosuid, nodev, noexec, remount, relatime"

Eingesetzte Version ist:
$ pveversion -v
proxmox-ve: 4.1-39 (running kernel: 4.2.8-1-pve)
pve-manager: 4.1-15 (running version: 4.1-15/8cd55b52)
pve-kernel-4.2.6-1-pve: 4.2.6-36
pve-kernel-4.2.8-1-pve: 4.2.8-39
lvm2: 2.02.116-pve2
corosync-pve: 2.3.5-2
libqb0: 1.0-1
pve-cluster: 4.0-33
qemu-server: 4.0-62
pve-firmware: 1.1-7
libpve-common-perl: 4.0-49
libpve-access-control: 4.0-11
libpve-storage-perl: 4.0-42
pve-libspice-server1: 0.12.5-2
vncterm: 1.2-1
pve-qemu-kvm: 2.5-9
pve-container: 1.0-46
pve-firewall: 2.0-18
pve-ha-manager: 1.0-24
ksm-control-daemon: 1.2-1
glusterfs-client: 3.5.2-2+deb8u1
lxc-pve: 1.1.5-7
lxcfs: 2.0.0-pve1
cgmanager: 0.39-pve1
criu: 1.6.0-1
zfsutils: 0.6.5-pve7~jessie

Kann mir jemand mitteilen, woran es diesmal hapert?
 
Bei der Internet-Recherche nach der Ursache wurde eine mögliche Lösung gefunden:

https://gist.github.com/gionn/7585324

Nach der Änderung wird nun folgende Meldung protokolliert:
Mar 17 19:07:26 proxmox kernel: [272137.511464] audit: type=1400 audit(1458238046.789:185): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/{usr/,}bin/ping" pid=15695 comm="apparmor_parser"
Mar 17 19:07:26 proxmox kernel: [272137.517259] audit: type=1400 audit(1458238046.793:186): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/sbin/syslog-ng" pid=15699 comm="apparmor_parser"
Mar 17 19:07:26 proxmox kernel: [272137.547874] audit: type=1400 audit(1458238046.825:187): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/sbin/syslogd" pid=15698 comm="apparmor_parser"
Mar 17 19:07:26 proxmox kernel: [272137.560267] audit: type=1400 audit(1458238046.837:188): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/lib/dovecot/deliver" pid=15705 comm="apparmor_parser"
Mar 17 19:07:26 proxmox kernel: [272137.565933] audit: type=1400 audit(1458238046.841:189): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/lib/dovecot/config" pid=15704 comm="apparmor_parser"
Mar 17 19:07:26 proxmox kernel: [272137.628523] audit: type=1400 audit(1458238046.905:190): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/lib/dovecot/dict" pid=15706 comm="apparmor_parser"
Mar 17 19:07:26 proxmox kernel: [272137.632029] audit: type=1400 audit(1458238046.909:191): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/lib/dovecot/auth" pid=15703 comm="apparmor_parser"