apparmor: add mediation rules for unconfined guests

If a guest runs unconfined <seclabel type='none'>, but libvirtd is
confined then the peer for signal can only be detected as
'unconfined'. That triggers issues like:
   apparmor="DENIED" operation="signal"
   profile="/usr/sbin/libvirtd" pid=22395 comm="libvirtd"
   requested_mask="send" denied_mask="send" signal=term peer="unconfined"

To fix this add unconfined as an allowed peer for those operations.

I discussed with the apparmor folks, right now there is no better
separation to be made in this case. But there might be further down the
road with "policy namespaces with scope and view control + stacking"

This is more a use-case addition than a fix to the following two changes:
- 3b1d19e6 AppArmor: add rules needed with additional mediation features
- b482925c apparmor: support ptrace checks
Signed-off-by: NChristian Ehrhardt <christian.ehrhardt@canonical.com>
Acked-by: NJamie Strandboge <jamie@canonical.com>
Acked-by: Nintrigeri <intrigeri+libvirt@boum.org>
上级 1262cbf3
...@@ -74,6 +74,9 @@ ...@@ -74,6 +74,9 @@
# unconfined also required if guests run without security module # unconfined also required if guests run without security module
unix (send, receive) type=stream addr=none peer=(label=unconfined), unix (send, receive) type=stream addr=none peer=(label=unconfined),
# required if guests run unconfined seclabel type='none' but libvirtd is confined
signal (read, send) peer=unconfined,
# Very lenient profile for libvirtd since we want to first focus on confining # Very lenient profile for libvirtd since we want to first focus on confining
# the guests. Guests will have a very restricted profile. # the guests. Guests will have a very restricted profile.
/ r, / r,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册