Linux più sicuro con SELinux

di: Antonio Avolio     13 Aprile 2011

Introduzione

SELinux è un'architettura modulare inclusa dal kernel 2.6.x in Linux, ideata e sviluppata dalla comunity SELinux e dalla NSA al fine di aumentare la sicurezza dei sistemi Linux. Occorre precisare che SELinux non è né un firewall, né un software antivirus, né tanto meno una soluzione di sicurezza omnicomprensiva. Tutti i processi e i file sono contrassegnati con un tipo, esso definisce un dominio per i processi. Ogni processo è isolato rispetto agli altri processi e file, ciò è possibile perché l'esecuzione è effettuata all'interno del proprio dominio d'esecuzione, le regole SELinux definiscono come i processi ed i file possono interagire tra di loro.

Il sistema alla base del funzionamento di SELinux è quello MAC, acronimo di "Mandatory Access Control", ogni processo viene eseguito con i permessi associati all'utente proprietario del task, in tal modo il sistema viene protetto dai processi che mirano a destabilizzare la sicurezza del sistema. SELinux se eseguito è completamente invisibile agli utenti, solo gli amministratori, infatti, avranno la possibilità di impostare le policy e solo essi riceveranno delle notifiche. Ogni qualvolta che un'applicazione crea un oggetto (ad esempio un file), il server responsabile della sicurezza SELinux in esecuzione in modalità demone nel kernel di Linux, controllerà le policy memorizzate all'interno dell'AVC (Access Vector Cache) dove sono immagazzinati i permessi degli oggetti e dei soggetti coinvolti.

La richiesta è propagata sino a che non è rilevata una policy adeguata all'azione da compiere. SELinux è incluso in tutte le distribuzioni Red Hat e derivate, può essere amministrato sia da riga di comando che da GUI, un esempio di utilizzo tramite GUI viene visualizzato in figura, nel caso in esame usufruiamo dell'interfaccia grafica minimale SELinux offerta da Centos 5.

I Log SELinux

Ad ogni richiesta, come accennato in precedenza, viene controllato automaticamente l'AVC, nel caso in cui "il contesto d'esecuzione" venga rifiutato, SELinux manterrà traccia dell'operazione di "denied" all'interno del file di log ospitato in /var/log/messages, naturalmente la lettura di tale file è consentita ai soli utenti root per default. SELinux potrebbe creare più di un file di log, dipende della quantità di log creati.

Guide Sicurezza

Guida SQL Injection con Sqlmap

Scopriamo se le nostre applicazioni web sono vulnerabili alle SQL...

Guida sicurezza applicazioni Web

Le tecniche di attacco più comuni, i metodi per verificare la...

Guida Sicurezza wireless

Quali sono i pericoli di sicurezza di una rete senza filo e quali...

Altre guide

Newsletter @Sicurezza

Ogni lunedì, direttamente nella tua e-mail: approfondimenti e bollettini su virus, vulnerabilità e sicurezza informatica.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Amministratore di Reti Windows Server 2008

11 Giugno 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto