| Stable release | 2.3 |
|---|---|
| Written in | C, Perl |
| Operating system | Linux |
| Type | Security |
| License | GNU General Public License |
| Website | http://en.opensuse.org/AppArmor |
AppArmor ("Application Armor") is security software for Linux, released under the GNU General Public License. From 2005 through September 2007, AppArmor was maintained by Novell. AppArmor allows the system administrator to associate with each program a security profile that restricts the capabilities of that program. It supplements the traditional Unix discretionary access control (DAC) model by providing mandatory access control (MAC).
In addition to manually specifying profiles, AppArmor includes a learning mode, in which violations of the profile are logged, but not prevented. This log can then be turned into a profile, based on the program's typical behavior.
AppArmor is implemented using the Linux Security Modules kernel interface.
AppArmor was created in part as an alternative to SELinux, which critics consider difficult for administrators to set up and maintain.[1] Unlike SELinux, which is based on applying labels to files, AppArmor works with file paths. Proponents of AppArmor claim that it is less complex and easier for the average user to learn than SELinux.[2] They also claim that AppArmor requires fewer modifications to work with existing systems:[citation needed] for example, SELinux requires a filesystem that supports "security labels", and thus cannot provide access control for files mounted via NFS. AppArmor is file-system neutral.
In September 2007, Novell laid off the AppArmor team.[3]
Contents |
Other systems
| This section needs additional citations for verification. Please help improve this article by adding reliable references. Unsourced material may be challenged and removed. (June 2009) |
AppArmor represents one of several possible approaches to the problem of restricting the actions that installed software can take.
The SELinux system generally takes a similar approach to AppArmor. One important difference is that it identifies file system objects by inode number instead of path. This means that, for example, a file that is inaccessible may become accessible under AppArmor when a hard link is created to it, while SELinux would deny access through the newly created hard link. On the other hand, data that is inaccessible may become accessible under SELinux when applications update the file by replacing it with a new version (a frequently used technique), while AppArmor would continue to deny access to the data. (In both cases, a default policy of "no access" avoids the problem.)[citation needed]
While there has been considerable debate about which approach is better, there is as yet no strong evidence that either approach is preferable. Discussion about their relative merits often revolves around which approach is more aligned with existing UNIX/Linux access control mechanisms, but UNIX and Linux use a combination of path-based and inode-based access control. Note also that existing access control mechanisms remain in place with either system.[citation needed]
SELinux and AppArmor also differ significantly in how they are administered and how they integrate into the system.
Isolation of processes can also be accomplished by mechanisms like virtualization; the OLPC project, for example, sandboxes individual applications in lightweight Vserver.
In 2009 a new solution that like AppArmor also uses path-based access control called Tomoyo was included in the Linux kernel 2.6.30. There is also Smack.
Availability
AppArmor was first used in Immunix Linux 1998-2003. AppArmor was first made available in SUSE and openSUSE, and was first enabled by default in SUSE Linux Enterprise Server 10 and in openSUSE 10.1. AppArmor was first successfully ported/packaged for Ubuntu in April 2007. AppArmor comes installed by default in Ubuntu 7.10 Gutsy Gibbon, and came as a part of the release of Ubuntu 8.04. Although it only protects CUPS by default, the user can install new profiles and enforce them.
As of Ubuntu 9.04 Jaunty Jackalope more items such as MySQL have installed profiles in /etc/apparmor.d/abstractions. AppArmor hardening continued to improve in Ubuntu 9.10 Karmic Koala as it ships with profiles for its guest session, libvirt virtual machines, the Evince document viewer, and an optional Firefox profile.[4]
See also
- Immunix, the original developers of AppArmor
- Linux Intrusion Detection System (LIDS)
- Security-Enhanced Linux
- Systrace
References
- ^ Mayank Sharma (2006-12-11). "Linux.com :: SELinux: Comprehensive security at the price of usability". http://www.linux.com/articles/58942.
- ^ Ralf Spenneberg (August 2006). "Protective armor: Shutting out intruders with AppArmor". Linux Magazine. http://www.linux-magazine.com/issues/2006/69/protective_armor. Retrieved 2008-08-02.
- ^ "Novell lays off AppArmor programmers". CNET. 2007-10-10. http://www.news.com/8301-13580_3-9796140-39.html?part=rss&subj=news&tag=2547-1_3-0-5.
- ^ http://www.ubuntu.com/testing/karmic/beta#AppArmor
External links
- AppArmor description from openSUSE.org
- LKML thread containing comments and criticism of AppArmor
- Apparmor packages for Ubuntu
- Apparmor FAQ
- AppArmor project developer page
- Counterpoint: Novell and Red Hat security experts face off on AppArmor and SELinux
|
||||||||||||||||||||
This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer)




