
Security Enhanced Linux o SELinux è un meccanismo di sicurezza integrato nel kernel Linux utilizzato dalle distribuzioni basate su RHEL.
SELinux aggiunge un ulteriore livello di sicurezza al sistema consentendo agli amministratori e agli utenti di controllare l'accesso agli oggetti in base alle regole dei criteri.
Le regole della politica di SELinux specificano come i processi e gli utenti interagiscono tra loro e come i processi e gli utenti interagiscono con i file. Quando non esiste una regola che consenta esplicitamente l'accesso a un oggetto, ad esempio per un processo che apre un file, l'accesso viene negato.
SELinux ha tre modalità di funzionamento:
- Applicazione:SELinux consente l'accesso in base alle regole della politica di SELinux.
- Permissiva:SELinux registra solo le azioni che sarebbero state negate se eseguite in modalità di applicazione. Questa modalità è utile per il debug e la creazione di nuove regole dei criteri.
- Disabilitato:nessun criterio SELinux viene caricato e nessun messaggio viene registrato.
Per impostazione predefinita, in CentOS 8, SELinux è abilitato e in modalità di applicazione. Si consiglia vivamente di mantenere SELinux in modalità di applicazione. Tuttavia, a volte potrebbe interferire con il funzionamento di alcune applicazioni ed è necessario impostarla sulla modalità permissiva o disabilitarla completamente.
In questo tutorial, spiegheremo come disabilitare SELinux su CentOS 8.
Prerequisiti #
Solo l'utente root o un utente con privilegi sudo può modificare la modalità SELinux.
Verifica della modalità SELinux #
Usa il sestatus
comando per verificare lo stato e la modalità in cui SELinux è in esecuzione:
sestatus
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
Memory protection checking: actual (secure)
Max kernel policy version: 31
L'output sopra mostra che SELinux è abilitato e impostato in modalità di applicazione.
Modifica della modalità SELinux in Permissive #
Quando abilitato, SELinux può essere in modalità di applicazione o permissiva. Puoi cambiare temporaneamente la modalità da mirata a permissiva con il seguente comando:
sudo setenforce 0
Tuttavia, questa modifica è valida solo per la sessione di runtime corrente e non persiste tra i riavvii.
Per impostare permanentemente la modalità SELinux su permissiva, segui i passaggi seguenti:
-
Apri il
/etc/selinux/config/etc/selinux/config
file e impostare ilSELINUX
mod supermissive
:# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=permissive # SELINUXTYPE= can take one of these three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
-
Salva il file ed esegui
setenforce 0
comando per cambiare la modalità SELinux per la sessione corrente:sudo shutdown -r now
Disabilitazione di SELinux #
Invece di disabilitare SELinux, si consiglia vivamente di cambiare la modalità in permissiva. Disabilita SELinux solo quando richiesto per il corretto funzionamento della tua applicazione.
Esegui i passaggi seguenti per disabilitare permanentemente SELinux sul tuo sistema CentOS 8:
-
Apri il
/etc/selinux/config/etc/selinux/config
file e cambia ilSELINUX
valore sudisabled
:# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
-
Salva il file e riavvia il sistema:
sudo shutdown -r now
-
Quando il sistema viene avviato, utilizzare il
sestatus
comando per verificare che SELinux sia stato disabilitato:sestatus
L'output dovrebbe essere simile a questo:
SELinux status: disabled