SELinux rende Redhat più sicuro?


10

SELinux rende Redhat più sicuro?

Non ricordo il numero di volte in cui ho disabilitato SELinux perché mi ha frustrato la capacità di far funzionare le cose. Molte volte non c'era una ragione ovvia per cui le cose non funzionassero e ho dovuto Google per scoprire perché.

Dato che la maggior parte degli utenti occasionali disabiliterà o indebolirà la sicurezza quando sembra ostacolare, con l'esclusione degli utenti Redhat seri e aziendali, SELinux è davvero utile?

PS. Esiste uno strumento che ti aiuta a registrare, tracciare e gestire i problemi SELinux in tutte le applicazioni?

Risposte:


9

Sì, Selinux rende il sistema più sicuro. Ma dovrai capirne i concetti e avere almeno le conoscenze di base su selinux e gli strumenti di controllo.

Selinux sta registrando su /var/log/audit/audit.log (ma assicurati che auditd sia in esecuzione) e ci sono molti strumenti per risolvere i problemi di selinux. Probabilmente il modo più semplice è usare audit2allow


17

Sì, SELinux rende Red Hat (e qualsiasi altra distribuzione Linux che lo utilizza effettivamente) più sicura, supponendo che sia effettivamente in uso.

SELinux implementa il controllo di accesso obbligatorio . Le normali autorizzazioni Unix, ACL, ecc. Implementano un controllo di accesso discrezionale . I due si completano a vicenda.

Per funzionare, SELinux richiede una politica, che definisce quali azioni sul sistema possono essere consentite. Sebbene sia possibile creare da zero un intero criterio di sistema, la maggior parte delle distribuzioni Linux distribuisce un criterio basato sulla cosiddetta politica di riferimento . Ciò significa, tra l'altro, che la configurazione di SELinux tra le distribuzioni sarà molto simile. (La maggior parte delle distribuzioni Linux rende disponibile la politica di riferimento SELinux nei loro repository di pacchetti, anche se potrebbe non essere installata per impostazione predefinita.)

SELinux funziona limitando utenti e processi per eseguire solo le azioni consentite nella politica. Per impostazione predefinita, la politica è di negare, quindi se la politica non consente esplicitamente un'azione, ciò non accade. Questo è il motivo per cui così spesso ti trovi nei guai con SELinux che vieta qualcosa che stai cercando di fare.

Sul lato positivo, questo impedisce anche agli exploit, anche agli exploit di 0 giorni, di sfuggire di mano. Ad esempio, se il tuo server Web (Apache) viene sfruttato, il danno è limitato solo alle cose a cui Apache può accedere. Non sarebbe in grado di leggere il tuo /etc/shadowfile, ad esempio, anche con un exploit root remoto. Mentre le autorizzazioni Unix (DAC) consentono a root di leggere il file, SELinux (MAC) non consente al processo compromesso di uscire dai limiti.

Il grande problema è che ci deve essere un modulo di politica SELinux caricato per il servizio. Se installi un servizio sulla tua scatola che non include un modulo di politica SELinux, funzionerà in modo incompleto e sarà in grado di fare quello che vuole. SELinux non si applica ad esso.

Un'altra cosa che dovresti sapere riguarda i booleani . Questi parametri sintonizzabili sono forniti dalle politiche di SELinux per personalizzarli per particolari installazioni e consentire o negare l'accesso in base alle esigenze di configurazione locali. Ad esempio, puoi dare ad Apache l'accesso alle condivisioni Samba, abilitare Samba a condividere le home directory degli utenti e molte altre cose potenzialmente utili che sono necessarie per alcune configurazioni ma non per altre.

La migliore guida a SELinux che ho visto attualmente è la Guida dell'utente di Linux ottimizzata per la sicurezza di Red Hat . Ti aiuterà a metterti in funzione rapidamente e a compilare i dettagli di sfondo di ciò che sta succedendo. Include anche una guida completa alla risoluzione dei problemi che ti aiuta a far funzionare il tuo processo con SELinux.

È utile?

SELinux protegge dai processi (e dagli utenti, se hai limitato i tuoi utenti) facendo cose inaspettate. Limita fortemente il danno che un exploit remoto può fare. Se non hai mai subito un compromesso remoto, sei (1) fortunato e (2) probabilmente nuovo. Se hai lavorato un compromesso remoto, certamente non vogliono che accada mai più.

Non è così utile in un ambiente domestico , a meno che tu non stia eseguendo servizi rivolti a Internet a casa (e alcune persone lo fanno). In tal caso, si applica tutto quanto sopra indicato.

SELinux potrebbe essere l'ultima cosa che si frappone tra i tuoi dati e un attaccante con un exploit di 0 giorni che lo vuole davvero. Se puoi usarlo, perché non dovresti?


3

Penso che SELinux estenda il tradizionale sistema di autorizzazioni introducendo impostazioni estese rispetto alle autorizzazioni. Rende il tuo sistema più sicuro? Penso che dipenda da come usi SELinux nelle tue applicazioni. Inoltre, non sono bravo in SELinux, ma la configurazione richiede maggiori conoscenze su quali limiti può fornire. Ma introduce anche molti problemi che è necessario esaminare manualmente per superare


1
SELinux fa molto di più che estendere le tradizionali autorizzazioni POSIX. SELinux può limitare l'accesso a determinate porte di rete, ad esempio.
wzzrd,

3

Esiste un pacchetto che aiuta gli utenti a trovare i problemi causati da SELinux denominato setroubleshoot. Installalo, impostalo per l'esecuzione all'avvio. Quindi quando si ottiene una smentita di SELinux, questo verrà annotato in /var/log/messages. Se hai effettuato l'accesso anche alla GUI, riceverai una notifica.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.