En esta página se explica cómo proteger los contenedores habilitando SELinux. SELinux es compatible con Red Hat Enterprise Linux (RHEL). Si tus máquinas host ejecutan RHEL y quieres habilitar SELinux en tu clúster, debes habilitar SELinux en todas tus máquinas host. A partir de la versión 1.9.0 de Google Distributed Cloud, puedes habilitar o inhabilitar SELinux antes o después de crear o actualizar un clúster. Cuando SELinux está habilitado en el host, también lo está en el tiempo de ejecución del contenedor.
Comprobar si SELinux está habilitado
SELinux está habilitado en RHEL de forma predeterminada.
Para verificarlo, ejecuta el siguiente comando:
getenforce
El comando devuelve Enforcing
, Permissive
o Disabled
. Si el comando devuelve Enforcing
, puede continuar con la actualización o la creación de sus clústeres.
Habilitar SELinux
Si el comando getenforce
devuelve Permissive
, puedes cambiar al modo Enforcing
con el comando setenforce
. Para alternar entre los modos Permissive
y Enforcing
con setenforce
, no es necesario reiniciar el sistema. Sin embargo, si quieres que los cambios se mantengan después de reiniciar el dispositivo, debes actualizar el archivo /etc/selinux/config
.
Para cambiar al modo
Enforcing
, ejecuta el siguiente comando:sudo setenforce 1 # temporary sudo sed -i 's/SELINUX=permissive/SELINUX=enforcing/g' /etc/selinux/config # persistent - after reboot
Si SELinux está Disabled
, para habilitarlo, te recomendamos que lo habilites primero en modo Permissive
y reinicies el sistema para verificar que se inicia correctamente. Si no hay errores de SELinux, puedes cambiar SELinux al modo Enforcing
sin problemas.
Opcional: habilita SELinux en modo
Permissive
:sudo sed -i 's/SELINUX=disabled/SELINUX=permissive/g' /etc/selinux/config sudo reboot
Si el sistema se reinicia correctamente sin errores de SELinux, puedes habilitar el modo
Enforcing
:sudo sed -i 's/SELINUX=disabled/SELINUX=enforcing/g' /etc/selinux/config sudo reboot
Una vez que SELinux se ha habilitado en el modo Enforcing
, se habilita para todos los procesos del host, incluido el tiempo de ejecución del contenedor.