Proteger seus contêineres usando o SELinux

Nesta página, mostramos como proteger seus contêineres ativando o SELinux. O SELinux é compatível com o RHEL e o CentOS. Se as máquinas host estiverem executando o RHEL ou o CentOS e você quiser ativar o SELinux no cluster, ative o SELinux em todas as máquinas host. A partir da versão Bare Metal do GDCV 1.9.0, é possível ativar ou desativar o SELinux antes ou depois da criação do cluster ou dos upgrades de 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 é ativado no RHEL e no CentOS 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 do SELinux, ative 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.