Du har sikkert hørt om AppArmor, mens du installerer Ubuntu, men da det ikke er en applikation, der vises i applikationsmenuen, og den ikke vises i nogen grafisk form, har de fleste af dig sandsynligvis ingen idé om, hvad det gør, og hvorfor det er vigtigt for dit system. Kort sagt, AppArmor er et sikkerhedsmodul, der begrænser individuelle programmer til et sæt af listede filer og funktioner, så de ikke forårsager kaos på dit system.

Hvad er AppArmor?

AppArmor er et obligatorisk adgangskontrol (MAC) -system, der begrænser programmer til et begrænset antal ressourcer. Det begrænser programmer til et sæt af filer, attributter og funktioner, så det ikke er i stand til at gå dybt ind i systemet og få ødelæggelse (medmindre det er givet tilladelsen). I stedet for Windows's UAC-model, der giver kontrol til brugerne, binder AppArmor adgangskontrollattributterne til selve programmet.

Hvordan AppArmor fungerer

AppArmor fungerer på kerneliveau, og det belastes under opstart. Den måde, AppArmor håndterer tilladelsen på, er via Profiler. Profiler er et sæt regler, der bestemmer, hvad programmet kan og ikke kan gøre. Der er to tilstande, som profilerne kan køre: Håndhævelse og klage . Håndhævelsesfunktionen er en streng håndhævelse af den politik, der er defineret i profilen samt rapportering af overtrædelser af politikkerne. Klagemodus rapporterer kun forsøget om politisk overtrædelse, men håndhæver ikke politikken. De fleste profiler er indlæst i håndhævelsestilstanden, selvom der kan være et godt antal tredjeparts profiler, som også er indlæst i klagefunktionen.

Tjek din AppArmor Status

Hvis du bruger Ubuntu 7.04 eller derover, er AppArmor installeret som standard og belastninger, når du starter computeren. For at kontrollere AppArmor status, skriv følgende kommando i terminalen:

 sudo apparmor_status 

Dette er hvad du vil se:

I mit system kan du se, at der er 17 profiler indlæst i Enforcement-tilstand, og 4 aktuelt kørende processer håndhæves af AppArmor.

Finde handicappede AppArmor-profiler

Ud over de profiler, der kører ved opstart, er der flere profiler, der er tilgængelige, men deaktiveres som standard. Du kan tjekke dem ud i mappen "/etc/apparmor.d/disable". Herfra kan du se, at Firefox og Rsyslogd-profilerne ikke er aktiverede.

Firefox-profilen var sandsynligvis deaktiveret, fordi det fører til et præstationsdråbe i Firefox, men hvis du kan lide profilen, så kan du surfe på internettet i mere fred. Sådan kan du gøre det.

Åbn en terminal og type:

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

For at deaktivere den igen:

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

Hvordan ser en AppArmor-profil ud?

Selv om profilerne ligner et kompliceret software modul, er det faktisk en simpel tekstfil med inkluderede filstier, der angiver hvilke mapper og mapper applikationen kan få adgang til. Sådan ser eVince-profilen ud (du kan nemt klikke på en profil i mappen "/etc/apparmor.d" for at åbne den i din teksteditor).

Oprettelse af dine egne profiler til låsning ansøgning

Ubuntu har gjort et godt stykke arbejde for at beskytte dig, men hvis du vil begrænse en brugerdefineret applikation, der ikke er beskyttet af Ubuntu, kan du oprette din egen profil for at låse programmet ned. Dette er især nyttigt i en servertilstand, hvor mange applikationer kører i baggrunden, hvor du ikke kan se den.

Bemærk : Før du opretter dine egne profiler, er det bedst at først se på det eksisterende AppArmor-profils bibliotek for at kontrollere, om profilen til din applikation er tilgængelig. Du kan også installere " apparmor-profiles " for at få en ekstra liste over profiler.

For at oprette dine egne AppArmor-profiler skal du først installere "apparmor-utils".

 sudo apt-get install apparmor-utils 

Når du er installeret, skal du køre følgende kommando for at starte profilering:

 sudo aa-genprof / path / to / application 

hvor "/ path / to / application" er filsti til den applikation, du vil profilere. Standardapplikationsmappen er "/ usr / bin", men det kan være anderledes afhængigt af applikationen.

Derefter starter du (som terminalen kører) programmet, som du skal til Profil. Til dette eksempel bruger jeg Krita. Brug programmet som du normalt gør på en anden dag.

For hver handling du udfører på applikationen, vend tilbage til terminalen og tryk "Skift + s" for at få den til at scanne for ændringer.

Herfra kan du se den vej, som applikationen har adgang til og handlingens sværhedsgrad. Du kan så "Tillad (A)" eller "Afvis (D)" handlingen.

Fortsæt med at gøre dette for resten af ​​de handlinger, der udføres på ansøgningen. For at få det bedste resultat er det bedst at du planlægger din liste over handlinger, før du starter profileringen.

Til sidst, når du er færdig, skal du trykke på "Skift + F" for at afslutte profileringen og "Shift + s" for at gemme profilen.

Når den er oprettet, gemmes profilen i mappen "/etc/apparmor.d" og bliver indlæst i Håndhævelsesfunktion.

Rediger profiler

Hvis du vil redigere din nyoprettede profil, skal du bruge følgende kommando:

 sudo aa-logprof / path / to / application 

AppArmor scanner derefter logposterne og giver dig mulighed for at foretage ændringer i profilen.

Stop og genstart AppArmor

Af nogle grunde, at du skal stoppe eller genstarte AppArmor, kan du nemt gøre det med

 sudo service apparmor stop #stop apparmor 

og

 sudo service apparmor genstart #restart apparmor 

For mere information om AppArmor, se siden Ubuntu AppArmor.

Billedkredit: Knight in Shining Armor