Application Armor

Aus Mikiwiki
Zur Navigation springen Zur Suche springen

Das Linux-Kernelmodul Application Armor / Apparmor (auch: AppArmor; dt. etwa "Anwendungsprogrammschutz") ist eine Sicherheitsanwendung, die mit Hilfe der Linux Security Model-Kernelschnittstelle Profile für Anwendungen erstellen kann, welche diese in ihren Möglichkeiten einschränken. Es ist eine Erweiterung für Linux, die Mandatory Access Control / MAC implementiert.

Aktuell wird Apparmor in den Linux-Distributionen Mandriva, SUSE Linux und Ubuntu genutzt.

Funktionsweise

Apparmor läuft als Kernelmodul und steuert direkt die Zugriffsrechte der einzelnen Prozesse auf höchster Systemebene. Durch diesen Präventivschutz sollen Anwendungsprogramme aktiv vor externen und internen Bedrohungen, sogar vor Zero-Day-Attacken (engl. zero day exploits) geschützt werden, indem Apparmor ein gutartiges Programmverhalten erzwingt und die Ausnutzung unbekannter Programmschlupflöcher verhindert. AppArmor Sicherheitsrichtlinien ("Profile") definieren vollständig, auf welche Systemmittel eine Anwendung zugreifen darf und welche Rechte sie dabei besitzt. Für standardmässig verwendete Software auf einem Linux-Rechner (z. B. CUPS) werden vorgefertigte Profile mitgeliefert. Benutzer und Systemverwalter können auch eigene Profile für Anwendungen erstellen. Eine weitere Möglichkeit ist der Einsatz von lernfähigen Filtern, während sich ein Programm im Normalbetrieb befindet.

Apparmor kennt zwei Modi der Regelumsetzung:

  • Im Modus "Complain" wird die Anwendung zwar überwacht, Aktionen die gegen die Regeln verstossen werden aber nur protokolliert und nicht verboten.
  • Im Modus "Enforce" werden gegen die Regeln verstossende Aktionen protokolliert und verboten.

Das Logging erfolgt dabei sowohl in der Systemlogdatei "/var/log/syslog", der Datei "/var/log/messages" und in der Kernel-Logdatei "/var/log/kern.log". Die Datei "/var/log/messages" ist dabei jedoch standardmässig die ausschlaggebende, die auch von den Apparmor-Werkzeugen "aa-logprof" und "aa-genprof" benutzt wird.

Installation

Ubuntu 8.04 Hardy Heron

$ sudo apt-get install apparmor apparmor-utils

In der Grundinstallation sind nur sehr wenige Regeln enthalten. Ein grösserer Regelsatz kann über das Paket "apparmor-profiles" installiert werden. Dabei ist zu beachten, dass diese Regeln womöglich für veraltete Programmversionen sind (z. B. Regeln für GAIM anstelle von Pidgin enthalten) und dass diese Regeln nicht blind übernommen werden sollen, sondern den individuellen Bedürfnissen angepasst werden müssen.

Verwendung

Überblick über den aktuellen Status von Apparmor.

$ sudo apparmor_status
bzw.
$ sudo aa-status
apparmor module is loaded.
5 profiles are loaded.
5 profiles are in enforce mode.
   /usr/sbin/mysqld
   /usr/sbin/clamd
   /usr/bin/freshclam
   /usr/sbin/cupsd
   /usr/lib/cups/backend/cups-pdf
0 profiles are in complain mode.
3 processes have profiles defined.
3 processes are in enforce mode :
   /usr/sbin/clamd (7083) 
   /usr/bin/freshclam (7211) 
   /usr/sbin/mysqld (6407) 
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.

Überblick über den aktuellen Status von Apparmor nach dem Einspielen des Pakets "apparmor-profiles". Der hier als ungeschützt (unconfined) bezeichnete und doppelt (je einmal für TCP und UDP) gelistete Dienst "avahi-daemon" ist nur aus dem lokalen Rechnernetz zu erreichen und gilt als sicher.

$ sudo apparmor_status
bzw.
$ sudo aa-status
apparmor module is loaded.
17 profiles are loaded.
6 profiles are in enforce mode.
   /usr/sbin/clamd
   /usr/bin/freshclam
   /usr/lib/cups/backend/cups-pdf
   /usr/sbin/mysqld
   /usr/sbin/cupsd
   /usr/sbin/avahi-daemon
11 profiles are in complain mode.
   /usr/sbin/identd
   /usr/sbin/ntpd
   /sbin/klogd
   /usr/sbin/nmbd
   /sbin/syslogd
   /usr/sbin/smbd
   /sbin/syslog-ng
   /usr/sbin/traceroute
   /usr/sbin/nscd
   /bin/ping
   /usr/sbin/mdnsd
7 processes have profiles defined.
3 processes are in enforce mode :
   /usr/sbin/clamd (7083) 
   /usr/bin/freshclam (7211) 
   /usr/sbin/mysqld (6407) 
0 processes are in complain mode.
4 processes are unconfined but have a profile defined.
   /usr/sbin/avahi-daemon (6301) 
   /sbin/syslogd (6023) 
   /usr/sbin/avahi-daemon (6302) 
   /sbin/klogd (6099)

Weblinks

Herausgeber Sprache Webseitentitel Anmerkungen