AppArmor is een Linux Security Module implementatie van op naam gebaseerde toegangscontrole. AppArmor beperkt individuele programma's tot een set van specifieke bestanden. Één van de doelen van AppArmor is dat het makkelijk te begrijpen en makkelijk toe te passen moet zijn. AppArmor is echter nog vrij nieuw in Ubuntu, en omdat het nog redelijk ingewikkeld is, is het nog niet geschikt om gebruikt te worden door beginnende gebruikers.
AppArmor is beschikbaar vanaf Ubuntu 7.04 (Feisty Fawn).
AppArmor is standaard geïnstalleerd en geladen in Gutsy. Enkele pakketten installeren hun eigen profielen. Aanvullende profielen kunnen gevonden worden in het pakket apparmor-profiles van de Universe repository.
activeer de Universe repository
Installeer apparmor-profiles
AppArmor is standaard niet ingevoegd in de Feisty kernel. het moet handmatig gecompileerd worden.
activeer de Universe repository
Installeer apparmor-modules-source en module-assistant pakketten
Compileer de apparmor kernel module :
sudo m-a -v -t prepare sudo m-a -v -t -f build apparmor-modules sudo m-a -v -t install apparmor-modules
Installeer apparmor-profiles, apparmor-utils en apparmor pakketten
Om de nieuwste apparmor pakketten te installeren in Feisty moeten de pakketten herbouwd worden. Zie latest apparmor utilities for feisty (LP #116627).
Wanneer een nieuwe kernel is geïnstalleerd of wanneer een nieuwe versie van apparmor-module-source is geïnstalleerd, dan moet de apparmor module gehercompileerd worden :
sudo m-a -v -t -f build apparmor-modules sudo m-a -v -t install apparmor-modules
om er zeker van te zijn dat alle draaiende processen beschermd zijn moet het systeem opnieuw gestart worden.
Alle opdrachten dienen in een terminal uitgevoerd te worden.
sudo apparmor_status
sudo aa-complain /path/to/bin
Voorbeeld:
sudo aa-complain /bin/ping
sudo aa-complain /etc/apparmor.d/*
sudo aa-enforce /path/to/bin
Voorbeeld:
sudo aa-enforce /bin/ping
sudo aa-enforce /etc/apparmor.d/*
sudo /etc/init.d/apparmor kill sudo update-rc.d -f apparmor remove
sudo /etc/init.d/apparmor start sudo update-rc.d apparmor start 37 S .
sudo /etc/init.d/apparmor reload
cat /etc/apparmor.d/profile.name | sudo apparmor_parser -r
Voorbeeld:
cat /etc/apparmor.d/bin.ping | sudo apparmor_parser -r
ln -s /etc/apparmor.d/profile.name /etc/apparmor.d/disable/ apparmor_parser -R /etc/apparmor.d/profile.name
Voorbeeld:
ln -s /etc/apparmor.d/bin.ping /etc/apparmor.d/disable/ apparmor_parser -R /etc/apparmor.d/bin.ping
standaard zijn profielen geactiveerd (d.w.z. geladen in de kernel en toegepast op processen).
rm /etc/apparmor.d/disable/profile.name cat /etc/apparmor.d/profile.name | sudo apparmor_parser -a
Voorbeeld:
rm /etc/apparmor.d/disable/bin.ping cat /etc/apparmor.d/bin.ping | sudo apparmor_parser -a
Herstart de weergegeven processen. Het systeem opnieuw starten lost het probleem ook op.
AppArmor kan alleen processen volgen en beschermen die gestart zijn nadat de kernel module geladen is. Nadat het apparmor pakket geïnstalleerd is wordt apparmor gestart. Maar draaiende processen worden niet beschermd door AppArmor. herstarten van de processen of het systeem opnieuw opstarten zal dit probleem oplossen.
Je kan ook een profiel toepassen op een al draaiend proces door het uitvoeren van de volgende opdracht:
sudo sh -c "echo 'setprofile /path/to/bin' > /proc/pid/attr/current"
[[Anchor(newprofile)]]
Bedenk hoe een toepassing uitgevoerd zou moeten worden. Het test plan zou opgedeeld moeten worden in kleine testcases. Elke testcase zou een kleine beschrijving moeten hebben en de te volgen stappen.
Enkele standaard testcases zijn :
start het programma
stop het programma
herlaad het programma
test alle opdrachten ondersteund door het init script
Gebruik aa-genprof om een nieuw profiel te genereren.
Gebruik de opdracht aa-genprof in een terminal:
sudo aa-genprof executable
Voorbeeld:
sudo aa-genprof slapd
De man pagina heeft meer informatie: man aa-genprof.
Om je nieuwe profiel toevoegen aan het apparmor-profiles pakket, stuur een bug naar Launchpad AppArmor package:
Voeg je test plan en testcases bij
Voeg je nieuwe profiel toe aan de bug
[[Anchor(updateprofile)]]
Wanneer programma's zich misdragen worden er berichten naar de logbestanden verzonden. Het programma aa-logprof kan worden gebruikt om logbestanden op AppArmor berichten te scannen, beoordeel ze en update de profielen indien nodig.
sudo aa-logprof
De man pagina heeft meer informatie: man aa-logprof.
Intro to AppArmor for Geeks : detailed usage of apparmor.
AppArmor now in Feisty : small tutorial about generating a new profile for evince.
https://help.ubuntu.com/community/AppArmor: het origineel
Originele vertaler van het wiki artikel: ServaasXubuntuUser Aanvullingen en correcties: Bartek, Joop13 en Johanvd
Ubuntero van de maand - Juli 2008 - Stani
01-07-2008
Ubuntero van de maand - Juni 2008 - SeySayux
01-06-2008
Ubuntero van de maand - Mei 2008 - Laacque
01-05-2008
Ooievaar brengt “Ruige Reiger”!
24-04-2008
Hardy Release Parties 2008
15-04-2008
Ubuntu demonstratie 19 april a.s. in Apeldoorn
10-04-2008
Ubuntero van de maand - April 2008 - Eendje
02-04-2008
Onverwachte downtime
01-04-2008
Nu ook chatten via de ubuntu NL website
30-03-2008
Ubuntero van de maand - Maart 2008 - profoX
01-03-2008
Lees het nieuws via RSS