Protezione dei container mediante SELinux

Questa pagina mostra come proteggere i container abilitando SELinux. SELinux è supportato per RHEL e CentOS. Se sulle tue macchine host sono in esecuzione RHEL o CentOS e vuoi abilitare SELinux per il tuo cluster, devi attivare SELinux su tutte le macchine host. A partire dalla versione GDCV per Bare Metal 1.9.0, puoi abilitare o disabilitare SELinux prima o dopo la creazione o l'upgrade del cluster. Quando SELinux è abilitato sull'host, è abilitato per il runtime del container.

Controlla se SELinux è abilitato

SELinux è abilitato su RHEL e CentOS per impostazione predefinita. Per verificarlo, esegui:

$ getenforce

Il comando restituisce Enforcing, Permissive o Disabled. Se il comando restituisce Enforcing, puoi procedere con l'upgrade o la creazione dei cluster.

Abilita SELinux

Se il comando getenforce restituisce Permissive, puoi passare alla modalità Enforcing utilizzando il comando setenforce. Per passare dalla modalità Permissive a Enforcing e viceversa utilizzando setenforce non è necessario riavviare il sistema. Tuttavia, se vuoi che le modifiche siano permanenti tra i riavvii, devi aggiornare il file /etc/selinux/config.

Per passare alla modalità Enforcing, esegui:

$ sudo setenforce 1 # temporary
$ sudo sed -i 's/SELINUX=permissive/SELINUX=enforcing/g' /etc/selinux/config # persistent - after reboot

Se SELinux è Disabled, per abilitarlo, ti consigliamo di abilitarlo prima in modalità Permissive e riavviare il sistema per verificare che si avvii correttamente. Se non sono presenti errori di SELinux, puoi passare tranquillamente alla modalità Enforcing di SELinux.

  1. Facoltativo: attiva SELinux in modalità Permissive:

    $ sudo sed -i 's/SELINUX=disabled/SELINUX=permissive/g' /etc/selinux/config
    $ sudo reboot
    
  2. Se il sistema si riavvia correttamente senza errori di SELinux, puoi attivare la modalità Enforcing:

    $ sudo sed -i 's/SELINUX=disabled/SELINUX=enforcing/g' /etc/selinux/config
    $ sudo reboot
    

Una volta attivato SELinux in modalità Enforcing, SELinux è abilitato per tutti i processi sull'host, incluso il runtime del container.