Sécuriser vos conteneurs à l'aide de SELinux

Cette page explique comment sécuriser vos conteneurs en activant SELinux. SELinux est compatible avec Red Hat Enterprise Linux (RHEL). 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 Google Distributed Cloud, vous pouvez activer ou désactiver SELinux avant ou après la création des clusters, ou leurs mises à niveau. 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.

  • 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.

  1. Facultatif : Activez SELinux en mode Permissive :

      sudo sed -i 's/SELINUX=disabled/SELINUX=permissive/g' /etc/selinux/config
      sudo reboot
    
  2. 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.