dnsmasq runs unconfined due to starting before apparmor on boot

Bug #573315 reported by Michael Lustfield
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
libvirt (Ubuntu)
Fix Released
Wishlist
Jamie Strandboge

Bug Description

Binary package hint: dnsmasq

When I startup my virt system the dnsmasq process is not enforced. I set this profile to enforce so it should be enforced. As I understood it, apparmor should start before this process starts.

michael@pessum:~$ sudo aa-status
[sudo] password for michael:
apparmor module is loaded.
30 profiles are loaded.
30 profiles are in enforce mode.
   /bin/ping
   /sbin/dhclient3
   /sbin/klogd
   /sbin/syslog-ng
   /sbin/syslogd
   /usr/lib/NetworkManager/nm-dhcp-client.action
   /usr/lib/connman/scripts/dhclient-script
   /usr/lib/dovecot/deliver
   /usr/lib/dovecot/dovecot-auth
   /usr/lib/dovecot/imap
   /usr/lib/dovecot/imap-login
   /usr/lib/dovecot/managesieve-login
   /usr/lib/dovecot/pop3
   /usr/lib/dovecot/pop3-login
   /usr/lib/libvirt/virt-aa-helper
   /usr/sbin/avahi-daemon
   /usr/sbin/dnsmasq
   /usr/sbin/dovecot
   /usr/sbin/identd
   /usr/sbin/libvirtd
   /usr/sbin/mdnsd
   /usr/sbin/nmbd
   /usr/sbin/nscd
   /usr/sbin/smbd
   /usr/sbin/tcpdump
   /usr/sbin/traceroute
   libvirt-5452d978-4734-915d-9de5-50b47505f09b
   libvirt-7589ba32-d907-452f-d41b-7e2acf2a9de4
   libvirt-cbd67573-7a5f-3715-5487-904767e29fd7
   libvirt-d0243b43-ada9-9a84-6ad3-762c29af15b9
0 profiles are in complain mode.
6 processes have profiles defined.
5 processes are in enforce mode :
   /usr/sbin/libvirtd (1446)
   libvirt-5452d978-4734-915d-9de5-50b47505f09b (1717)
   libvirt-7589ba32-d907-452f-d41b-7e2acf2a9de4 (1616)
   libvirt-cbd67573-7a5f-3715-5487-904767e29fd7 (1653)
   libvirt-d0243b43-ada9-9a84-6ad3-762c29af15b9 (1641)
0 processes are in complain mode.
1 processes are unconfined but have a profile defined.
   /usr/sbin/dnsmasq (1543)

root@pessum:~# kill 1543
root@pessum:~# dnsmasq
root@pessum:~# aa-status
apparmor module is loaded.
30 profiles are loaded.
30 profiles are in enforce mode.
   /bin/ping
   /sbin/dhclient3
   /sbin/klogd
   /sbin/syslog-ng
   /sbin/syslogd
   /usr/lib/NetworkManager/nm-dhcp-client.action
   /usr/lib/connman/scripts/dhclient-script
   /usr/lib/dovecot/deliver
   /usr/lib/dovecot/dovecot-auth
   /usr/lib/dovecot/imap
   /usr/lib/dovecot/imap-login
   /usr/lib/dovecot/managesieve-login
   /usr/lib/dovecot/pop3
   /usr/lib/dovecot/pop3-login
   /usr/lib/libvirt/virt-aa-helper
   /usr/sbin/avahi-daemon
   /usr/sbin/dnsmasq
   /usr/sbin/dovecot
   /usr/sbin/identd
   /usr/sbin/libvirtd
   /usr/sbin/mdnsd
   /usr/sbin/nmbd
   /usr/sbin/nscd
   /usr/sbin/smbd
   /usr/sbin/tcpdump
   /usr/sbin/traceroute
   libvirt-5452d978-4734-915d-9de5-50b47505f09b
   libvirt-7589ba32-d907-452f-d41b-7e2acf2a9de4
   libvirt-cbd67573-7a5f-3715-5487-904767e29fd7
   libvirt-d0243b43-ada9-9a84-6ad3-762c29af15b9
