Addendum al whitepaper “Proteggere i files sensibili con SE-Linux”

Un piccolo addendum al whitepaper “Proteggere i files sensibili con SE-Linux”.

Se vi ricordate, uno dei problemi principali era il fatto di non poter concedere attraverso sudo tutti i privilegi di root, perchè il super user poteva disabilitare le protezioni SE-Linux tramite il comando setenforce oppure disabilitare l’audit tramite il comando auditctl.

Dopo alcune prove, ho scoperto che posso proteggere auditctl e setenforce in una maniera analoga a come avevo protetto la directory dei documenti /documents, ovvero l’uso degli stessi MLS. Nel mio caso, ho creato un secondo livello MLS che ho chiamato Serights e l’ho inserito in /etc/selinux/targeted/setrans.conf:

s0:c4=Serights

Poi, tramite chcat, ho protetto i due comandi:

chcat +Serights /usr/sbin/setenforce
chcat +Serights /sbin/auditctl

Ho reso permanenti questi files ad un relabel inserendo nel file “docsecret.fc” le seguenti righe:

/usr/sbin/setenforce        gen_context(system_u:object_r:sbin_t,s0,c4)
/sbin/auditctl              gen_context(system_u:object_r:auditctl_exec_t,s0,c4)

Ho poi permesso ad un utente, es: l’utente secofr (=security officer), di poter abilitare/disabilitare selinux con:

chcat -l +Serights secofr

Ovviamente, sempre da quello descritto nel paper, l’utente secofr è stato aggiunto nel gruppo wheel. In questo modo solo collegandosi come secofr e poi facendo “su -” si potrà disabilitare selinux, oppure collegandosi a root da console.
Tanto per essere un po’ piu’ paranoici … 🙂