Questa pagina mostra come proteggere i container abilitando SELinux. SELinux è supportato da RHEL e CentOS. Se le tue macchine host eseguono RHEL o CentOS e vuoi abilitare SELinux per il tuo cluster, devi abilitare SELinux in tutte le macchine host. A partire dalla release 1.9.0 di GKE su Bare Metal, puoi abilitare o disabilitare SELinux prima o dopo la creazione o l'upgrade del cluster. Quando SELinux è abilitato sull'host, viene attivato per il runtime del container.
Controlla se SELinux è abilitato
SELinux è abilitato su RHEL e CentOS per impostazione predefinita. Per eseguire la verifica, 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
. Il passaggio dalla modalità Permissive
alla modalità Enforcing
e viceversa utilizzando setenforce
non richiede il riavvio del sistema. Tuttavia, se vuoi che le modifiche rimangano persistenti tra un riavvio e l'altro, 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 di riavviare il sistema per verificare che si avvii correttamente. Se non ci sono errori SELinux, puoi tranquillamente passare alla modalità Enforcing
di SELinux.
Facoltativo: attiva SELinux in modalità
Permissive
:$ sudo sed -i 's/SELINUX=disabled/SELINUX=permissive/g' /etc/selinux/config $ sudo reboot
Se il sistema si riavvia correttamente senza errori SELinux, puoi attivare la modalità
Enforcing
:$ sudo sed -i 's/SELINUX=disabled/SELINUX=enforcing/g' /etc/selinux/config $ sudo reboot
Dopo aver attivato SELinux in modalità Enforcing
, SELinux viene abilitato per tutti i processi sull'host, incluso il runtime del container.