Protezione dei container mediante SELinux

Questa pagina mostra come proteggere i container abilitando SELinux. SELinux è supportato per Red Hat Enterprise Linux (RHEL). Se le macchine host sono che esegue RHEL e vuoi attivare SELinux per il tuo cluster, devi abilitare SELinux su tutti i tuoi computer host. A partire dal rilascio di Google Distributed Cloud 1.9.0, puoi abilitare o disabilitare SELinux prima o dopo la creazione del cluster degli upgrade dei cluster. Quando SELinux è abilitato sull'host, viene abilitato per dal runtime del container.

Controlla se SELinux è abilitato

SELinux è abilitato su RHEL per impostazione predefinita.

  • Per verificare, esegui:

    getenforce
    

Il comando restituisce Enforcing, Permissive o Disabled. Se restituisce Enforcing, quindi puoi eseguire l'upgrade o la creazione nei cluster.

Abilita SELinux

Se il comando getenforce restituisce Permissive, puoi passare a Enforcing utilizzando il comando setenforce. Passaggio da Permissive a Permissive La modalità Enforcing con setenforce non richiede il riavvio del sistema. Tuttavia, se se vuoi che le modifiche siano permanenti tra i riavvii, devi aggiornare /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, consigliamo di abilitarlo prima in prima in modalità Permissive, quindi riavvia il sistema per verificare che si avvii correttamente. Se non sono presenti errori SELinux, puoi passare da SELinux alla modalità Enforcing.

  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 SELinux, puoi attiva la modalità Enforcing:

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

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