Modalità SELinux
SELinux offre un ulteriore livello di sicurezza alle risorse nel sistema. Fornisce il MAC (controllo di accesso obbligatorio) in quanto contrario al DAC (controllo di accesso discrezionale). Prima di addentrarci nell'impostazione delle modalità di SELinux, vediamo quali sono le diverse modalità di funzionamento di SELinux e come funzionano. SELinux può funzionare in una qualsiasi delle 3 modalità :
2. Permissivi :le azioni contrarie alla politica vengono registrate solo nel registro di controllo.
3. Disabilitato :SELinux è completamente disabilitato.
Attivazione temporanea delle modalità SELinux
Per passare temporaneamente tra le modalità SELinux possiamo usare il comando setenforce come mostrato di seguito:
# setenforce [ Enforcing | Permissive | 1 | 0 ]
0 –> Permissivo
1 –> In vigore
Oppure puoi semplicemente fare eco ai valori nello pseudo file – /sys/fs/selinux/enforce o /selinux/enforce .
# echo [0|1] > /sys/fs/selinux/enforce
Per controllare la modalità corrente di SELinux:
# getenforce Enforcing
oppure possiamo anche usare il comando sestatus per ottenere uno stato dettagliato :
# sestatus SELinux status: enabled SELinuxfs mount: /selinux --> virtual FS similar to /proc Current mode: enforcing --> current mode of operation Mode from config file: permissive --> mode set in the /etc/sysconfig/selinux file. Policy version: 24 Policy from config file: targeted
Cambiare definitivamente le modalità di SELinux
Utilizzo del file /etc/sysconfig/selinux
Un modo per cambiare permanentemente la modalità SELinux in Enforcing o Permissive è:modificare il file /etc/sysconfig/selinux e impostare il valore dei parametri SELINUX su Enforcing o Permissive.
# ls -l /etc/sysconfig/selinux lrwxrwxrwx. 1 root root 17 Mar 2 13:03 /etc/sysconfig/selinux -> ../selinux/config
# cat /etc/sysconfig/selinux # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=permissive # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted
Modifica questo file e riavvia il sistema per rendere effettive le modifiche.
Utilizzo dei parametri di avvio del kernel
Possiamo anche utilizzare il parametro di avvio del kernel all'avvio per impostare la modalità SELinux. Per questa modifica il /etc/grub.conf file e aggiungi l'opzione “selinux=1 enforcing=[0|1]” ai parametri di avvio.
# cat /etc/grub.conf ........ root (hd0,0) kernel /vmlinuz-2.6.32-279.el6.x86_64 root=/dev/md3 selinux=1 enforcing=0 initrd /initramfs-2.6.32-279.el6.x86_64.img .........
selinux=1 –> Abilita SELinux
enforcing=0 –> Modalità permissiva
enforcing=1 –> Modalità di applicazione
Disabilitazione di SELinux
A volte, quando non si conosce bene le funzionalità di SELinux, è meglio disabilitarlo. Non possiamo disabilitare SELinux senza un riavvio. Un'opzione alternativa sarebbe:impostare SELinux in modalità Permissiva. Per disabilitare completamente SELinux, modificare il file di configurazione /etc/sysconfig/selinux o /etc/selinux/config che è un collegamento software al file /etc/sysconfig/selinux.
# ls -l /etc/sysconfig/selinux lrwxrwxrwx. 1 root root 17 Mar 2 13:03 /etc/sysconfig/selinux -> ../selinux/config
# cat /etc/sysconfig/selinux # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted
Modifica questo file e riavvia il sistema per rendere effettive le modifiche.
Utilizzo dei parametri di avvio del kernel per disabilitare SELinux
Un altro modo per disabilitare permanentemente SELinux è modificare i parametri di avvio del kernel. Modificare il file /etc/grub.conf e aggiungere l'opzione selinux=0 all'opzione di avvio per disabilitare SELinux all'avvio. In questo caso le impostazioni in /etc/sysconfig/selinux vengono ignorate.
# cat /etc/grub.conf ........ root (hd0,0) kernel /vmlinuz-2.6.32-279.el6.x86_64 root=/dev/md3 selinux=0 initrd /initramfs-2.6.32-279.el6.x86_64.img .........