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 è attivato sull'host, lo è anche per il runtime del contenitore.

Verifica se SELinux è abilitato

SELinux è attivo su RHEL per impostazione predefinita.

  • Per verificare, 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 a Enforcing utilizzando il comando setenforce. Il passaggio dalla modalità Permissive alla modalità Enforcing utilizzando 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 attivarlo ti consigliamo di attivarlo prima in modalità Permissive e di riavviare il sistema per verificare che l'avvio sia andato a buon fine. Se non sono presenti errori SELinux, puoi impostare in sicurezza SELinux su modalità Enforcing.

  1. (Facoltativo) Abilita 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 attivato in modalità Enforcing, SELinux viene attivato per tutti i processi sull'host, incluso il runtime del contenitore.