AppArmor

Debian AppArmor-vejledning

Debian AppArmor-vejledning
AppArmor er et obligatorisk adgangskontrolsystem til Linux. I et obligatorisk adgangskontrolsystem (MAC) pålægger kernen begrænsninger på stier, sockets, porte og forskellige input / output-mekanismer. Det blev udviklet af Immunex og vedligeholdes nu af SUSE. Det har været en del af Linux-kernen siden version 2.6.36.

Mens Linux-kernen giver god isolering af brugere og stærk filtilladelseskontrol, giver en MAC som AppArmor mere detaljerede tilladelser og beskyttelse mod mange ukendte trusler. Hvis der findes en sikkerhedssårbarhed i Linux-kernen eller anden systemdemon, kan et velkonfigureret AppArmor-system forhindre adgang til kritiske stier, der kan være sårbare over for problemet.

AppArmor kan arbejde effektivt i to tilstande - håndhæve og klage. Enforce er AppArmors standardproduktionsstatus, mens klage er nyttigt til at udvikle et regelsæt baseret på reelle driftsmønstre og til overtrædelser af logning. Det er konfigureret via almindelige tekstfiler i et relativt venligt format og har en kortere indlæringskurve end de fleste andre obligatoriske adgangskontrolsystemer.

Installation

For at installere AppArmor på Debian skal du køre (som root):

apt install apparmor apparmor-utils auditd

Du kan udelade auditd, hvis du ikke har brug for profilgenereringsværktøjer.

Hvis du ønsker at installere starter og yderligere profiler, skal du køre:

apt install apparmor-profiler apparmor-profiler-ekstra

Da AppArmor er et Linux-kernemodul, skal du aktivere det med følgende kommandoer:

mkdir -p / etc / default / grub.d

Opret filen / etc / default / grub.d / apparmor.cfg med følgende indhold:

GRUB_CMDLINE_LINUX_DEFAULT = "$ GRUB_CMDLINE_LINUX_DEFAULT apparmor = 1 sikkerhed = apparmor"

Gem og afslut, og kør derefter:

opdater-grub

Genstart derefter.

Der er debat om dette skal ske automatisk. Du kan eventuelt konsultere slutningen af ​​denne fejlrapport for at se, om dette er blevet ændret siden dette tidspunkt.

Når du har genstartet, kan du kontrollere, om AppArmor er aktiveret ved at køre:

aa-status

Denne kommando viser en liste over indlæste AppArmor-profiler og en liste over deres nuværende overholdelsesstatus (håndhæves, klager osv.)

Hvis du løber:

ps auxZ | grep -v '^ ubegrænset'

Du får vist en liste over programmer, der er begrænset af en AppArmor-profil. Et begrænset program er et, der er påvirket og begrænset (enten passivt, i klagemåde eller aktivt i håndhævet tilstand) af AppArmor.

Ændring af tilstande / deaktivering af AppArmor

Hvis du ønsker at deaktivere AppArmor, fordi et program ikke fungerer, kan du overveje at placere profilen i klagemåde i stedet for tvungen tilstand. For at gøre dette skal du køre (som root eller via sudo):

aa-klage / sti / til / program

For eksempel, hvis ping ikke fungerer korrekt, skal du bruge:

aa-klage / usr / bin / ping

Når en profil er i klagemåde, kan du undersøge loggningen via / var / log / syslog eller med journalctl -xe på systemd-systemer (Debian 8.x, Jessie og højere).

Når du har redigeret profilen for at fjerne eller justere begrænsningen, kan du aktivere tvangstilstand igen for binærsystemet med:

aa-håndhæve / sti / til / program

I eksemplet ovenfor skal du erstatte / sti / til / program med den fulde sti til den binære, der er berørt af den pågældende profil.

Hvis du har et problem med et program, og det er i klagemodus, giver logfilerne specifik information om, hvilken handling der blev nægtet. Operationsfeltet vil forklare, hvad programmet forsøgte at gøre, profilfeltet, den specifikke profil, der er berørt, navn vil angive handlingsmålet (i.e. hvilken fil der blev stoppet fra en læse- eller skrivehandling), og de anmodede og nægtede masker angiver, om handlingen, både anmodet af programmet og nægtet i henhold til profilen, blev læst eller læst-skriv.

Du kan deaktivere en profil helt ved at køre:

aa-deaktiver / sti / til / program

Eller du kan deaktivere AppArmor fuldstændigt ved at redigere filen: / etc / default / grub.d / apparmor.CFG skal indeholde:

GRUB_CMDLINE_LINUX_DEFAULT = ”$ GRUB_CMDLINE_LINUX_DEFAULT apparmor = 0”

Derefter kører:

opdater-grub

Og genstarte dit system.

Arbejde med AppArmor-profiler

