Ammettiamolo: la maggior parte di noi disabilita SELinuxsilver bullet, ma una buona sicurezza è sempre frutto di varie azioni coordinate.
permissive
e si analizzano i comportamenti delle applicazioni; in questa modalità SELinux non blocca nulla, ma si limita a segnalare ciò che avrebbe bloccato. Nella seconda fase si abilita la modalità enforcing
per rendere attive tutte le policy di blocco.
Da qui in avanti le indicazioni si riferiscono ad una CentOS 6.4, per cui è disponibile anche un howto; su altri sistemi ci potrebbero essere delle differenze. Per rendere il debug degli errori molto più semplice è necessario installare i pacchetti setroubleshoot
e setroubleshoot-server
. Il demone auditd deve essere attivo.
La prima volta che viene (ri)attivato SELinux bisogna riavviare il sistema per permettere il relabeling del file system. Questa operazione potrebbe richiedere svariati minuti o anche decine di minuti in relazione alla velocità dei dischi e al numero di file da etichettare. Portate pazienza. Al termine del relabeling il sistema si riavvia automaticamente.
Si può controllare in ogni momento il livello di sicurezza di SELinux con il comando getenforce
.
Gli eventi di blocco di SELinux vengono registrati in /var/log/messages
setroubleshoot
e setroubleshoot-server
, dopo aver abilitato SELinux inizieranno a comparire in /var/log/messages messaggi con la descrizione di un blocco seguito da qualcosa tipo
For complete SELinux messages. run sealert -l 8a4d7e77-0a0c-4f02-afff-48a736a39057
Se non sono installati i pacchetti di troubleshoot la diagnostica è un po’ meno chiara:
kernel: type=1400 audit(1381490372.869:3): avc: denied { getattr } for pid=9609 comm="smbd" path="/yadda/yadda" dev=sda1 ino=6297198 scontext=system_u:system_r:smbd_t:s0 tcontext=system_u:object_r:default_t:s0 tclass=file
Quando si esegue sealert
il sistema mostra in un linguaggio abbastanza chiaro quel è il problema e quali sono i comandi che possono essere copiati e incollati per risolverlo. Generalmente vengono proposti più comandi: la scelta di quello giusto è responsabilità del SysAdmin.
Dopo qualche giorno che il sistema non segnala errori e dopo aver accuratamente letto la documentazione di SELinux è possibile passare in modalità enforcing
.
Questo video di Thomas Cameron (RedHat) mostra molto bene quanto non sia così complesso implementare SELinux.
Lascia un commento