Come configurare Amanda Enterprise su SELinux

Controllo della modalità SELinux

È possibile ottenere la configurazione corrente 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 enforcing fosse ancora impostata. SELinux continuerà anche a controllare l'attività delle applicazioni mentre è 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]:

L'installer di Zmanda usa l'applicazione semanage per farlo, 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 tua politica di sicurezza, ci sono alcuni indicatori che SELinux sta interferendo con il normale funzionamento di Amanda. Puoi controllare i log di audit 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 essere necessari alcuni istanti per elencare tutti i moduli installati e, naturalmente, se non ci sono moduli corrispondenti ad "amanda", non ci sarà alcun output. Se trovi che stai eseguendo un modulo di policy Amanda vecchio o danneggiato, puoi rimuoverlo usando:

root> # semodule -r 

Tutti i contesti di 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.

Durante la verifica del file di imposizione del tipo, ricorda: molte applicazioni forniranno il contesto di sicurezza SELinux per mezzo di uno switch -Z. Ad esempio, "ls, -Z", "ps axZ" e così via.

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 collegarmi a 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.