Hur du konfigurerar Amanda Enterprise på SELinux

Kontrollerar SELinux-läge

Du kan få den aktuella konfigurationen av SELinux-läge genom att köra getenforce eller sestatus som rotanvändare. Den förstnämnda skriver helt enkelt ut antingen “Enforcing” eller “Permissive” till stdout. Den senare ger ytterligare detaljer, inklusive SELinuxfs-monteringspunkten, det aktuella läget, läget som det visas i SELinux-konfigurationsfilen etc.

SLELinux-läget kan ändras av rotanvändaren under körning med setenforce-applikationen.

Användning:

setenforce [Tillämpa | Tillåtande | 1 | 0]

Det är viktigt att komma ihåg att ändringar som görs med sentenforce inte är beständiga för en systemstart.

Om SELinux är inställt på tillåtande - snarare än inaktiverat - kommer alla SELinux-medvetna applikationer att fungera som om verkställarläget fortfarande var inställt. SELinux kommer också att fortsätta granska applikationsaktiviteten i tillåtet läge. Detta är den primära skillnaden mellan att använda tillåtet läge och att inaktivera SELinux helt.

Standardvärdet för läge när systemet startar definieras i / etc / selinux / config-filen med SELINUX-parametern. SELINUX-parametern accepterar verkställighet, tillåtande eller inaktiverad.

Till exempel:

root> # cat / etc / selinux / config # Den här filen styr SELinux-tillståndet i systemet. # SELINUX = kan ta ett av dessa tre värden: # verkställighet - SELinux säkerhetspolicy tillämpas. # permissive - SELinux skriver ut varningar istället för att verkställa. # inaktiverad - Ingen SELinux-policy har laddats. SELINUX = verkställighet # SELINUXTYPE = kan ta ett av tre två värden: # riktad - Riktade processer är skyddade, # minimum - Ändring av riktad policy. Endast utvalda processer är skyddade. # mls - Säkerhetsskydd på flera nivåer. SELINUXTYPE = riktad rot> #

Om du någonsin måste felsöka ett problem där SELinux-läget konsekvent byter till ett oväntat läge vid starttid, är det värt att notera att SELinux också kan konfigureras i grub.conf genom att ställa in tvångsparametern till antingen 0 eller 1 (tillåtet respektive verkställighet).

Konfigurera SELinux för att fungera bra med Amanda

Eftersom SELinuxs primära funktion är att genomdriva obligatorisk åtkomstkontroll kan det krävas ytterligare steg för att köra Amanda om SELinux inte är inaktiverat eller i tillåtet läge

Moderna versioner av Zmanda (Amanda Enterprise Edition) försöker automatiskt ställa in SELinux till tillåtet läge vid installationen.

root> # ./amanda-enterprise-3.4-linux-x64.run Installationen av Zmanda kräver att du byter SELinux till tillstånd. Installatören själv gör det och återställer det till sitt ursprungliga läge när installationen är klar. Vill du fortsätta? [Y / n]:

Zmanda-installationsprogrammet använder semanage-applikationen för att uppnå detta, så se till att semanage är installerat genom att kontrollera t.ex. vilket semanage innan du kör installationsprogrammet. Om semanage inte redan är installerat kan du hämta programmet med:

root> # yum tillhandahåller * / semanage {ytterligare output visas inte} root> # yum install

När du felsöker Amanda / Zmanda-installationer i miljöer som implementerar SELinux om möjligt, försök ställa SELinux till tillåtet läge tillfälligt. Försök igen med dina tester för att bekräfta att SELinux faktiskt är orsaken till problemet och för att skapa granskningsloggposter.

Om det inte är möjligt att köra SELinux i tillåtet läge på grund av din säkerhetspolicy, finns det några indikatorer som SELinux stör Amandas normala funktion. Du kan kontrollera granskningsloggarna för poster relaterade till amanda och / eller zmanda:

root> # ausearch -m avc -c amanda

Om du inte kan hitta loggposter angående SELinux som förnekar Amanda, men det finns inga problem när du kör i tillåtet läge kan det vara ett resultat av dontaudit-regler. För att tillfälligt inaktivera dontaudit-regler kan du köra:

root> # semodule -DB

När detta har körts, försök att köra din installation, säkerhetskopiera eller återställa igen och kontrollera granskningsloggen. När SELinux har loggat tillämpliga förnekelser, se till att du aktiverar den igen läser inte regler:

root> # semodule -B

Vissa operativsystem levereras med förinstallerade policymoduler för Amanda som kanske inte återspeglar rätt sammanhang för din version av Amanda. Du kan kontrollera vilken modul som för närvarande ingår genom att använda:

root> # semodule -l | grep amanda

Det kan ta några ögonblick att lista alla installerade moduler, och naturligtvis om det inte finns någon modul som matchar 'amanda' kommer det inte att finnas någon utdata. Om du upptäcker att du kör en gammal eller korrupt Amanda policymodul kan du ta bort den med:

root> # semodule -r 

Alla SELinux-sammanhang kan konfigureras manuellt, men det ligger utanför denna dokumentations räckvidd. Om du är intresserad av en helt manuell lösning, bör du hänvisa till chcon och restorecon man-sidor för detaljerad information.

Skapa anpassade policypaket med audit2allow

I de flesta miljöer finns det ett antal Amanda-klientmaskiner som kör liknande operativsystem och ibland måste ytterligare Amandaservrar distribueras. Det är inte effektivt att manuellt felsöka och ändra säkerhetskontexter på varje enskild maskin i dessa scenarier. Det är här ett verktyg som kallas audit2allow kan vara användbart för att skapa anpassade policypaket som kan distribueras till flera maskiner i nätverket.

Kör först dina uppgifter i tillåtet läge och skapa en typhanteringsfil:

root> # grep -E 'amanda | zmanda' /var/log/audit/audit.log | audit2allow -m myamanda> myamanda.te

När typhanteringsfilen har skapats, se till att den kontrolleras av en operatör. Ändra den automatiskt genererade utdata som krävs av din informationssäkerhetsavdelning.

När du verifierar typhanteringsfilen, kom ihåg: många applikationer ger SELinux säkerhetskontext med hjälp av en -Z-omkopplare. Till exempel 'ls, -Z', 'ps axZ', etc.

När det har verifierats att typhanteringsfilen uppfyller kraven i din säkerhetspolicy måste den konverteras till ett policypaket för att inkluderas som en aktiv policymodul. För att göra det kan du utföra följande kommandon:

root> # checkmodule -mo myamanda.mod myamanda.te root> # semodule_package -m myamanda.mod -o myamanda.pp

För att ladda policymodulen ska du sedan köra:

root> # semodule -i myamanda.pp

Om du får ett fel som du har "Försökte länka i en icke-MLS-modul med en MLS-bas" du måste istället konvertera typhanteringsfilen som Multi-Layer Security och inkludera det resulterande policypaketet så:

root> # checkmodule -M -m -o myamanda.mod myamanda.te root> # semodule_package -m myamanda.mod -o myamanda.pp

Och inkludera sedan policypaketet med semodule -i som beskrivs ovan. Du bör nu vara inställd på att köra dina säkerhetskopior och återställa med SELinux i verkställarläge.