SELinux

SELinuxAmmettiamolo: 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/messagessetroubleshoot 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.

Commenti

Una risposta a “SELinux”

  1. Avatar LoneStar
    LoneStar

    A parziale discolpa va detto che molto spesso sono gli stessi pacchetti software (anche commerciali: Oracle, Tivoli, Zimbra, ecc.) a dare come prima indicazione quella di disabilitare SELinux altrimenti il software non funziona.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *