create apparmor security plugin for libvirt

Bug #388422 reported by Jamie Strandboge
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libvirt (Ubuntu)
Fix Released
Wishlist
Jamie Strandboge

Bug Description

Virtual machines started by libvirt run unconfined. If there is a bug in the hypervisor a guest could potentially attack other guests or the host. Providing an AppArmor profile would help protect against this. As of libvirt 0.6.1, sVirt has been merged and contains all the necessary hooks through a plugin architecture to confine a virtual machine using SELinux. Providing an AppArmor plugin would help increase security and contain virtual machines in Ubuntu.

See https://wiki.ubuntu.com/SecurityTeam/Specifications/AppArmorLibvirtProfile and http://fedoraproject.org/wiki/Features/SVirt_Mandatory_Access_Control for details.

Related branches

Changed in libvirt (Ubuntu):
assignee: nobody → Jamie Strandboge (jdstrand)
importance: Undecided → Wishlist
milestone: none → karmic-alpha-6
status: New → Triaged
description: updated
Changed in libvirt (Ubuntu):
status: Triaged → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (5.0 KiB)

This bug was fixed in the package libvirt - 0.7.0-1ubuntu2

---------------
libvirt (0.7.0-1ubuntu2) karmic; urgency=low

  * Add AppArmor support (LP: #388422):
    - debian/patches/9090-reenable-nonfile-labels.patch: add back in
      virDomainObjPtr argument to RestoreSecurityImageLabel since AppArmor
      labels are not stored on disk
    - debian/patches/9091-apparmor.patch: add AppArmor security driver
    - debian/patches/9092-apparmor-autoreconf.patch: after installing libtool
      and the build dependencies, run autoreconf to pull in changes to
      Makefile.am and configure.in in 9091-apparmor.patch
    - debian/rules: use --with-apparmor and copy debian/apparmor/* to
      debian/tmp
    - debian/control: Build-Depends on libapparmor-dev and Suggests apparmor
      >= 2.3+1289-0ubuntu14
    - add profiles and abstractions to debian/apparmor. usr.sbin.libvirtd will
      default to complain mode until LP: #401931 is sorted out
    - debian/libvirt-bin.dirs: add /etc/apparmor.d/libvirt,
      /etc/apparmor.d/abstractions, and /etc/apparmor.d/force-complain
    - debian/libvirt-bin.install: install profiles and abstractions
    - debian/libvirt-bin.preinst: newly added to force complain on certian
      upgrades
    - debian/libvirt-bin.postinst: (re)load profile
    - debian/libvirt-bin.postrm: remove force-complain profile on purge
  * 9006-increase-unix-socket-timeout.patch:
    increase timeout waiting for unix socket in src/qemu_driver.c, set to 30
    seconds, which 10x longer than before, and matches the logoutput timeout
    adjustment in 9003-increase-logoutput-timeout.patch. This is needed with
    the new qemudOpenMonitorUnix() function introduced in 0.7.0.
  * add apport hook:
    - add debian/libvirt-bin.apport
    - debian/libvirt-bin.dirs: add /usr/share/apport/package-hooks
    - debian/libvirt-bin.install: add source_libvirt-bin.py
    - debian/rules: install libvirt-bin.apport

libvirt (0.7.0-1ubuntu1) karmic; urgency=low

  * Merge from debian experimental, remaining changes:
    - debian/control:
      + Don't build-depend on QEmu.
      + Bump bridge-utils, dnsmasq-base, netcat-openbsd, and iptables
        to Depends of libvirt-bin.
      + Add versioned Conflicts/Replaces to libvirt0 for libvirt0-dbg,
        since we used to ship them as such.
      + We call libxen-dev libxen3-dev, so change all references.
      + Build-Depends on open-iscsi-utils instead of open-iscsi due to
        LP: #414986
    - 9000-delayed_iff_up_bridge.patch:
      Don't try to bring up the bridge before at least one interface has been
      added to it.
    - 9001-dont_clobber_existing_bridges.patch:
      Assign the name of the virtual bridge dynamically to avoid interfering
      with existing bridges.
    - 9002-better_default_uri_virsh.patch:
      Default to qemu:///system if the user has write access to the libvirt
      socket, otherwise qemu:///session.
    - 9003-increase-logoutput-timeout.patch:
      increase timeout waiting for log output in src/qemu_driver.c, set to 30
      seconds, which 10x longer than before, and matches the disk-wait in
      mdadm. (LP #344400)
    - 9004-better-default-arch.patch:
      If a d...

Read more...

Changed in libvirt (Ubuntu):
status: In Progress → 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.