AppArmor

Debian AppArmor-handledning

Debian AppArmor-handledning
AppArmor är ett obligatoriskt åtkomstkontrollsystem för Linux. I ett obligatoriskt åtkomstkontrollsystem (MAC) inför kärnan restriktioner för banor, uttag, portar och olika in- / utgångsmekanismer. Det utvecklades av Immunex och underhålls nu av SUSE. Det har varit en del av Linux-kärnan sedan version 2.6.36.

Medan Linux-kärnan ger bra isolering av användare och stark filtillståndskontroll, ger en MAC som AppArmor mer detaljerade behörigheter och skydd mot många okända hot. Om det finns en säkerhetsproblem i Linux-kärnan eller annan systemdemon kan ett välkonfigurerat AppArmor-system förhindra åtkomst till kritiska banor som kan vara sårbara för problemet.

AppArmor kan fungera i två olika lägen - genomdriva och klaga. Enforce är AppArmors standardproduktionsstatus, medan klagomål är användbart för att utveckla en regeluppsättning baserad på verkliga driftsmönster och för loggningsöverträdelser. Den konfigureras via vanliga textfiler i ett relativt vänligt format och har en kortare inlärningskurva än de flesta andra obligatoriska åtkomstkontrollsystem.

Installation

För att installera AppArmor på Debian, kör (som root):

apt install apparmor apparmor-utils auditd

Du kan utelämna auditd om du inte behöver verktyg för profilgenerering.

Om du vill installera start- och ytterligare profiler, kör:

apt installera apparmor-profiler apparmor-profiler-extra

Eftersom AppArmor är en Linux-kärnmodul måste du aktivera den med följande kommandon:

mkdir -p / etc / default / grub.d

Skapa filen / etc / default / grub.d / apparmor.cfg med följande innehåll:

GRUB_CMDLINE_LINUX_DEFAULT = "$ GRUB_CMDLINE_LINUX_DEFAULT apparmor = 1 säkerhet = apparmor"

Spara och avsluta och kör sedan:

update-grub

Starta sedan om.

Det diskuteras om detta ska göras automatiskt. Du kanske vill konsultera slutet av denna felrapport för att se om detta har ändrats sedan detta skrivs.

När du har startat om kan du kontrollera om AppArmor är aktiverad genom att köra:

aa-status

Det här kommandot listar laddade AppArmor-profiler och listar deras nuvarande tillstånd (följs, klagar etc.).)

Om du springer:

ps auxZ | grep -v '^ unconfined'

Du ser en lista över program som begränsas av en AppArmor-profil. Ett begränsat program är ett som påverkas och begränsas (antingen passivt, i klagomål eller aktivt i verkställt läge) av AppArmor.

Ändra lägen / inaktivera AppArmor

Om du vill inaktivera AppArmor eftersom ett program inte fungerar kan du överväga att placera profilen i klagomålsläge istället för tvångsläge. För att göra detta, kör (som root eller via sudo):

aa-klagomål / sökväg / till / program

Om ping till exempel inte fungerar korrekt, använd:

aa-klaga / usr / bin / ping

När en profil är i klagomålsläge kan du undersöka loggningen via / var / log / syslog eller med journalctl -xe på systemd-system (Debian 8.x, Jessie och högre).

När du har redigerat profilen för att ta bort eller justera begränsningen kan du aktivera tvångsläge igen för binär med:

aa-enforce / path / to / program

I exemplet ovan, ersätt / sökväg / till / program med hela sökvägen till den binära som påverkas av profilen i fråga.

Om du har problem med ett program och det är i klagomålsläge kommer loggarna att ge specifik information om vilken åtgärd som nekades. Operationsfältet kommer att förklara vad programmet försökte göra, profilfältet den specifika profilen som berörs, namnet anger åtgärdens mål (i.e. vilken fil som stoppades från en läs- eller skrivoperation), och de begärda och nekade maskerna indikerar om operationen, både efterfrågad av programmet och nekad per profil, har läst eller läst skriv.

Du kan inaktivera en profil helt genom att köra:

aa-inaktivera / sökväg / till / program

Eller så kan du inaktivera AppArmor helt genom att redigera filen: / etc / default / grub.d / apparmor.CFG att innehålla:

GRUB_CMDLINE_LINUX_DEFAULT = ”$ GRUB_CMDLINE_LINUX_DEFAULT apparmor = 0”

Sedan kör:

update-grub

Och starta om ditt system.

Arbeta med AppArmor-profiler

