AppArmor is een belangrijke beveiligingsfunctie die standaard is opgenomen in Ubuntu sinds Ubuntu 7.10. Het wordt echter stil op de achtergrond uitgevoerd, dus u weet misschien niet wat het is en wat het doet.
AppArmor vergrendelt kwetsbare processen en beperkt de schade die beveiligingslekken in deze processen kunnen veroorzaken. AppArmor kan ook worden gebruikt om Mozilla Firefox te vergrendelen voor een betere beveiliging, maar doet dit niet standaard.
Wat is AppArmor?
AppArmor is vergelijkbaar met SELinux, standaard gebruikt in Fedora en Red Hat. Hoewel ze anders werken, bieden zowel AppArmor als SELinux “verplichte toegangscontrole” (MAC) beveiliging. In feite stelt AppArmor de ontwikkelaars van Ubuntu in staat om de acties die processen kunnen ondernemen te beperken.
Een toepassing die bijvoorbeeld beperkt is in de standaardconfiguratie van Ubuntu, is de Evince PDF-viewer. Hoewel Evince kan worden uitgevoerd als uw gebruikersaccount, kan het alleen specifieke acties ondernemen. Evince heeft slechts het absolute minimum aan machtigingen die nodig zijn om PDF-documenten uit te voeren en ermee te werken. Als er een kwetsbaarheid werd ontdekt in de PDF-renderer van Evince en u opende een kwaadaardig PDF-document dat Evince overnam, zou AppArmor de schade beperken die Evince zou kunnen aanrichten. In het traditionele Linux-beveiligingsmodel zou Evince toegang hebben tot alles waartoe u toegang hebt. Met AppArmor heeft het alleen toegang tot dingen waartoe een PDF-viewer toegang moet hebben.
AppArmor is met name handig voor het beperken van software die kan worden misbruikt, zoals een webbrowser of serversoftware.
De status van AppArmor bekijken
Om de status van AppArmor te bekijken, voert u de volgende opdracht uit in een terminal:
sudo apparmor_status
U zult zien of AppArmor op uw systeem wordt uitgevoerd (het wordt standaard uitgevoerd), de AppArmor-profielen die zijn geïnstalleerd en de beperkte processen die worden uitgevoerd.
AppArmor-profielen
In AppArmor worden processen beperkt door profielen. De bovenstaande lijst toont ons de protocollen die op het systeem zijn geïnstalleerd – deze worden bij Ubuntu geleverd. U kunt ook andere profielen installeren door het pakket apparmor-profielen te installeren. Sommige pakketten – bijvoorbeeld serversoftware – kunnen hun eigen AppArmor-profielen bevatten die samen met het pakket op het systeem zijn geïnstalleerd. U kunt ook uw eigen AppArmor-profielen maken om software te beperken.
Profielen kunnen worden uitgevoerd in de ‘klaagmodus’ of ‘afdwingingsmodus’. In de afdwingingsmodus – de standaardinstelling voor de profielen die bij Ubuntu worden geleverd – voorkomt AppArmor dat applicaties beperkte acties ondernemen. In de klaagmodus staat AppArmor toepassingen toe beperkte acties te ondernemen en maakt een logboekvermelding aan waarin ze hierover klagen. De klachtenmodus is ideaal voor het testen van een AppArmor-profiel voordat u het in de afdwingingsmodus inschakelt – u zult eventuele fouten zien die zouden optreden in de afdwingingsmodus.
Profielen worden opgeslagen in de map /etc/apparmor.d. Deze profielen zijn platte tekstbestanden die opmerkingen kunnen bevatten.
AppArmor voor Firefox inschakelen
U merkt misschien ook dat AppArmor wordt geleverd met een Firefox-profiel – het is het usr.bin.firefox bestand in het /etc/apparmor.d directory. Het is niet standaard ingeschakeld, omdat het Firefox te veel kan beperken en problemen kan veroorzaken. De /etc/apparmor.d/disable map bevat een link naar dit bestand, wat aangeeft dat het is uitgeschakeld.
Om het Firefox-profiel in te schakelen en Firefox te beperken tot AppArmor, voert u de volgende opdrachten uit:
sudo rm /etc/apparmor.d/disable/usr.bin.firefox
cat /etc/apparmor.d/usr.bin.firefox | sudo apparmor_parser –a
Nadat u deze opdrachten hebt uitgevoerd, voert u het sudo apparmor_status opdracht opnieuw en u zult zien dat de Firefox-profielen nu zijn geladen.
Om het Firefox-profiel uit te schakelen als het problemen veroorzaakt, voert u de volgende opdrachten uit:
sudo ln -s /etc/apparmor.d/usr.bin.firefox /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/usr.bin.firefox
Voor meer gedetailleerde informatie over het gebruik van AppArmor raadpleegt u de officiële Ubuntu Server Guide-pagina op AppArmor.