En esta página se muestra cómo proteger tus contenedores mediante la habilitación de SELinux. SELinux es compatible con RHEL y CentOS. Si tus máquinas host ejecutan RHEL o CentOS y deseas habilitar SELinux para tu clúster, debes habilitar SELinux en todas tus máquinas anfitrión. A partir de la versión 1.9.0 de GKE en Bare Metal, puedes habilitar o inhabilitar SELinux antes o después de la creación del clúster o las actualizaciones del clúster. Cuando SELinux está habilitado en el host, está habilitado para el entorno de ejecución del contenedor.
Comprueba si SELinux está habilitado
SELinux está habilitado en RHEL y CentOS de forma predeterminada. Para verificarlo, ejecute el siguiente comando:
$ getenforce
El comando muestra Enforcing
, Permissive
o Disabled
. Si el comando muestra Enforcing
, puedes continuar con la actualización o la creación de tus clústeres.
Habilita SELinux
Si el comando getenforce
muestra Permissive
, puedes cambiar al modo Enforcing
con el comando setenforce
. Activar o desactivar el modo Permissive
y Enforcing
mediante setenforce
no requiere que se reinicie el sistema. Sin embargo, si deseas que los cambios sean persistentes en todos los reinicios, debes actualizar el archivo /etc/selinux/config
.
Para cambiar al modo Enforcing
, ejecuta lo siguiente:
$ sudo setenforce 1 # temporary
$ sudo sed -i 's/SELINUX=permissive/SELINUX=enforcing/g' /etc/selinux/config # persistent - after reboot
Si SELinux es Disabled
, para habilitarlo, primero debes habilitarlo en el modo Permissive
y reiniciar el sistema a fin de verificar que el sistema se inicie correctamente. Si no hay errores de SELinux, puedes cambiar SELinux de forma segura al modo Enforcing
.
Opcional: Habilita SELinux en el modo
Permissive
:$ sudo sed -i 's/SELINUX=disabled/SELINUX=permissive/g' /etc/selinux/config $ sudo reboot
Si el sistema se reinicia de forma correcta 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 está habilitado en modo Enforcing
, SELinux se habilita para todos los procesos en el host, incluido el entorno de ejecución del contenedor.