Public bug reported:

## FFE ##

This is a Feature Freeze Exception request for questing for the apparmor
package:

I'd like to add a new package called apparmor.d which contains over 1500
profiles from the upstream project apparmor.d [1]

These profiles will be added in "complain" mode, which means that for a
given action, if the profile rules do not grant permission the action
will be allowed, but the violation will be logged with a tag of the
access being ALLOWED. This is done because we want to test these
profiles and enable others to test and add new rules to eventually
improve the profiles.

By adding these profiles in a new package which is not installed by
default, regular users will not be affected. But users that would like
to test and contribute to the profiles can install it.

We want to add these profiles, even in complain mode, as a new package
(and not part of the apparmor package) because labeling certain binaries
could cause issues with existing policy, specially those that use
"peer". Additionally, the large amount of profiles do take a while to
compile by the parser in the first boot. After that, a cached version of
the profiles can be loaded directly into the kernel by the parser which
takes considerably less time. Note again that apparmor.d will not be
installed by default, so this will only affect users that choose to
install it.

The benefits of this change is the ability to increase the amount of
testing for these profiles, which will then enable us to eventually ship
them in enforce mode. More profiles means more confined applications,
which could lead to higher security. This is the first step towards
that.


This is the PPA containing a built version of apparmor:
#TODO

This is the installation logs:
#TODO


For testing, I ran the QA Regression Tests [2]:

Steps:
$ git clone https://git.launchpad.net/qa-regression-testing
$ ./scripts/make-test-tarball ./scripts/test-apparmor.py
Copying: test-apparmor.py
Copying: testlib.py
Copying: install-packages
Copying: packages-helper
Copying: apparmor/

Test files: /tmp/qrt-test-apparmor.tar.gz

To run, first install the apparmor.d package introduced in this FFE, then copy 
the tarball somewhere, then do:
$ tar -zxf qrt-test-apparmor.tar.gz
$ cd ./qrt-test-apparmor
$ sudo ./install-packages test-apparmor.py
$ ./test-apparmor.py -v

This script runs various tests against the installed apparmor
package

The result was:

FAILED: disconnected_mount_complain overlayfs_kernel socketpair
make: *** [Makefile:487: alltests] Error 1


----------------------------------------------------------------------
Ran 62 tests in 3903.620s

FAILED (failures=1, skipped=4)

Note that these failures are not related to the apparmor.d package and
are also reproducible with apparmor version 5.0.0~alpha1-0ubuntu4 from
the archive.


[1] https://github.com/roddhjav/apparmor.d
[2] 
https://git.launchpad.net/qa-regression-testing/tree/scripts/test-apparmor.py

** Affects: apparmor (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to apparmor in Ubuntu.
https://bugs.launchpad.net/bugs/2121409

Title:
  [FFE] add a new apparmor.d package containing several apparmor
  profiles

Status in apparmor package in Ubuntu:
  New

Bug description:
  ## FFE ##

  This is a Feature Freeze Exception request for questing for the
  apparmor package:

  I'd like to add a new package called apparmor.d which contains over
  1500 profiles from the upstream project apparmor.d [1]

  These profiles will be added in "complain" mode, which means that for
  a given action, if the profile rules do not grant permission the
  action will be allowed, but the violation will be logged with a tag of
  the access being ALLOWED. This is done because we want to test these
  profiles and enable others to test and add new rules to eventually
  improve the profiles.

  By adding these profiles in a new package which is not installed by
  default, regular users will not be affected. But users that would like
  to test and contribute to the profiles can install it.

  We want to add these profiles, even in complain mode, as a new package
  (and not part of the apparmor package) because labeling certain
  binaries could cause issues with existing policy, specially those that
  use "peer". Additionally, the large amount of profiles do take a while
  to compile by the parser in the first boot. After that, a cached
  version of the profiles can be loaded directly into the kernel by the
  parser which takes considerably less time. Note again that apparmor.d
  will not be installed by default, so this will only affect users that
  choose to install it.

  The benefits of this change is the ability to increase the amount of
  testing for these profiles, which will then enable us to eventually
  ship them in enforce mode. More profiles means more confined
  applications, which could lead to higher security. This is the first
  step towards that.

  
  This is the PPA containing a built version of apparmor:
  #TODO

  This is the installation logs:
  #TODO

  
  For testing, I ran the QA Regression Tests [2]:

  Steps:
  $ git clone https://git.launchpad.net/qa-regression-testing
  $ ./scripts/make-test-tarball ./scripts/test-apparmor.py
  Copying: test-apparmor.py
  Copying: testlib.py
  Copying: install-packages
  Copying: packages-helper
  Copying: apparmor/

  Test files: /tmp/qrt-test-apparmor.tar.gz

  To run, first install the apparmor.d package introduced in this FFE, then 
copy the tarball somewhere, then do:
  $ tar -zxf qrt-test-apparmor.tar.gz
  $ cd ./qrt-test-apparmor
  $ sudo ./install-packages test-apparmor.py
  $ ./test-apparmor.py -v

  This script runs various tests against the installed apparmor
  package

  The result was:

  FAILED: disconnected_mount_complain overlayfs_kernel socketpair
  make: *** [Makefile:487: alltests] Error 1

  
  ----------------------------------------------------------------------
  Ran 62 tests in 3903.620s

  FAILED (failures=1, skipped=4)

  Note that these failures are not related to the apparmor.d package and
  are also reproducible with apparmor version 5.0.0~alpha1-0ubuntu4 from
  the archive.

  
  [1] https://github.com/roddhjav/apparmor.d
  [2] 
https://git.launchpad.net/qa-regression-testing/tree/scripts/test-apparmor.py

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/2121409/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to