|/Contribute /Debug /HowToUse /OutReachyRound9 /Progress /Reportbug /UserStories|
A Debian 7 "Wheezy" or newer GNU/Linux system is required.
If you are using wheezy, upgrading to systemd 204-14 from wheezy-backports is recommended, but not mandatory.
Install AppArmor userspace tools and some contributed profiles:
$ sudo apt-get install apparmor apparmor-profiles apparmor-utils
Enable the AppArmor LSM:
$ sudo perl -pi -e 's,GRUB_CMDLINE_LINUX="(.*)"$,GRUB_CMDLINE_LINUX="$1 apparmor=1 security=apparmor",' /etc/default/grub $ sudo update-grub $ sudo reboot
In the future, this should be automated, see 702030
Inspect the current state
$ sudo aa-status
will list all loaded AppArmor profiles for applications and processes and detail their status (enforced, complain, unconfined).
$ ps auxZ | grep -v '^unconfined'
will list running executables which are currently confined by an AppArmor profile.
Enable / install more profiles
Find more profiles:
in the apparmor-profiles package;
in the apparmor-profiles-extra package (available in wheezy-backports and jessie);
in the patches, with new profiles included, that were submitted to Debian;
- in Ubuntu.
AppArmor profiles should live in /etc/apparmor.d/. One can use apparmor_parser(8) to insert them into the kernel. This is done automatically when installing the apparmor-profiles or the apparmor-profiles-extra package.
For example, to set all "extra" profiles (provided in the apparmor-profiles package) to complain mode (security policy is not enforced, but corresponding access violations are logged), do the following:
for f in *.* ; do aa-complain /etc/apparmor.d/$f; done
To set these profiles to enforce mode, use aa-enforce instead of aa-complain. Note that many of these profiles are not up-to-date and might break functionality in enforce mode.
AppArmor audit logs can be found in /var/log/syslog.
For more detailed instructions, please read the dedicated documentation for debugging AppArmor.