Le seguenti sezioni descrivono i file di configurazione di SELinux insieme ai file system correlati.
21.2.1. Lo pseudo-File System /selinux/
Lo pseudo-file system /selinux/ contiene i comandi maggiormente utilizzati dal sottosistema del kernel. Questo tipo di file system � simile allo pseudo-file system /proc/.
In molti casi gli amministratori e gli utenti non hanno bisogno di manipolare il suddetto componente, al contrario di altri file e directory di SELinux.
Il seguente esempio mostra i contenuti della directory /selinux/:
Per esempio, l'esecuzione del comando cat sul file enforce, pu� rivelare un valore 1 per la modalit� di enforcing, oppure 0 per la modalit� permissiva.
21.2.2. File di configurazione di SELinux
Le seguenti sezioni descrivono i file di configurazione e la policy di SELinux, insieme ai file system correlati presenti nella directory /etc/.
21.2.2.1. Il file di configurazione /etc/sysconfig/selinux
Sono presenti due diversi modi per poter configurare SELinux con Red Hat Enterprise Linux: utilizzando Strumento di configurazione del livello di sicurezza (system-config-securitylevel), oppure manualmente modificando il file di configurazione (/etc/sysconfig/selinux).
Il file /etc/sysconfig/selinux rappresenta il file di configurazione primario per l'abilitazione o la disabilitazione di SELinux, e per l'impostazione ed il modo di applicazione della policy da utilizzare sul sistema.
Nota Bene
/etc/sysconfig/selinux contiene un link simbolico per il file di configurazione attuale, /etc/selinux/config.
Di seguito viene riportato un sottoinsieme completo di opzioni, disponibili per la configurazione:
SELINUX=<enforcing|permissive|disabled> — Definisce lo stato superiore di SELinux su di un sistema.
enforcing — La policy di sicurezza di SELinux � stata applicata.
permissive — Il sistema SELinux visualizza alcuni avvertimenti senza applicare tale policy. Questo processo risulta utile per il debugging e per il troubleshooting. In modalit� permissiva, verranno registrati un numero maggiore di negazioni, man mano che gli utenti porteranno avanti le proprie azioni, tale permessivit� � compromessa se si utilizza la modalit� enforcing. Per esempio, se si cerca di percorrere tutti i livelli di una directory, tale operazione originer� dei messaggi avc: denied multipli per ogni livello letto, al contrario di un kernel in modalit� enforcing che non far� altro che arrestare tale azione, evitando quindi la visualizzazione dei suddetti massaggi.
disabled — SELinux risulta essere completamente disabilitato. Le funzioni di SELinux vengono disabilitate dal kernel e lo pseudo-file system risulta non registrato.
Suggerimento
Le azioni eseguite mentre SELinux risulta essere disabilitato, possono causare un annullamento di un contesto sicuro per il file system interessato. L'esecuzione di fixfiles relabel prima di abilitare SELinux, non far� altro che eseguire un relabel del file system, in modo da far funzionare correttamente SELinux una volta abilitato. Per maggiori informazioni consultare la pagina man (8) di fixfiles.
Nota Bene
Se si lasciano spazi aggiuntivi alla fine di una riga di configurazione, oppure righe extra alla fine del file, si possono verificare dei comportamenti inaspettati. Per essere sicuri, rimuoveri tutti gli spazi presenti.
SELINUXTYPE=<targeted|strict> — Specifica la policy usata da SELinux.
targeted — Solo i demoni di rete selezionati risultano essere protetti.
Importante
I seguenti demoni risultano essere protetti usando la policy di default: dhcpd, httpd (apache.te), named, nscd, ntpd, portmap, snmpd, squid, e syslogd. Il resto dei sistemi viene eseguito nel dominio unconfined_t.
I file della policy per questi demoni sono disponibili in /etc/selinux/targeted/src/policy/domains/program, e sono soggetti a modifiche a seconda delle versioni disponibili di Red Hat Enterprise Linux.
L'applicazione della policy per i suddetti demoni, pu� essere abilitata oppure disabilitata utilizzando i valori Boolean controllati dallo Strumento di configurazione del livello di sicurezza (system-config-securitylevel). Variando un valore Boolean per un determinato demone, si � in grado di disabilitare la transizione della sua policy, la quale previene, per esempio, init di passare su dhcpd dal dominio unconfined_t al dominio specificato in dhcpd.te. Il dominio unconfined_t permette ai soggetti e agli oggetti con quel determinato contesto di sicurezza, di essere eseguiti sotto uno standard di sicurezza di Linux.
strict — Protezione SELinux completa per tutti i demoni. I contesti di sicurezza vengono definiti per tutti i soggetti e gli oggetti, e ogni singola azione viene processata dal server responsabile all'attuazione della policy.
21.2.2.2. La directory /etc/selinux/
La directory /etc/selinux/ rappresenta il luogo primario per tutti i file della policy, insieme al file di configurazione primario.
Il seguente esempio mostra i contenuti della directory /etc/selinux/:
Le due directory strict/ e targeted/, sono le directory specifiche dove vengono contenuti i rispettivi file della policy (es. restrittivi e selezionati).
Per maggiori informazioni sulla policy SELinux e sulla sua configurazione, consultate Red Hat SELinux Policy Writing Guide.
21.2.3. Utility SELinux
Le seguenti sono le utility maggiormente utilizzate con SELinux:
/usr/bin/setenforce — Modifica in tempo reale la modalit� eseguita da SELinux. Eseguendo setenforce 1, SELinux viene selezionato in modalit� enforcing. Eseguendo setenforce 0, SELinux viene selezionato in modalit� permissiva. Per disabilitare SELinux, dovreste impostare il parametro in /etc/sysconfig/selinux, oppure passare il parametro selinux=0 al kernel, sia in /etc/grub.conf oppure al momento dell'avvio.
/usr/bin/sestatus -v — Permette di ottenere lo stato completo di un sistema che esegue SELinux. Il seguente esempio mostra un output sestatus:
/usr/bin/newrole — Esegue una nuova shell in un nuovo contesto o ruolo. La policy deve permettere la transizione al nuovo ruolo.
/sbin/restorecon — Imposta il contesto di sicurezza di uno o pi� file, segnando gli attributi estesi con il file appropriato o con un contesto di sicurezza.
/sbin/fixfiles — Controlla o corregge il database del contesto di sicurezza sul file system.
Consultate la pagina man associata con queste utility per maggiori informazioni.
Per maggiori informazioni su tutte le utility binarie disponibili, consultate i contenuti dei pacchetti setools o policycoreutils, eseguendo rpm -ql <package-name>, dove <package-name> rappresenta il nome del pacchetto specifico.