Hi,
On Fri, Sep 22, 2017 at 10:29:22AM -0500, Jamie Strandboge wrote:
On Fri, 2017-09-22 at 14:52 +0200, Guido Günther wrote:
> > + ptrace,
>
> ^^^^^^^
>
> This single line is enough to make things work for me on 4.13. AFAIK
> dbus mediation is not upstream yet and I think unix socket and signal
> support is neither. Should we drop these for now (the syntax and
> behaviour might change while things are being upsreamed)?
Note that if you are upstreaming profile changes for ptrace, you may as well add
them for signal and dbus because an apparmor parser that can understand 'ptrace'
can understand the other two. The parser is designed to deal with kernels that
don't have the full set of apparmor capabilities. The policy syntax for all of
these rules should not change as part of upstreaming dbus and unix.
'unix' is probably ok to add because support for it was added to the parser in
devel releases of AppArmor within 6 months of ptrace and signal. 'dbus',
'ptrace', 'signal' and 'unix' were officially introduced in
2.9[1]. By adding
'ptrace' you are saying AppArmor 2.9 is required, therefore, the other 3 are
parseable.
The assumption then is that upstreaming the kernel side will never
affect the parser, that's fine. Thanks for the clarification! That makes the
libvirt-qemu and usr.sbin.libvirtd parts look good.
What I don't understand yet is why we have in libvirt-lxc:
diff --git a/examples/apparmor/libvirt-lxc
b/examples/apparmor/libvirt-lxc
index 4bfb503aa..0db137de0 100644
--- a/examples/apparmor/libvirt-lxc
+++ b/examples/apparmor/libvirt-lxc
@@ -3,6 +3,9 @@
#include <abstractions/base>
umount,
+ dbus,
+ signal,
+ ptrace,
# ignore DENIED message on / remount
deny mount options=(ro, remount) -> /,
Why does it need dbus and why can't we go with a restricted ptrace and
signal specifications like in the libvirt-qemu case:
+ signal (receive) peer=/usr/sbin/libvirtd,
+ ptrace (tracedby) peer=/usr/sbin/libvirtd,
maybe having to add /usr/lib/libvirt/libvirt_lxc into the mix. (I'd
check myself but due to the lack of ustream support I can't). Maybe just
an omission?
Cheers,
-- Guido