GNU/Linux >> Linux Esercitazione >  >> Linux

Cos'è SELinux? Perché potresti voler disabilitarlo?

Se conosci già SELinux e sei completamente consapevole dei rischi che incontreresti disabilitandolo, ecco come farlo.

  • Apri il file di configurazione /etc/selinux/config o il suo collegamento simbolico /etc/sysconfig/selinux .
  • Cambia la riga da SELINUX=enforcing a SELINUX=disabilitato
  • Riavvia il sistema o usa setenforce 0 per invocare la modifica immediatamente.

Leggi questo articolo per informazioni più dettagliate su cos'è SELinux, come disabilitare SELinux e perché non è sempre una buona idea disabilitare SELinux.

Cos'è SELinux?

SELinux sta per Security Enhanced Linux. È un meccanismo di etichettatura per fornire un'elevata sicurezza a file e altri oggetti nel sistema da processi non autorizzati e anche da processi autorizzati che non hanno o necessitano di tale accesso per evitare un uso improprio.

Si può installare SELinux in qualsiasi sistema Linux esistente. Questo utilizzo non sarà utile per tutti i singoli utenti ma essenziale per i sistemi server.

La sua rigidità di sicurezza può essere compresa dal fatto che con SELinux, il processo di proprietà di root anche se hackerato non può accedere ai file a cui non viene concesso l'accesso.

Come funziona SELinux?

SELinux applica la politica di accesso che sarà seguita dal kernel ogni volta che un processo ha bisogno di accedere a file o oggetti. In base al criterio, a ogni file o processo viene assegnata un'etichetta. Quindi, quando un processo con un'etichetta a:a:a deve accedere al file (con etichetta b:b:b) entrambi devono corrispondere (tranne per la configurazione MLS in cui verrà seguita la gerarchia secondo la politica).

Leggi di più sull'etichettatura qui e qui.

Si noti che la disabilitazione di SELinux in un server riporta molte minacce al sistema. Assicurati di farlo non per comodità o per contenuti speculati negli articoli, ma per un motivo valido.

Svantaggi della disabilitazione di SE Linux

Disabilitando SELinux, ogni processo avrà accesso ai file come in un normale sistema Linux. L'abuso dei diritti non può essere impedito. Un processo violato può accedere a file segreti che non sono necessari per il suo scopo originale e potrebbero essere utilizzati in modo improprio. Questo è un problema serio.

Se un processo con autorizzazione di root viene compromesso, l'intero sistema è a rischio. Ciò che fornisce SELinux è una sicurezza più rigida. Ulteriori informazioni sui rischi qui.

Perché vorresti disabilitare SELinux se è una funzionalità di sicurezza?

Perché spesso le caratteristiche di sicurezza estrema diventano una seccatura. Lo stesso vale per SELinux.

Poiché è troppo rigido su quali file sono accessibili con quale processo, sarà difficile far funzionare correttamente vari servizi sul tuo server.

Ad esempio, se i file in /var/lib sono di proprietà di root e con autorizzazioni file 000, il programma che richiede questi file non verrà eseguito.

Inoltre, quando si esegue il debug di un'applicazione, SELinux diventa una seccatura. Disabilitarlo ti risparmia mal di testa.

Suggerimento:usa la modalità permissiva con SELinux

Una pratica relativamente migliore è mettere SELinux in modalità permissiva prima di distribuire l'applicazione o eseguire il debug del problema e abilitarlo di nuovo dopo.

La modalità permissiva funziona come se SELinux fosse disabilitato ma, allo stesso tempo, registrerà come se SELinux fosse abilitato.

In questo modo puoi sapere dai log /var/log/messages cosa accadrebbe con la tua applicazione se SELinux fosse abilitato. Verifica la presenza di messaggi di rifiuto.

Nota che il tuo sistema non è protetto con le politiche di SELinux in modalità permissiva.

Disabilita SELinux in CentOS e altre distribuzioni Linux

È possibile disabilitare SELinux utilizzando i seguenti passaggi. Sebbene questi comandi siano testati in CentOS, dovrebbero funzionare perfettamente in Fedora e Red Hat Linux.

Penso che gli stessi passaggi dovrebbero essere applicabili anche ad altre distribuzioni Linux. In caso contrario, faccelo sapere nella sezione commenti.

Per prima cosa, controlla lo stato di SELinux usando sestatus comando.

SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 31

Se SELinux è abilitato ed è in modalità di applicazione, puoi disabilitarlo seguendo questi passaggi.

Passaggio 1: Apri il file di configurazione /etc/selinux/config o il suo collegamento simbolico /etc/sysconfig/selinux

Passaggio 2: Modifica la riga da SELINUX=enforcing a SELINUX=disabled .

Passaggio 3: Riavvia il sistema o usa setenforce 0 per cambiare la modalità SELinux per la sessione corrente e la modifica sarà attiva al riavvio.

Nota :Per mettere SELinux in modalità permissiva, cambia il file di configurazione per avere SELINUX=permissive

Come abilitare nuovamente SELinux?

Come accennato in precedenza, potresti voler abilitare nuovamente SELinux dopo aver eseguito il debug del problema o aver distribuito la tua applicazione. In effetti, disabilitare temporaneamente SELinux è forse l'idea migliore.

Puoi riattivare SELinux ripristinando le modifiche apportate in precedenza.

Passaggio 1: Apri di nuovo il file /etc/selinux/config o /etc/sysconfig/selinux.

Passaggio 2: Questa volta cambia la riga in SELINUX=enforcing

Passaggio 3: Alla fine, riavvia il sistema o usa il comando setenforce 1 per applicare SELinux immediatamente.

Spero di aver chiarito alcune cose su SELinux come la modalità permissiva vs l'applicazione, la disabilitazione di SELinux ecc.

Se hai domande o suggerimenti per migliorare questo articolo, faccelo sapere nella sezione commenti qui sotto. Condividi anche il tuo pensiero sulla disabilitazione di SELinux.


Linux
  1. Perché è necessario eliminare ifconfig per ip

  2. Cosa può fare per te un file dot di shell

  3. Come disabilitare SELinux temporaneamente o permanentemente

  4. Perché Deis e che cos'è?

  5. Disabilita SELinux su CentOS 6

11 motivi per cui dovresti passare a Linux

Che cos'è un Homelab e perché dovresti averne uno?

Cos'è Zsh? Dovresti usarlo?

Cos'è la funzionalità della community di ONLYOFFICE e perché dovresti usarla?

Che cos'è il file system Linux? Guida facile

SystemD - A cosa serve SystemD?