AppArmor-profiler finns i / etc / apparmor.d / katalog. Om du installerar paketet apparmor-profiler och apparmor-profiler-extra hittar du profiler i / usr / dela / doc / apparmor-profiler och / usr / dela / doc / apparmor-profiler / extra. För att aktivera dem, kopiera filerna till / etc / apparmor.d redigera dem så att de innehåller de värden du vill ha, spara och kör sedan:

ladda om service apparmor

Om du vill ladda om bara en profil, kör:

apparmor_parser -r / etc / apparmor.d / profil

Där ”profil” är namnet på den aktuella profilen.

Det rekommenderas inte att bara kopiera profilerna och extra profilerna till / etc / apparmor.d-katalog utan att handredigera dem. Vissa profiler kan vara gamla och vissa innehåller säkert inte de värden du vill ha. Om du kopierar dem alla, ställ dem åtminstone till att klaga så att du kan övervaka överträdelser utan att bryta program i produktionen:

cd / etc / apparmor.d
för f i *.*; gör aa-klagomål / etc / apparmor.d / $ f; Gjort

Du kan använda kommandot aa-enforce individuellt för att aktivera profiler du vill behålla, ställa in de som orsakar problem och genomdriva dem, eller ta bort sådana du inte behöver genom att köra aa-inaktivera eller ta bort profilfilen från / etc / apparmor.d.

Skapa en AppArmor-profil

Innan du skapar en anpassad profil vill du söka i / etc / apparmor.d- och / usr / share / doc / apparmor-profiler kataloger för en befintlig profil som täcker den aktuella binären. För att söka i dessa, kör:

hitta / usr / dela / doc / apparmor-profiler | grep “program” -i

Byta ut program med programmet du vill skydda med AppArmor. Om du hittar en, kopiera den till / etc / apparmor.d och redigera sedan filen i din favorittextredigerare.

Varje profil består av tre huvudsektioner: inkluderar, funktioner och banor. Du kan hitta en användbar referens i SuSEs dokumentation.

Inkluderar

Inkluderar tillhandahålla syntax som du kan använda i filen. De använder C / C ++ #include <> syntax och refererar vanligtvis till abstraktioner som finns i / etc / apparmor.d / abstraktionskatalog.

Förmågor

Funktionsavsnittet, som vanligtvis hittas efter inkluderar, listar specifika funktioner som programmet kan utföra. Du kan till exempel låta ett program utföra en inställningsoperation med:

kapacitetsinställning

Funktionen net_bind_service tillåter ett program att binda till en nätverksport. Om du inte beviljar detta kan en serverdemon som Apache inte öppna port 80 och lyssna. Att utelämna denna funktion kan dock ge utmärkt säkerhet för processer som du inte litar på i nätverket.

Banor

Du kan lista vägar som programmet kan läsa (och eventuellt skriva). Om du till exempel vill tillåta att programmet får åtkomst till filen / etc / passwd, lägg till:

/ etc / passwd r

I profilen. Observera “r” - detta betyder skrivskyddad. Om du ändrar detta till “w” är det tillåtet att skriva till den här sökvägen eller filen.

Även om du tillåter en sökväg i AppArmor är den fortfarande föremål för Linux-filsystemrestriktioner (i.e. set med chmod, chgrp och chown). AppArmor kommer dock fortfarande att ge ett extra lager av skydd om dessa mekanismer äventyras.

Slutsats

Nyckeln till en framgångsrik AppArmor-distribution är att ställa in profiler för att klaga och sedan genomdriva. Noggrann loggundersökning ger dig de minimala vägar och funktioner som behövs för framgångsrik programdrift. Genom att tilldela dessa och inte mer kommer du dramatiskt att öka din systemsäkerhet.

Mus WinMouse låter dig anpassa och förbättra muspekarens rörelse på Windows PC
WinMouse låter dig anpassa och förbättra muspekarens rörelse på Windows PC
Om du vill förbättra standardfunktionerna för din muspekare, använd freeware WinMouse. Det lägger till fler funktioner som hjälper dig att få ut det m...
Mus Mus vänsterklicka på knappen fungerar inte på Windows 10
Mus vänsterklicka på knappen fungerar inte på Windows 10
Om du använder en dedikerad mus med din bärbara dator eller stationära dator men musens vänsterklick-knapp fungerar inte på Windows 10/8/7 av någon an...
Mus Markören hoppar eller rör sig slumpmässigt när du skriver in Windows 10
Markören hoppar eller rör sig slumpmässigt när du skriver in Windows 10
Om du upptäcker att muspekaren hoppar eller rör sig på egen hand, automatiskt, slumpmässigt när du skriver in Windows-bärbar dator eller dator, kan nå...