Forstå AppArmor i Ubuntu [Linux]
Du har sikkert hørt om AppArmor mens du installerer Ubuntu, men siden det ikke er et program som vises i Applikasjonsmenyen, og det ikke vises i noen grafisk form, har de fleste av dere sannsynligvis ingen anelse om hva det gjør og hvorfor det er viktig for systemet ditt. Kort sagt, AppArmor er en sikkerhetsmodul som begrenser individuelle programmer til et sett med listede filer og evner, slik at de ikke forårsaker ødeleggelse på systemet ditt.
Hva er AppArmor?
AppArmor er et obligatorisk tilgangskontroll (MAC) -system som begrenser programmer til et begrenset sett med ressurser. Det begrenser programmer til et sett med filer, attributter og evner, slik at det ikke er i stand til å gå dypt inn i systemet og forårsake ødeleggelse (med mindre det er gitt tillatelsen). I stedet for Windows-UAC-modellen som gir kontroll til brukerne, binder AppArmor tilgangskontrollattributtene til selve programmet.
Hvordan AppArmor fungerer
AppArmor fungerer på kjernenivå og laster under oppstart. Måten AppArmor håndterer tillatelsen på, er via Profiler. Profiler er et sett med regler som bestemmer hva programmet kan og ikke kan gjøre. Det er to moduser som Profiler kan kjøre: Håndhevelse og Klager . Håndhevelsesmodus er en streng håndheving av politikken som er definert i profilen, samt rapportering av brudd på politikkbrudd. Klagemodus vil bare rapportere forsøkene om politikkbrudd, men håndhever ikke retningslinjene. De fleste profiler lastes i Håndhevelsesmodus, selv om det kan være et godt antall tredjeparts profiler som er lastet i Klagemodus også.
Sjekk ut AppArmor-statusen din
Hvis du bruker Ubuntu 7.04 eller nyere, er AppArmor installert som standard og laster når du starter opp datamaskinen. For å sjekke AppArmor-statusen, skriv inn følgende kommando i terminalen:
sudo apparmor_status
Dette er hva du vil se:
I mitt system kan du se at det er 17 profiler lastet i Håndhevelsesmodus, og 4 kjørerprosesser håndheves av AppArmor.
Finne deaktiverte AppArmor-profiler
I tillegg til de profilene som kjører ved oppstart, er det flere profiler som er tilgjengelige, men deaktivert som standard. Du kan sjekke dem ut i mappen "/etc/apparmor.d/disable". Herfra kan du se at Firefox og Rsyslogd-profilene ikke er aktivert.
Firefox-profilen ble sannsynligvis deaktivert fordi den fører til en ytelsesdråpe i Firefox, men hvis du liker profilen, så kan du surfe på nettet i mer fred, slik kan du gjøre det.
Åpne en terminal og type:
sudo aa-enforce /etc/apparmor.d/usr.bin.firefox
For å deaktivere den på nytt:
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 ut?
Mens profilene høres ut som en komplisert programvaremodul, er det faktisk en enkel tekstfil med inkluderte filbaner som angir hvilke mapper og kataloger applikasjonen kan få tilgang til. Slik ser eVince-profilen ut (du kan enkelt klikke på en hvilken som helst profil i mappen "/etc/apparmor.d" for å åpne den i tekstredigeringsprogrammet).
Opprette dine egne profiler til nedleggingsprogrammet
Ubuntu har gjort en ganske god jobb for å beskytte deg, men hvis du vil begrense et tilpasset program som ikke er beskyttet av Ubuntu, kan du lage din egen profil for å låse ned applikasjonen. Dette er spesielt nyttig i en servertilstand der mange programmer kjører i bakgrunnen der du ikke kan se den.
Merk : Før du lager dine egne profiler, er det best å først se på det eksisterende AppArmor-profils biblioteket for å sjekke om profilen for programmet ditt er tilgjengelig. Du kan også installere " apparmor-profiles
" for å få en ekstra liste over profiler.
For å lage dine egne AppArmor-profiler må du først installere "apparmor-utils".
sudo apt-get install apparmor-utils
Når installert, kjør følgende kommando for å starte profileringen:
sudo aa-genprof / path / to / application
hvor "/ bane / til / søknad" er filbanen til programmet du vil profilere. Standardprogrammappen er "/ usr / bin", men det kan være forskjellig avhengig av applikasjonen.
Deretter starter du programmet som du skal profilere. For dette eksempelet bruker jeg Krita. Bruk programmet som du vanligvis gjør på en annen dag.
For hver handling du utfører på søknaden, gå tilbake til terminalen og trykk "Shift + s" for å få det til å skanne etter endringer.
Herfra kan du se banen som søknaden har tilgang til, og handlingens alvor. Du kan deretter "Tillat (A)" eller "Avvis (D)" handlingen.
Fortsett å gjøre dette for resten av handlingene som er utført på søknaden. For å få det beste resultatet, er det best at du planlegger listen over handlinger før du starter profileringen.
Til slutt, når du er ferdig, trykk "Shift + F" for å fullføre profileringen og "Shift + s" for å lagre profilen.
Når du er opprettet, vil profilen bli lagret i mappen "/etc/apparmor.d" og vil bli lastet i Håndhevelsesmodus.
Rediger profiler
For å redigere den nyopprettede profilen, bruk følgende kommando:
sudo aa-logprof / path / to / application
AppArmor vil da skanne loggoppføringene og la deg gjøre endringer i profilen.
Stoppe og starte AppArmor på nytt
Av noen grunner at du må stoppe eller starte AppArmor igjen, kan du enkelt gjøre det med
sudo service apparmor stopper #stop apparmor
og
sudo service apparmor restart #restart apparmor
For mer informasjon om AppArmor, sjekk ut siden Ubuntu AppArmor.
Bildekreditt: Knight in Shining Armor