Cette page explique comment sécuriser vos conteneurs en activant SELinux. SELinux est compatible avec RHEL et CentOS. Si vos machines hôtes exécutent RHEL ou CentOS et que vous souhaitez activer SELinux pour votre cluster, vous devez activer SELinux sur toutes vos machines hôtes. À partir de la version 1.9.0 de GKE sur Bare Metal, vous pouvez activer ou désactiver SELinux avant ou après la création ou la mise à niveau du cluster. Lorsque SELinux est activé sur l'hôte, il est activé pour l'environnement d'exécution du conteneur.
Vérifier si SELinux est activé
SELinux est activé par défaut sur RHEL et CentOS. Pour le vérifier, exécutez la commande suivante :
$ getenforce
La commande renvoie Enforcing
, Permissive
ou Disabled
. Si la commande renvoie Enforcing
, vous pouvez procéder à la mise à niveau ou à la création de vos clusters.
Activer SELinux
Si la commande getenforce
renvoie Permissive
, vous pouvez passer en mode Enforcing
à l'aide de la commande setenforce
. Le passage de Permissive
à Enforcing
à l'aide du mode setenforce
ne nécessite pas de redémarrage du système. Toutefois, si vous souhaitez que les modifications soient persistantes lors des redémarrages, vous devez mettre à jour le fichier /etc/selinux/config
.
Pour passer en mode Enforcing
, exécutez la commande suivante :
$ sudo setenforce 1 # temporary
$ sudo sed -i 's/SELINUX=permissive/SELINUX=enforcing/g' /etc/selinux/config # persistent - after reboot
Si SELinux est défini sur Disabled
, nous vous recommandons de l'activer d'abord en mode Permissive
, puis de redémarrer le système pour vérifier qu'il démarre correctement. S'il n'y a pas d'erreur SELinux, vous pouvez passer en toute sécurité SELinux en mode Enforcing
.
Facultatif : Activez SELinux en mode
Permissive
:$ sudo sed -i 's/SELINUX=disabled/SELINUX=permissive/g' /etc/selinux/config $ sudo reboot
Si le système redémarre correctement sans erreur SELinux, vous pouvez activer le mode
Enforcing
:$ sudo sed -i 's/SELINUX=disabled/SELINUX=enforcing/g' /etc/selinux/config $ sudo reboot
Une fois que SELinux est activé en mode Enforcing
, SELinux est activé pour tous les processus de l'hôte, y compris l'environnement d'exécution du conteneur.