SELinux e Amanda Enterprise

Questo articolo è per Amanda impresa (AA)

Controllo della modalità SELinux

È possibile ottenere l'attuale configurazione della modalità SELinux eseguendo getenforce o sestatus come utente root. Il primo stampa semplicemente "Enforcing" o "Permissive" su stdout. Quest'ultimo fornisce dettagli aggiuntivi, incluso il punto di montaggio di SELinuxfs, la modalità corrente, la modalità come appare nel file di configurazione di SELinux, ecc.

La modalità SLELinux può essere modificata dall'utente root durante il runtime utilizzando l'applicazione setenforce.

Uso:

setenforce [Enforcing | Permissivo | 1 | 0]

È importante ricordare che le modifiche apportate utilizzando sentenforce non sono persistenti al riavvio del sistema.

Se SELinux è impostato su permissive--piuttosto che disabilitato--allora qualsiasi applicazione compatibile con SELinux si comporterà come se la modalità di applicazione fosse ancora impostata. SELinux continuerà anche a controllare l'attività delle applicazioni in modalità permissiva. Questa è la differenza principale tra l'utilizzo della modalità permissiva e la disabilitazione completa di SELinux.

Il valore predefinito di modalità all'avvio del sistema è definito nel file / etc / selinux / config dal parametro SELINUX. Il parametro SELINUX accetta enforcing, permissive o disabilitato.

Per esempio:

root> # cat / etc / selinux / config # Questo file controlla lo stato di SELinux sul sistema. # SELINUX = può assumere uno di questi tre valori: # enforcing - La politica di sicurezza di SELinux viene applicata. # permissive - SELinux stampa gli avvertimenti invece di applicarli. # disabled - Non viene caricata alcuna policy SELinux. SELINUX = enforcing # SELINUXTYPE = può assumere uno di tre due valori: # mirato - I processi mirati sono protetti, # minimo - Modifica della politica mirata. Solo i processi selezionati sono protetti. # mls - Protezione di sicurezza multilivello. SELINUXTYPE = root mirato> #

Se ti viene richiesto di risolvere un problema in cui la modalità SELinux passa costantemente a una modalità imprevista all'avvio, vale la pena notare che SELinux può anche essere configurato in grub.conf impostando il parametro enforcing su 0 o 1 (permissivo o far rispettare, rispettivamente).

Configurazione di SELinux per funzionare bene con Amanda

Poiché la funzione principale di SELinux è quella di imporre il controllo di accesso obbligatorio, potrebbe richiedere passaggi aggiuntivi per eseguire Amanda se SELinux non è disabilitato o in modalità permissiva

Le versioni moderne di Zmanda (Amanda Enterprise Edition) tenteranno di impostare automaticamente SELinux in modalità permissiva al momento dell'installazione.

root> # ./amanda-enterprise-3.4-linux-x64.run L'installazione di Zmanda richiede il passaggio di SELinux allo stato Permissive. Lo stesso programma di installazione lo farà e lo ripristinerà al suo stato originale una volta terminata l'installazione. Vuoi continuare? [S / n]:

I Zmanda installer usa l'applicazione semanage per fare ciò, quindi assicurati che semanage sia installato controllando ad esempio quale semanage prima di eseguire l'installer. Se semanage non è già installato, puoi ottenere l'applicazione con:

root> # yum fornisce * / semanage {output aggiuntivo non mostrato} root> # yum install

Durante la risoluzione dei problemi di installazioni di Amanda / Zmanda in ambienti che implementano SELinux, se possibile, provare a impostare temporaneamente SELinux in modalità permissiva. Riprova i tuoi test per confermare che SELinux è, in effetti, la causa del problema e per generare voci di registro di controllo.

Se non è possibile eseguire SELinux in modalità permissiva a causa della propria politica di sicurezza, ci sono alcuni indicatori che SELinux interferisce con il normale funzionamento di Amanda. Puoi controllare i log di controllo per le voci relative ad amanda e/o zmanda:

root> # ausearch -m avc -c amanda

Se non riesci a trovare voci di log riguardanti SELinux che nega Amanda, ma non ci sono problemi quando si esegue in modalità permissiva, allora potrebbe essere il risultato delle regole di dontaudit. Per disabilitare temporaneamente le regole di dontaudit puoi eseguire:

root> # semodule -DB

Una volta eseguito, prova a eseguire nuovamente l'installazione, il backup o il ripristino e controlla il registro di controllo. Dopo che SELinux ha registrato i dinieghi applicabili, assicurati di riattivarli non controllare regole:

root> # semodule -B

Alcuni sistemi operativi sono dotati di moduli di policy preinstallati per Amanda che potrebbero non riflettere i contesti corretti per la tua versione di Amanda. Puoi verificare quale modulo è attualmente incluso utilizzando:

root> # semodule -l | grep amanda

Potrebbero volerci alcuni istanti per elencare tutti i moduli installati e, naturalmente, se non c'è alcun modulo che corrisponde a 'amanda', non ci sarà alcun output. Se scopri che stai eseguendo un modulo di criteri Amanda vecchio o corrotto, puoi rimuoverlo utilizzando:

root> # semodule -r 

Tutti i contesti SELinux possono essere configurati manualmente, ma questo è al di fuori dello scopo di questa documentazione. Se sei interessato a una soluzione completamente manuale, dovresti fare riferimento alle pagine man di chcon e restorecon per informazioni dettagliate.

Creazione di pacchetti di criteri personalizzati con audit2allow

Nella maggior parte degli ambienti ci sono un certo numero di macchine client Amanda che eseguono sistemi operativi simili e occasionalmente è necessario distribuire server Amanda aggiuntivi. Non è efficiente risolvere manualmente i problemi e modificare i contesti di sicurezza su ogni singola macchina in questi scenari. È qui che uno strumento chiamato audit2allow può essere utile per creare pacchetti di criteri personalizzati che possono essere distribuiti su più macchine sulla rete.

Innanzitutto, esegui le tue attività in modalità permissiva e crea un file di imposizione del tipo:

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

Una volta creato il file di imposizione del tipo, assicurati che sia controllato da un operatore. Modificare l'output generato automaticamente come richiesto dal dipartimento di sicurezza delle informazioni.

Quando si verifica il file di imposizione del tipo, ricordare: molte applicazioni forniranno il contesto di sicurezza SELinux tramite un'opzione -Z. Ad esempio, 'ls, -Z','ps axZ', ecc.

Una volta verificato che il file di imposizione del tipo soddisfa i requisiti della policy di sicurezza, deve essere convertito in un pacchetto di policy da includere come modulo di policy attivo. Per fare ciò, puoi eseguire i seguenti comandi:

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

Per caricare il modulo dei criteri, dovresti quindi eseguire:

root> # semodule -i myamanda.pp

Se ricevi un errore che hai "Ho provato a collegare un modulo non MLS con una base MLS" dovrai invece convertire il file di imposizione del tipo come sicurezza multistrato e includere il pacchetto di criteri risultante in questo modo:

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

E poi includi il pacchetto delle politiche usando il semodulo -i come descritto sopra. Ora dovresti essere configurato per eseguire backup e ripristini con SELinux in modalità di applicazione.