AppArmor-profiler findes i / etc / apparmor.d / bibliotek. Hvis du installerer pakken apparmor-profiler og apparmor-profiler-ekstra, finder du profiler i / usr / del / doc / apparmor-profiler og / usr / del / doc / apparmor-profiler / ekstra. For at aktivere dem skal du kopiere filerne til / etc / apparmor.d rediger dem derefter for at sikre, at de indeholder de ønskede værdier, gem og kør derefter:

service apparmor genindlæses

Hvis du kun vil genindlæse en profil, skal du køre:

apparmor_parser -r / etc / apparmor.d / profil

Hvor "profil" er navnet på den pågældende profil.

Det anbefales ikke bare at kopiere profiler og ekstra profiler til / etc / apparmor.d-katalog uden at håndredigere dem. Nogle profiler kan være gamle, og nogle indeholder bestemt ikke de ønskede værdier. Hvis du kopierer dem alle, skal du i det mindste indstille dem til at klage, så du kan overvåge overtrædelser uden at bryde programmer i produktionen:

cd / etc / apparmor.d
til f i *.*; gør en klage / etc / apparmor.d / $ f; Færdig

Du kan bruge aa-enforce-kommandoen individuelt for at aktivere profiler, du vil beholde, indstille dem, der forårsager problemer, og håndhæve dem, eller fjerne dem, du ikke har brug for, ved at køre aa-deaktiver eller fjerne profilfilen fra / etc / apparmor.d.

Oprettelse af en AppArmor-profil

Før du opretter en brugerdefineret profil, skal du søge i / etc / apparmor.d og / usr / share / doc / apparmor-profiles mapper til en eksisterende profil, der dækker den pågældende binære. For at søge i disse skal du køre:

find / usr / share / doc / apparmor-profiles | grep “program” -i

Erstatte program med det program, du vil beskytte med AppArmor. Hvis du finder en, skal du kopiere den til / etc / apparmor.d og rediger derefter filen i din foretrukne teksteditor.

Hver profil består af tre hovedsektioner: inkluderer, kapaciteter og stier. Du kan finde en nyttig reference i SuSE's dokumentation.

Inkluderer

Inkluderer give syntaks, som du kan bruge inde i filen. De bruger C / C ++ #include <> syntaksen og refererer normalt til abstraktioner, der findes i / etc / apparmor.d / abstraktionskatalog.

Kapaciteter

Funktionssektionen, der typisk findes efter inkluderer, viser specifikke funktioner, som programmet kan udføre. For eksempel kan du lade et program udføre en setuid-operation med:

kapacitet setuid

Funktionen net_bind_service tillader et program at binde til en netværksport. Hvis du ikke giver dette, kan en serverdemon som Apache ikke åbne port 80 og lytte. Dog kan udeladelse af denne kapacitet give fremragende sikkerhed for processer, som du ikke stoler på på netværket.

Stier

Du kan liste stier, som programmet er i stand til at læse (og muligvis skrive). Hvis du f.eks. Vil give programmet adgang til / etc / passwd-filen, skal du tilføje:

/ etc / passwd r

I profilen. Bemærk “r” - dette betyder skrivebeskyttet. Hvis du ændrer dette til “w”, er det tilladt at skrive til denne sti eller fil.

Selv hvis du tillader en sti i AppArmor, er den stadig underlagt Linux-filsystemrestriktioner (i.e. sæt med chmod, chgrp og chown). AppArmor vil dog stadig give et ekstra beskyttelseslag, hvis disse mekanismer kompromitteres.

Konklusion

Nøglen til en vellykket implementering af AppArmor er at indstille profiler til at klage og derefter håndhæve. Omhyggelig logundersøgelse giver dig de minimale stier og muligheder, der er nødvendige for en vellykket programdrift. Ved at tildele disse og ikke mere vil du dramatisk øge din systemsikkerhed.

Mus AppyMouse pegefelt på skærmen og musemarkør til Windows-tablets
AppyMouse pegefelt på skærmen og musemarkør til Windows-tablets
Tabletbrugere savner ofte musemarkøren, især når de er vante til at bruge bærbare computere. Touchscreen-smartphones og tablets har mange fordele, og ...
Mus Midterste museknap fungerer ikke i Windows 10
Midterste museknap fungerer ikke i Windows 10
Det midterste museknap hjælper dig med at rulle gennem lange websider og skærme med en masse data. Hvis det stopper, vil du ende med at bruge tastatur...
Mus Sådan ændres venstre og højre museknap på Windows 10-pc
Sådan ændres venstre og højre museknap på Windows 10-pc
Det er en ganske normal, at alle computermusenheder er ergonomisk designet til højrehåndede brugere. Men der er musenheder til rådighed, der er specie...