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"
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!