Proteger os contêineres usando o SELinux

Nesta página, mostramos como proteger seus contêineres ativando o SELinux. O SELinux é compatível com o Red Hat Enterprise Linux (RHEL). Se as máquinas host estiverem executando o RHEL e você quiser ativar o SELinux para o cluster, ative o SELinux em todas as máquinas host. A partir da versão 1.9.0 do Google Distributed Cloud, é possível ativar ou desativar o SELinux antes ou depois da criação ou dos upgrades do cluster. Quando o SELinux está ativado no host, ele é ativado para o ambiente de execução do contêiner.

Verificar se o SELinux está ativado

O SELinux está ativado no RHEL por padrão.

  • Para verificar isso, execute:

    getenforce
    

O comando retorna Enforcing, Permissive ou Disabled. Se o comando retornar Enforcing, será possível continuar com o upgrade ou a criação dos clusters.

Ativar o SELinux

Se o comando getenforce retornar Permissive, use o comando setenforce para alternar para o modo Enforcing. Alternar entre os modos Permissive e Enforcing usando setenforce não requer uma reinicialização do sistema. No entanto, se você quiser que as alterações sejam persistentes nas reinicializações, será necessário atualizar o arquivo /etc/selinux/config.

  • Para alternar para o modo Enforcing, execute:

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

Se o SELinux for Disabled, para ativá-lo, recomendamos ativá-lo primeiro no modo Permissive e reinicializar o sistema para verificar se o sistema foi inicializado. Se não houver erros do SELinux, você poderá alternar com segurança o modo SELinux para Enforcing.

  1. Opcional: ative o SELinux no modo Permissive:

      sudo sed -i 's/SELINUX=disabled/SELINUX=permissive/g' /etc/selinux/config
      sudo reboot
    
  2. Se o sistema for reinicializado sem erros de SELinux, você poderá ativar o modo Enforcing:

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

Depois que o SELinux é ativado no modo Enforcing, ele é ativado para todos os processos no host, incluindo o ambiente de execução do contêiner.