21.2. File relativi a SELinux

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/:

-rw-rw-rw-  1 root root 0 Sep 22 13:14 access
dr-xr-xr-x  1 root root 0 Sep 22 13:14 booleans
--w-------  1 root root 0 Sep 22 13:14 commit_pending_bools
-rw-rw-rw-  1 root root 0 Sep 22 13:14 context
-rw-rw-rw-  1 root root 0 Sep 22 13:14 create
--w-------  1 root root 0 Sep 22 13:14 disable
-rw-r--r--  1 root root 0 Sep 22 13:14 enforce
-rw-------  1 root root 0 Sep 22 13:14 load
-r--r--r--  1 root root 0 Sep 22 13:14 mls
-r--r--r--  1 root root 0 Sep 22 13:14 policyvers
-rw-rw-rw-  1 root root 0 Sep 22 13:14 relabel
-rw-rw-rw-  1 root root 0 Sep 22 13:14 user

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.

NotaNota 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.

      SuggerimentoSuggerimento
       

      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.

    NotaNota 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.

      ImportanteImportante
       

      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/:

-rw-r--r--  1 root root  448 Sep 22 17:34 config
drwxr-xr-x  5 root root 4096 Sep 22 17:27 strict
drwxr-xr-x  5 root root 4096 Sep 22 17:28 targeted

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:

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.