Je hebt waarschijnlijk wel eens gehoord van de AppArmor terwijl je Ubuntu installeert, maar omdat het geen applicatie is die wordt weergegeven in het Toepassingsmenu en het niet in een grafische vorm verschijnt, hebben de meesten van jullie waarschijnlijk geen idee wat het doet en waarom het is essentieel voor uw systeem. Kort gezegd, AppArmor is een beveiligingsmodule die individuele programma's beperkt tot een reeks vermelde bestanden en mogelijkheden, zodat ze geen schade aanrichten op uw systeem.

Wat is AppArmor?

AppArmor is een Mandatory Access Control (MAC) -systeem dat programma's beperkt tot een beperkt aantal bronnen. Het beperkt programma's tot een set bestanden, attributen en mogelijkheden, zodat het niet in staat is om diep in het systeem te duiken en grote schade aan te richten (tenzij het toestemming krijgt). In plaats van het UAC-model van Windows dat controle geeft aan de gebruikers, koppelt AppArmor de toegangsbeheerattributen aan het programma zelf.

Hoe AppArmor werkt

AppArmor werkt op kernelniveau en wordt tijdens het opstarten geladen. De manier waarop AppArmor de toestemming verwerkt, is via Profielen. Profielen is een reeks regels die bepaalt wat het programma wel en niet kan doen. Er zijn twee modi die de profielen kunnen uitvoeren: Enforcement and Complain . De Enforcement-modus is een strikte handhaving van het beleid dat in het profiel is gedefinieerd, evenals het melden van beleidsschendingpogingen. De Klachtmodus zal alleen de pogingen tot beleidsovertreding rapporteren, maar het beleid niet afdwingen. De meeste profielen worden in de Enforcement-modus geladen, hoewel er ook een groot aantal profielen van derden in de modus Klacht kan worden geladen.

Controle van uw AppArmor-status

Als u Ubuntu 7.04 of hoger gebruikt, wordt AppArmor standaard geïnstalleerd en geladen wanneer u uw computer opstart. Om de AppArmor-status te controleren, typt u de volgende opdracht in de terminal:

 sudo apparmor_status 

Dit is wat je ziet:

In mijn systeem kunt u zien dat er 17 profielen zijn geladen in Enforcement-modus en 4 momenteel actieve processen worden afgedwongen door AppArmor.

Zoeken naar geblokkeerde AppArmor-profielen

Naast die profielen die bij het opstarten worden uitgevoerd, zijn er verschillende profielen die beschikbaar zijn maar standaard uitgeschakeld. Je kunt ze bekijken in de map "/etc/apparmor.d/disable". Vanaf hier kunt u zien dat de profielen Firefox en Rsyslogd niet zijn ingeschakeld.

Het Firefox-profiel is waarschijnlijk uitgeschakeld omdat dit leidt tot een prestatiedaling in Firefox, maar als u de beurt aan wilt dat het profiel wordt ingeschakeld zodat u in meer vrede op internet kunt surfen, kunt u het volgende doen.

Open een terminal en typ:

 sudo aa-enforce /etc/apparmor.d/usr.bin.firefox 

Om het opnieuw uit te schakelen:

 sudo ln -s /etc/apparmor.d/usr.bin.firefox /etc/apparmor.d/disable/ sudo apparmor_parser -R /etc/apparmor.d/usr.bin.firefox 

Hoe ziet een AppArmor-profiel eruit?

Hoewel de profielen klinken als een ingewikkelde softwaremodule, is het eigenlijk een eenvoudig tekstbestand met daarin opgenomen bestandspaden die aangeven in welke mappen en mappen de toepassing toegang heeft. Zo ziet het eVince-profiel eruit (u kunt eenvoudig op elk profiel in de map "/etc/apparmor.d" klikken om het in uw teksteditor te openen).

Uw eigen profielen maken om de toepassing te vergrendelen

Ubuntu heeft het goed gedaan om je te beschermen, maar als je een aangepaste applicatie wilt beperken die niet door Ubuntu is beveiligd, kun je je eigen profiel maken om de applicatie te vergrendelen. Dit is met name handig in een serverconditie waarbij veel toepassingen op de achtergrond worden uitgevoerd waar u het niet kunt zien.

Opmerking : Voordat u uw eigen profielen maakt, kunt u het beste eerst de bestaande bibliotheek met AppArmor-profielen bekijken om te controleren of het profiel voor uw toepassing beschikbaar is. U kunt ook " apparmor-profiles " installeren om een ​​extra lijst met profielen te krijgen.

Om uw eigen AppArmor-profielen te maken, moet u eerst "apparmor-utils" installeren.

 sudo apt-get install apparmor-utils 

Na de installatie voert u de volgende opdracht uit om de profilering te starten:

 sudo aa-genprof / pad / naar / toepassing 

waarbij het "/ pad / naar / toepassing" het pad is naar de toepassing die u wilt profileren. De standaard toepassingsmap is "/ usr / bin", maar dit kan verschillen afhankelijk van de toepassing.

Start vervolgens (met het verlaten van de terminal) de applicatie die u naar Profile gaat. Voor dit voorbeeld gebruik ik Krita. Gebruik de applicatie zoals u gewoonlijk op een andere dag doet.

Voor elke actie die u uitvoert in de toepassing, keert u terug naar de terminal en drukt u op "Shift + s" om naar wijzigingen te zoeken.

Hier ziet u het pad dat de toepassing gebruikt en de ernst van de actie. U kunt vervolgens de actie "Allow (A)" of "Deny (D)" toestaan.

Blijf dit doen voor de rest van de acties die in de applicatie worden uitgevoerd. Om het beste resultaat te krijgen, is het het beste dat u uw lijst met acties plant voordat u met het profileren begint.

Als u tenslotte klaar bent, drukt u op "Shift + F" om de profilering te voltooien en op "Shift + s" om het profiel op te slaan.

Eenmaal gemaakt, wordt het profiel opgeslagen in de map "/etc/apparmor.d" en wordt het in de uitvoeringsmodus geladen.

Profielen bewerken

Gebruik de volgende opdracht om uw zojuist gemaakte profiel te bewerken:

 sudo aa-logprof / pad / naar / toepassing 

AppArmor scant vervolgens de logboekvermeldingen en biedt u de mogelijkheid om wijzigingen in het profiel aan te brengen.

AppArmor stoppen en opnieuw starten

Om sommige redenen moet u AppArmor stoppen of herstarten, u kunt het eenvoudig doen

 sudo service apparmor stop #stop apparmor 

en

 sudo service apparmor herstart #restart apparmor 

Voor meer informatie over AppArmor, kijk op de Ubuntu AppArmor-pagina.

Image credit: Knight in Shining Armour