0 profiles are in complain mode.
6 processes have profiles defined.
6 processes are in enforce mode :
   /usr/sbin/dnsmasq (1809)
   /usr/sbin/libvirtd (1446)
   libvirt-5452d978-4734-915d-9de5-50b47505f09b (1717)
   libvirt-7589ba32-d907-452f-d41b-7e2acf2a9de4 (1616)
   libvirt-cbd67573-7a5f-3715-5487-904767e29fd7 (1653)
   libvirt-d0243b43-ada9-9a84-6ad3-762c29af15b9 (1641)
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.

ProblemType: Bug
DistroRelease: Ubuntu 10.04
Package: dnsmasq (not installed)
ProcVersionSignature: Ubuntu 2.6.32-21.32-server 2.6.32.11+drm33.2
Uname: Linux 2.6.32-21-server x86_64
NonfreeKernelModules: ksplice_e4o4fyfg_vmlinux_new ksplice_e4o4fyfg
Architecture: amd64
Date: Sat May 1 16:56:35 2010
InstallationMedia: Ubuntu-Server 10.04 "Lucid Lynx" - Alpha amd64 (20100404)
ProcEnviron:
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: dnsmasq

Tags: apparmor
visibility: private → public
Revision history for this message
Jamie Strandboge (jdstrand) wrote :

Thank you for reporting a bug. How did you enable the profile? Assuming you enabled the profile to load on boot with 'aa-enforce', you can expect to have to restart the daemon immediately after loading the profile. After a reboot, it should be in enforce mode.

affects: dnsmasq (Ubuntu) → apparmor (Ubuntu)
Changed in apparmor (Ubuntu):
assignee: nobody → Jamie Strandboge (jdstrand)
status: New → Incomplete
Revision history for this message
Michael Lustfield (michaellustfield) wrote :

aa-enforce /etc/apparmor.d/usr.sbin.dnsmasq
reboot

After the reboot it was not enforced but instead was running unconfined. The profile is still enforced, but the process must be starting before apparmor.

summary: - dnsmasq not enforced by apparmor on boot
+ dnsmasq runs unconfined due to starting before apparmor on boot
Revision history for this message
Jamie Strandboge (jdstrand) wrote :

Thanks Michael. libvirt starts dnsmasq. Can you try adding to /etc/apparmor.d/usr.sbin.libvirt the following:
  /usr/sbin/dnsmasq PUx,

Then performing:
$ sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.libvirt

Then rebooting and report back if it fixes the issue for you?

affects: apparmor (Ubuntu) → libvirt (Ubuntu)
security vulnerability: yes → no
Revision history for this message
Jamie Strandboge (jdstrand) wrote :

Unmarking as security. The dnsmasq apparmor profile is not enabled by default, and enabling simply requires additional configuration to work.

tags: added: apparmor
removed: amd64 apport-bug lucid
Revision history for this message
Jamie Strandboge (jdstrand) wrote :

I meant /etc/apparmor.d/usr.sbin.libvirtd, not /etc/apparmor.d/usr.sbin.libvirt

Revision history for this message
Michael Lustfield (michaellustfield) wrote :

Thumbs up. :)

Changed in libvirt (Ubuntu):
status: Incomplete → Triaged
Changed in libvirt (Ubuntu):
importance: Undecided → Wishlist
Changed in libvirt (Ubuntu):
status: Triaged → In Progress
Changed in libvirt (Ubuntu):
milestone: none → natty-alpha-2
Changed in libvirt (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package libvirt - 0.8.5-0ubuntu4

---------------
libvirt (0.8.5-0ubuntu4) natty; urgency=low

  * debian/apparmor/usr.sbin.libvirtd: use PUx instead of Ux for executables
    (LP: #573315)
 -- Jamie Strandboge <email address hidden> Tue, 04 Jan 2011 08:02:22 -0600

Changed in libvirt (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.