GUIDA PER CREARE POLICIES PERSONALIZZATA SELINUX SU CENTOS 5.6 E 6.0

<p><font face="Arial">GUIDA PER CREARE POLICIES PERSONALIZZATA SELINUX SU CENTOS 5.6 E 6.0<br /> __________________________________________________________________________________________________________________________________________________________________________________________</font></p> <p><font face="Arial">Che cos'&egrave; Selinux</font></p> <p><font face="Arial">http://it.wikipedia.org/wiki/Security-Enhanced_Linux</font></p> <p><font face="Arial">http://wiki.centos.org/HowTos/SELinux<br /> __________________________________________________________________________________________________________________________________________________________________________________________</font></p> <p><font face="Arial">In questa guida vedremo Selinux in particolare come crare policies personalizzate.</font></p> <p><font face="Arial">Spesso viene consigliato di disabilitarlo per non creare problemi, cosa che a mio avviso non trovo corretta.</font></p> <p><font face="Arial">Selinux &egrave; un sistema di sicurezza che protegge la macchina.</font></p> <p><font face="Arial">Si puo utilizzare in 3 modi:</font></p> <p><font face="Arial">enable<br /> permissive<br /> disable</font></p> <p><font face="Arial">enable: Selinux abilitato</font></p> <p><font face="Arial">permissive: Selinux non &egrave; disabilitato esegue i log ma di fatto non &egrave; in funzione</font></p> <p><font face="Arial">disable: Selinux disabilitato</font></p> <p><font face="Arial">si puo settare in permissive per test sconsiglio di disabiltarlo <br /> __________________________________________________________________________________________________________________________________________________________________________________________</font></p> <p><font face="Arial">Nel caso sia disabilitato dalle guide red hat viene indicato di eseguire questo comando:</font></p> <p><font face="Arial">touch /.autorelabel<br /> reboot</font></p> <p><font face="Arial">PERSONALMENTE NON MI E' MAI CAPITATO DI DISABILITARE SELINUX SCONSIGLIO DI FARLO MASSIMO METTETELO IN PERMISSIVE<br /> __________________________________________________________________________________________________________________________________________________________________________________________</font></p> <p><font face="Arial">File di configurazione</font></p> <p><font face="Arial">/etc/sysconfig/selinux</font></p> <p><font face="Arial"># This file controls the state of SELinux on the system.<br /> # SELINUX= can take one of these three values:<br /> #&nbsp;&nbsp;&nbsp;&nbsp; enforcing - SELinux security policy is enforced.<br /> #&nbsp;&nbsp;&nbsp;&nbsp; permissive - SELinux prints warnings instead of enforcing.<br /> #&nbsp;&nbsp;&nbsp;&nbsp; disabled - No SELinux policy is loaded.<br /> SELINUX=permissive<br /> # SELINUXTYPE= can take one of these two values:<br /> #&nbsp;&nbsp;&nbsp;&nbsp; targeted - Targeted processes are protected,<br /> #&nbsp;&nbsp;&nbsp;&nbsp; mls - Multi Level Security protection.<br /> SELINUXTYPE=targeted</font></p> <p><font face="Arial">modificando la riga</font></p> <p><font face="Arial">SELINUX=</font></p> <p><font face="Arial">possiamo variare lo stato di selinux in questo modo per la modifica sara valida al riavvio del sistema</font></p> <p><font face="Arial">mentre usando il tool&nbsp; setenforce [ Enforcing | Permissive | 1 | 0 ]</font></p> <p><font face="Arial">setenforce 1 attiva selinux in modo immediato</font></p> <p><font face="Arial">setenforce 0 lo mette in permissive in maniera immediata</font></p> <p><font face="Arial">Possiamo sempre utilizzare il tool sestatus per verificare lo stato di selinux</font></p> <p><font face="Arial">sestatus<br /> SELinux status:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; enabled<br /> SELinuxfs mount:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /selinux<br /> Current mode:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; permissive<br /> Mode from config file:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; permissive<br /> Policy version:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 24<br /> Policy from config file:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; targeted</font></p> <p><font face="Arial">&quot;Current mode&quot; ci indica lo stato attuale mentre &quot;Mode from config file&quot; ci indica come &egrave; settato in /etc/sysconfig/selinux</font></p> <p><font face="Arial">&egrave; ovvio che se setto selinux in enforcing nel file di configurazione poi per test con setenforce lo metto in permissive riavvio la macchina</font></p> <p><font face="Arial">Selinux ritorna in enforcing quindi ricordatevi sempre di controllare il suo stato.</font></p> <p><font face="Arial">il tool setenforce &egrave; molto utile per test, installato un nuovo applicativo o modifico la macchina e volgio essere sicuro di non avere intralci</font></p> <p><font face="Arial">metto selinux in permissive e procedo.</font></p> <p><font face="Arial">Per poi riattivarlo guardare i log e sistemare cio che occorre.<br /> __________________________________________________________________________________________________________________________________________________________________________________________</font></p> <p><font face="Arial">Esistono gia dei boolean che si possono attivare o disattivare </font></p> <p><font face="Arial">#getsebool -a</font></p> <p><font face="Arial">vi mostrer&agrave; l'elenco completo ed il loro stato &quot;off&quot; o &quot;on&quot;</font></p> <p><font face="Arial"># getsebool -a | grep samba<br /> samba_create_home_dirs --&gt; off<br /> samba_domain_controller --&gt; off<br /> samba_enable_home_dirs --&gt; off<br /> samba_export_all_ro --&gt; off<br /> samba_export_all_rw --&gt; off<br /> samba_run_unconfined --&gt; off<br /> samba_share_fusefs --&gt; off<br /> samba_share_nfs --&gt; off<br /> use_samba_home_dirs --&gt; off<br /> virt_use_samba --&gt; off</font></p> <p><font face="Arial">con l'opzione | grep samba visualizziamo solo le boolean per samba ed il loro stato</font></p> <p><font face="Arial">samba_domain_controller esempio va attivata qualora stessimo creando un domain controller samba</font></p> <p><font face="Arial">use_samba_home_dirs esempio va attivata qualora volessimo creare condivisioni in /home</font></p> <p><font face="Arial">per attivare una boolean</font></p> <p><font face="Arial">#setsebool -P samba_domain_controller on</font></p> <p><font face="Arial">per disattivarla</font></p> <p><font face="Arial">#setsebool -P samba_domain_controller off</font></p> <p><font face="Arial">A questo indirizzo trovate la lista delle boolean ed il loro ruolo</font></p> <p><font face="Arial">http://wiki.centos.org/TipsAndTricks/SelinuxBooleans</font></p> <p><font face="Arial">__________________________________________________________________________________________________________________________________________________________________________________________</font></p> <p><font face="Arial">Pacchetti necessari per la creazione di una policies personalizzata</font></p> <p><font face="Arial">Verificare pacchetto policycoreutils-python su Centos 6 di default non &egrave; installato su Centos 5.6 si</font></p> <p><font face="Arial">yum install policycoreutils-python</font></p> <p><font face="Arial">__________________________________________________________________________________________________________________________________________________________________________________________</font></p> <p><font face="Arial">Creiamo la policy</font></p> <p><font face="Arial">in genere consiglio di creare una cartella dove tenere le policy esempio /home/cfg/mypolicies/</font></p> <p><font face="Arial">#cd /home/cfg/mypolicies</font></p> <p><font face="Arial">#audit2allow -i /var/log/audit/audit.log -m mypolicies &gt; mypolicies.te</font></p> <p><font face="Arial"># vi mypolicies.te</font></p> <p><font face="Arial">Ora fare bene attenzione a cosa trovate dentro il file potrebbero esserci sezioni relative ad altri programmi in tal caso sarebbero da eliminare; oppure potrebbero essere indicato di</font></p> <p><font face="Arial">attivare boolean tramite setsebool</font></p> <p><font face="Arial">CANCELLIAMO CIO' CHE NON CI INTERESSA E COMPILIAMO IL MODULO</font></p> <p><font face="Arial"># checkmodule -M -m -o mypolicies.mod mypolicies.te</font></p> <p><font face="Arial">pacchettiziamo</font></p> <p><font face="Arial"># semodule_package -o mypolicies.pp -m mypolicies.mod</font></p> <p><font face="Arial">carichiamo</font></p> <p><font face="Arial"># semodule -i mypolicies</font></p> <p><font face="Arial">controlliamo che sia stato caricato</font></p> <p><font face="Arial"># semodule -l<br /> __________________________________________________________________________________________________________________________________________________________________________________________<br /> </font></p>

SMF 2.0.13 | SMF © 2013, Simple Machines
TinyPortal © 2005-2012

Indietro all'articolo