Questo tutorial mostra come disabilitare SELinux (Security-Enhanced Linux) sul tuo server CentOS. La versione di CentOS dovrebbe essere 7 o 8. La versione non ha importanza.

Cos'è SELinux?

SELinux è un meccanismo di sicurezza controllato direttamente dal kernel. Permette ad amministratori e utenti un maggiore controllo sugli accessi basato sulle policy SELinux.

SELinux ha tre diverse modalità operative. Eccole:

  1. Enforcing: Consente l'accesso basato sulle policy SELinux e sulle regole delle policy.
  2. Permissive: SELinux registra solo le azioni che sarebbero state negate se fosse stato in esecuzione in modalità enforcing.
  3. Disabled: Nessun messaggio registrato e nessuna policy SELinux è più abilitata sul server. Il più delle volte la modalità disabled è usata da pannelli di controllo web come cPanel e/o Plesk.

Prerequisiti

Solo l'utente root o un utente con privilegi sudo può aggiornare la modalità SELinux.

Controllare la Modalità SELinux

Puoi verificare lo stato di SELinux con il comando "sestatus". La stampa mostra che SELinux è abilitato e la modalità è impostata su enforcing.

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

Disabilitare SELinux

Consiglio vivamente di cambiare la modalità in permissive. A volte alcune applicazioni non gradiscono SELinux e richiedono la modalità disabled.

Per cambiare permanentemente la modalità SELinux da enforcing a disabled, prima di tutto, dovresti usare il tuo editor di testo come vi o nano.

Apri il file /etc/selinux/config e cambia il valore SELINUX in disabled alla sesta riga come qui sotto:

# 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

Ora puoi salvare il file ed uscire dall'editor di testo. È ora di riavviare il server:

sudo reboot

Controllo Finale dello Stato SELinux

Ora, dovremmo assicurarci che SELinux sia stato disabilitato con successo sul server. Esegui di nuovo il comando "sestatus", l'output dovrebbe essere così:

SELinux status:                 disabled

Conclusione

Ora puoi cambiare le modalità SELinux in base a quale è più adatta per te o di cui hai bisogno. SELinux è un meccanismo di sicurezza che implementa il controllo degli accessi obbligatorio (MAC). SELinux è in modalità enforcing per impostazione predefinita sui sistemi CentOS7 e CentOS8. Può essere modificato editando il file di configurazione e riavviando il server.

Puoi accedere a maggiori informazioni su SELinux sulle loro pagine CentOS SELinux.