libvirt and SELlinux 'access denied' in a VM

Daniel J Walsh dwalsh at redhat.com
Mon Mar 24 15:22:47 UTC 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 03/24/2014 08:44 AM, Juerg Haefliger wrote:
> 
> 
> 
> On Mon, Mar 24, 2014 at 1:14 PM, Daniel J Walsh <dwalsh at redhat.com 
> <mailto:dwalsh at redhat.com>> wrote:
>> 
> On 03/24/2014 06:28 AM, Juerg Haefliger wrote:
> 
> 
> 
>> On Mon, Mar 24, 2014 at 11:23 AM, Juerg Haefliger <juergh at gmail.com 
>> <mailto:juergh at gmail.com> <mailto:juergh at gmail.com
>> <mailto:juergh at gmail.com>>> wrote:
> 
> 
> 
> 
>>> On Sat, Mar 22, 2014 at 11:46 AM, Daniel J Walsh <dwalsh at redhat.com
>> <mailto:dwalsh at redhat.com> <mailto:dwalsh at redhat.com
>> <mailto:dwalsh at redhat.com>>> wrote:
>>>> 
>> On 03/21/2014 10:36 AM, Juerg Haefliger wrote:
>>> Hi,
> 
>>> I started a VM using the official F20 cloud image, installed libvirt
>>> and its dependencies and tried to create a guest but SELinux won't let
>>> me:
> 
>>> [root at fedora-20 ~]# virsh create mini.xml error: Failed to create
>>> domain from mini.xml error: Input/output error
> 
>>> [root at fedora-20 ~]# journalctl | tail Mar 21 14:23:06 fedora-20 
>>> systemd[1]: SELinux policy denies access. Mar 21 14:23:06 fedora-20 
>>> systemd-machined[7210]: Failed to start machine scope: Access denied
>>> Mar 21 14:23:06 fedora-20 libvirtd[6856]: Input/output error
> 
>>> [root at fedora-20 ~]# cat /var/log/libvirt/qemu/mini.log 2014-03-21 
>>> 14:23:06.740+0000: starting up LC_ALL=C 
>>> PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin 
>>> QEMU_AUDIO_DRV=none /usr/bin/qemu-system-x86_64 -name mini -S -machine 
>>> pc-i440fx-1.6,accel=tcg,usb=off -m 1024 -realtime mlock=off -smp 
>>> 1,sockets=1,cores=1,threads=1 -uuid
>>> 11111111-2890-2015-1f87-cbfa725b1dd3 -nographic -no-user-config
>>> -nodefaults -chardev 
>>> socket,id=charmonitor,path=/var/lib/libvirt/qemu/mini.monitor,server,nowait
>
>>> 
> 
> -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc
> -no-shutdown
>>> -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -device 
>>> virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 2014-03-21 
>>> 14:23:06.744+0000: shutting down
> 
> 
>>> type=VIRT_MACHINE_ID msg=audit(1395412399.728:281): pid=6856 uid=0 
>>> auid=4294967295 ses=4294967295 
>>> subj=system_u:system_r:virtd_t:s0-s0:c0.c1023 msg='virt=qemu vm="mini" 
>>> uuid=11111111-2890-2015-1f87-cbfa725b1dd3 
>>> vm-ctx=system_u:system_r:svirt_tcg_t:s0:c728,c986 
>>> img-ctx=system_u:object_r:svirt_image_t:s0:c728,c986 model=selinux 
>>> exe="/usr/sbin/libvirtd" hostname=? addr=? terminal=? res=success' 
>>> type=VIRT_MACHINE_ID msg=audit(1395412399.728:282): pid=6856 uid=0 
>>> auid=4294967295 ses=4294967295 
>>> subj=system_u:system_r:virtd_t:s0-s0:c0.c1023 msg='virt=qemu vm="mini" 
>>> uuid=11111111-2890-2015-1f87-cbfa725b1dd3 vm-ctx=107:107
>>> img-ctx=107:107 model=dac exe="/usr/sbin/libvirtd" hostname=? addr=?
>>> terminal=? res=success' type=USER_AVC msg=audit(1395412399.788:283):
>>> pid=1 uid=0 auid=4294967295 ses=4294967295
>>> subj=system_u:system_r:init_t:s0 msg='avc: denied  { start } for
>>> auid=-1 uid=-1 gid=-1 scontext=system_u:system_r:init_t:s0 
>>> tcontext=system_u:system_r:init_t:s0 tclass=service 
>>> exe="/usr/lib/systemd/systemd" sauid=0 hostname=? addr=? terminal=?' 
>>> type=VIRT_RESOURCE msg=audit(1395412400.015:284): pid=6856 uid=0 
>>> auid=4294967295 ses=4294967295 
>>> subj=system_u:system_r:virtd_t:s0-s0:c0.c1023 msg='virt=qemu resrc=mem 
>>> reason=start vm="mini" uuid=11111111-2890-2015-1f87-cbfa725b1dd3 
>>> old-mem=0 new-mem=1048576 exe="/usr/sbin/libvirtd" hostname=? addr=? 
>>> terminal=? res=success' type=VIRT_RESOURCE
>>> msg=audit(1395412400.015:285): pid=6856 uid=0 auid=4294967295
>>> ses=4294967295 subj=system_u:system_r:virtd_t:s0-s0:c0.c1023
>>> msg='virt=qemu resrc=vcpu reason=start vm="mini"
>>> uuid=11111111-2890-2015-1f87-cbfa725b1dd3 old-vcpu=0 new-vcpu=1
>>> exe="/usr/sbin/libvirtd" hostname=? addr=? terminal=? res=success'
>>> type=VIRT_CONTROL msg=audit(1395412400.015:286): pid=6856 uid=0
>>> auid=4294967295 ses=4294967295 
>>> subj=system_u:system_r:virtd_t:s0-s0:c0.c1023 msg='virt=qemu op=start 
>>> reason=booted vm="mini" uuid=11111111-2890-2015-1f87-cbfa725b1dd3 
>>> vm-pid=-1 exe="/usr/sbin/libvirtd" hostname=? addr=? terminal=? 
>>> res=failed'
> 
>>> I'm not overly familiar with SELinux. Is this a configuration issue?
>>> Am I missing some policy packages or could this be an issue with the
>>> cloud image?
> 
>>> Works fine when I disable SELinux.
> 
>>> Google found this, but it's old and apparently resolved: 
>>> https://bugzilla.redhat.com/show_bug.cgi?id=860235
> 
>>> Thanks ...Juerg
> 
> 
> 
>>> _______________________________________________ cloud mailing list 
>>> cloud at lists.fedoraproject.org <mailto:cloud at lists.fedoraproject.org>
>> <mailto:cloud at lists.fedoraproject.org
>> <mailto:cloud at lists.fedoraproject.org>>
>>> https://admin.fedoraproject.org/mailman/listinfo/cloud Fedora Code of 
>>> Conduct: http://fedoraproject.org/code-of-conduct
> 
> 
>> There is no SELinux data that you posted.  I don't think your machine is 
>> mislabeled.  Doing the /.autorelabel dance is a waste of time.
> 
>> ausearch -m avc,user_avc -ts recent
> 
>> After you have the problem, to see if SELinux posted any error messages.
> 
>> If there are no messages then try to turn off dontaudit rules.
> 
>> semodule -DB Run your test ausearch -m avc,user_avc -ts recent
> 
>>>> 
>>>> This is all I get:
>>>> 
>>>> time->Mon Mar 24 10:21:18 2014 type=USER_AVC 
>>>> msg=audit(1395656478.686:22577): pid=1 uid=0 auid=4294967295
>>> ses=4294967295  subj=system_u:system_r:init_t:s0 msg='avc:  denied  { 
>>> start } for auid=-1 uid=-1 gid=-1 scontext=system_u:system_r:init_t:s0 
>>> tcontext=system_u:system_r:init_t:s0 tclass=service 
>>> exe="/usr/lib/systemd/systemd" sauid=0 hostname=? addr=? terminal=?'
> 
> 
>>> And all of 'ausearch -ts':
> 
>>> time->Mon Mar 24 10:26:21 2014 type=VIRT_MACHINE_ID 
>>> msg=audit(1395656781.041:22605): pid=529 uid=0 auid=4294967295 
>>> ses=4294967295  subj=system_u:system_r:virtd_t:s0-s0:c0.c1023 
>>> msg='virt=qemu vm="mini" uuid=11111111-2890-2015-1f87-cbfa725b1dd3 
>>> vm-ctx=system_u:system_r:svirt_tcg_t:s0:c135,c495 
>>> img-ctx=system_u:object_r:svirt_image_t:s0:c135,c495 model=selinux 
>>> exe="/usr/sbin/libvirtd" hostname=? addr=? terminal=? res=success'
>>> ---- time->Mon Mar 24 10:26:21 2014 type=VIRT_MACHINE_ID 
>>> msg=audit(1395656781.041:22606): pid=529 uid=0 auid=4294967295 
>>> ses=4294967295  subj=system_u:system_r:virtd_t:s0-s0:c0.c1023 
>>> msg='virt=qemu vm="mini" uuid=11111111-2890-2015-1f87-cbfa725b1dd3 
>>> vm-ctx=107:107 img-ctx=107:107 model=dac exe="/usr/sbin/libvirtd" 
>>> hostname=? addr=? terminal=? res=success' ---- time->Mon Mar 24
>>> 10:26:21 2014 type=USER_AVC msg=audit(1395656781.044:22607): pid=1
>>> uid=0 auid=4294967295 ses=4294967295  subj=system_u:system_r:init_t:s0 
>>> msg='avc:  denied  { start } for auid=-1 uid=-1 gid=-1 
>>> scontext=system_u:system_r:init_t:s0
>>> tcontext=system_u:system_r:init_t:s0 tclass=service
>>> exe="/usr/lib/systemd/systemd" sauid=0 hostname=? addr=? terminal=?'
>>> ---- time->Mon Mar 24 10:26:21 2014 type=VIRT_RESOURCE 
>>> msg=audit(1395656781.285:22608): pid=529 uid=0 auid=4294967295 
>>> ses=4294967295  subj=system_u:system_r:virtd_t:s0-s0:c0.c1023 
>>> msg='virt=qemu resrc=mem reason=start vm="mini" 
>>> uuid=11111111-2890-2015-1f87-cbfa725b1dd3 old-mem=0 new-mem=1048576 
>>> exe="/usr/sbin/libvirtd" hostname=? addr=? terminal=? res=success'
>>> ---- time->Mon Mar 24 10:26:21 2014 type=VIRT_RESOURCE 
>>> msg=audit(1395656781.285:22609): pid=529 uid=0 auid=4294967295 
>>> ses=4294967295  subj=system_u:system_r:virtd_t:s0-s0:c0.c1023 
>>> msg='virt=qemu resrc=vcpu reason=start vm="mini" 
>>> uuid=11111111-2890-2015-1f87-cbfa725b1dd3 old-vcpu=0 new-vcpu=1 
>>> exe="/usr/sbin/libvirtd" hostname=? addr=? terminal=? res=success'
>>> ---- time->Mon Mar 24 10:26:21 2014 type=VIRT_CONTROL 
>>> msg=audit(1395656781.286:22610): pid=529 uid=0 auid=4294967295 
>>> ses=4294967295  subj=system_u:system_r:virtd_t:s0-s0:c0.c1023 
>>> msg='virt=qemu op=start reason=booted vm="mini" 
>>> uuid=11111111-2890-2015-1f87-cbfa725b1dd3 vm-pid=-1 
>>> exe="/usr/sbin/libvirtd" hostname=? addr=? terminal=? res=failed'
> 
> 
>>>> 
>>>> 
>>>> 
>> And look for messages about virt.
> 
>> This will turn dontaudit rules back on. semodule -B
> 
> 
>>>> _______________________________________________ cloud mailing list 
>>>> cloud at lists.fedoraproject.org <mailto:cloud at lists.fedoraproject.org>
>> <mailto:cloud at lists.fedoraproject.org
>> <mailto:cloud at lists.fedoraproject.org>>
>>>> https://admin.fedoraproject.org/mailman/listinfo/cloud Fedora Code
>>>> of Conduct: http://fedoraproject.org/code-of-conduct
> 
> 
> 
>> _______________________________________________ cloud mailing list 
>> cloud at lists.fedoraproject.org <mailto:cloud at lists.fedoraproject.org> 
>> https://admin.fedoraproject.org/mailman/listinfo/cloud Fedora Code of 
>> Conduct: http://fedoraproject.org/code-of-conduct
> 
> 
> That AVC does not seem to be related. What AVC's did you see when you
> disabled the dontaudit rules.
> 
> 
>> There's only one (the last one) with enabled and disabled dontaudit
>> rules:
> 
>> [root at fedora-20 ~]# semodule -DB ; date ; virsh create mini.xml ;
>> ausearch -m avc,user_avc -ts recent | tail -n 9 Mon Mar 24 12:44:17 UTC
>> 2014 error: Failed to create domain from mini.xml error: Input/output
>> error
> 
>> ---- time->Mon Mar 24 12:42:29 2014 type=USER_AVC
>> msg=audit(1395664949.793:23448): pid=1 uid=0 auid=4294967295 
>> ses=4294967295  subj=system_u:system_r:init_t:s0 msg='avc:  denied  {
>> start } for auid=-1 uid=-1 gid=-1 scontext=system_u:system_r:init_t:s0 
>> tcontext=system_u:system_r:init_t:s0 tclass=service 
>> exe="/usr/lib/systemd/systemd" sauid=0 hostname=? addr=? terminal=?' 
>> ---- time->Mon Mar 24 12:44:17 2014 type=USER_AVC
>> msg=audit(1395665057.999:23463): pid=1 uid=0 auid=4294967295 
>> ses=4294967295  subj=system_u:system_r:init_t:s0 msg='avc:  received
>> policyload notice (seqno=5)  exe="/usr/lib/systemd/systemd" sauid=0
>> hostname=? addr=? terminal=?' ---- time->Mon Mar 24 12:44:18 2014 
>> type=USER_AVC msg=audit(1395665058.000:23464): pid=1 uid=0
>> auid=4294967295 ses=4294967295  subj=system_u:system_r:init_t:s0
>> msg='avc:  denied  { start } for auid=-1 uid=-1 gid=-1
>> scontext=system_u:system_r:init_t:s0 tcontext=system_u:system_r:init_t:s0
>> tclass=service exe="/usr/lib/systemd/systemd" sauid=0 hostname=? addr=?
>> terminal=?'
> 
> 
> 
> 
>> _______________________________________________ cloud mailing list 
>> cloud at lists.fedoraproject.org <mailto:cloud at lists.fedoraproject.org> 
>> https://admin.fedoraproject.org/mailman/listinfo/cloud Fedora Code of
>> Conduct: http://fedoraproject.org/code-of-conduct
> 
> 
> 
> _______________________________________________ cloud mailing list 
> cloud at lists.fedoraproject.org 
> https://admin.fedoraproject.org/mailman/listinfo/cloud Fedora Code of
> Conduct: http://fedoraproject.org/code-of-conduct
> 
If you successfully disabled dontaudit rules, you shouldbe seeing a lot more
messages.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iEYEARECAAYFAlMwTccACgkQrlYvE4MpobMx6gCgzT+56w2jhMoQkJ7S0RG8GQ9a
6nYAn3Oh87AIsAYnivoegiUpYxJJL8yc
=1qzi
-----END PGP SIGNATURE-----


More information about the cloud mailing list