SELinux sta per "Linux con protezione avanzata “. La sicurezza standard di Linux si basa sul controllo dell'accesso discrezionale (DAC). Con DAC, l'accesso a file e dispositivi si basa esclusivamente sull'identità e sulla proprietà dell'utente. Ogni file può avere autorizzazioni di lettura, scrittura ed esecuzione per il proprietario del file, per il gruppo e per altri utenti.
SELinux è stato creato dalla US National Security Agency per fornire un livello più dettagliato di controllo su file, processi, utenti e applicazioni nel sistema. È un miglioramento del kernel Linux e implementa un diverso tipo di sicurezza chiamato Mandatory Access Control (MAC). La politica MAC è gestita centralmente anziché essere gestita dall'utente.
SELinux funziona in una delle tre modalità:
- Applicazione :L'accesso è negato a utenti e programmi a meno che non sia consentito dalle regole della politica di sicurezza di SELinux.
- Permissivo :Le regole della politica di sicurezza non vengono applicate, ma SELinux invia messaggi di rifiuto a un file di registro.
- Disabilitato :SELinux non applica una politica di sicurezza perché nessuna politica è caricata nel kernel. Solo le regole DAC vengono utilizzate per il controllo degli accessi.
Visualizza la modalità SELinux
Puoi utilizzare lo stato comando per visualizzare la modalità SELinux e alcune informazioni aggiuntive su SELinux.
# 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 Max kernel policy version: 28
Puoi utilizzare getenforce comando per visualizzare la modalità SELinux. Questo comando mostra la modalità corrente:“Applicazione ”, “Permissivo "" o "Disattivato “.” Ad esempio:
# getenforce Enforcing
Cambiare la modalità SELinux
La maggior parte delle volte vedresti le persone cambiare la modalità "imposizione" in "permissiva" per risolvere un problema relativo ai permessi di file/processi. Questa non è la migliore pratica da applicare, ma è uno dei modi più utilizzati e più rapidi per superare il problema in Linux. Puoi utilizzare il comando setenforce per cambiare la modalità in "Applicazione (1) ” o “Permissivo (0) “. Ad esempio:
# setenforce 0 # getenforce Permissive
Booleani
SELinux fornisce anche “Booleani ", che consentono di modificare parti di una politica di SELinux in fase di esecuzione, senza ricaricare o ricompilare una politica di SELinux. Puoi visualizzare un elenco di booleani, informazioni sullo stato e una descrizione del booleano eseguendo il comando seguente:
# semanage boolean -l SELinux boolean State Default Description privoxy_connect_any (on , on) Allow privoxy to connect any smartmon_3ware (off , off) Allow smartmon to 3ware mpd_enable_homedirs (off , off) Allow mpd to enable homedirs xdm_sysadm_login (off , off) Allow xdm to sysadm login ....
Puoi attivare o disattivare lo stato di un booleano specifico utilizzando il setsebool comando. Ad esempio, per attivare ftp_home_dir Boolean:
# setsebool ftpd_use_nfs on
Usa getsebool comando per visualizzare lo stato di un booleano specifico. Esempio:
# getsebool ftpd_use_nfs ftpd_use_nfs --> on