Kubernetes politiques dans DevOps Config

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 5 minutes de lecture
  • Par défaut, le DevOps Config pack de contenu Policy contient un ensemble de politiques pour valider votre Kubernetes configuration.

    Important :
    DevOps Config est désormais obsolète et n’est plus pris en charge ni disponible pour une nouvelle activation.
    Vous pouvez utiliser ou personnaliser ces politiques par défaut DevOps Config pour valider que le contenu de vos données de configuration est conforme, ou Administrer le cycle de vie complet de PaCE politiques.
    Remarque :
    Vous ne pouvez pas modifier les politiques par défaut. Toutefois, vous pouvez faire une copie de la politique et personnaliser votre copie.
    Tableau 1. Navigation dans la première lettre des polices sur cette page

    Un | B | C | D | J | K | M | N | P | R | L | L

    Toujours extraire des images Le module d’extension de contrôle d’admission est activé (container_always_pull_images_plugin_is_enabled)

    Vérifie si le module d’extension du contrôleur d’admission AlwaysPullImages est activé pour le serveur d’API Kubernetes .

    Entraîne un statut non conforme lorsque le module d’extension AlwaysPullImages n’est pas spécifié avec l’argument --enable-admission-plugins lors de l’utilisation de la commande kube-apiserver .

    Le fichier d’authentification de base n’est pas défini (container_basic_auth_file_is not_set)

    Vérifie si le serveur d’API n’utilise Kubernetes pas le mécanisme d’authentification utilisateur de base.

    Entraîne un statut non conforme lorsque l’argument --basic-auth-file est spécifié pour un conteneur lors de l’utilisation de la commande kube-apiserver .

    L’adresse de liaison n’est pas définie (container_bind_address_not_set_to_localhost)

    Vérifie si l’adresse de liaison du planificateur ou Kubernetes du Kubernetes gestionnaire de contrôleur n’est pas 127.0.0.1.

    Entraîne un statut non conforme lorsque l’argument --bind-address est défini sur 127.0.0.1 pour un conteneur lors de l’utilisation de la commande kube-controller-manager ou kube-scheduler .

    Les conteneurs ne s’exécutent pas avec un UID faible (container_uid_minimum_limit)

    Vérifie si l’UID de chaque conteneur d’un Kubernetes pod est supérieur ou égal à la valeur d’UID minimum spécifiée.

    Entraîne un statut non conforme si l’UID défini pour un conteneur est inférieur à la valeur d’UID minimum. Si l’UID n’est pas défini pour un conteneur, l’UID du pod associé est validé.

    Argument d’entrée
    min_uid
    • La valeur UID minimum requise pour les conteneurs dans un pod.
    • Valeur par défaut : 10000
    • Type : entier
    • Obligatoire : faux

    Les conteneurs nécessitent des options de dépôt (container_requires_drop_capabilities)

    Vérifie si les options de dépôt sont définies pour les conteneurs d’un Kubernetes pod.

    Entraîne un statut non conforme lorsque les options de dépôt d’un conteneur ne sont pas définies.

    Les conteneurs s’exécutent en tant qu’utilisateur non racine (container_run_as_nonroot_user)

    Vérifie si les conteneurs d’un Kubernetes pod s’exécutent uniquement en tant qu’utilisateur non racine pour limiter l’exploitabilité d’une mauvaise configuration de sécurité et restreindre les possibilités d’un attaquant en cas de compromission.

    Entraîne un statut non conforme lorsque la clé runAsNonRoot d’un conteneur est définie sur faux ou lorsque l’ID d’utilisateur (UID) d’un conteneur est zéro.

    Exécution des conteneurs sans accès privilégié (container_is_not_privileged)

    Vérifie si les conteneurs dans un Kubernetes pod sont exécutés sans accès privilégié.

    Entraîne un statut non conforme lorsque le champ privilégié pour un conteneur est défini sur vrai.

    Les conteneurs sont exécutés sans la fonctionnalité d’administrateur système (container_is_without_sys_admin_capability)

    Vérifie si les conteneurs dans un Kubernetes pod sont exécutés sans la capacité SYS_ADMIN.

    Entraîne un statut non conforme lorsque les privilèges de SYS_ADMIN sont affectés à un conteneur.

    Les demandes de processeur sont dans les limites (container_cpu_request_within _limits)

    Vérifie si les conteneurs d’un Kubernetes pod demandent les ressources de l’unité centrale (CPU) dans la limite de CPU spécifiée.

    Entraîne un statut non conforme lorsque la clé limits.cpu n’est pas définie ou lorsque la valeur de la clé requests.cpu dépasse la valeur de la clé limits.cpu .

    Le socket du démon Docker n’est pas exposé (docker_daemon_socket_not_exposed)

    Vérifie si le socket démon de Docker n’est pas exposé aux conteneurs.

    Entraîne un statut non conforme lorsque la clé hostPath.path pour un volume est définie sur /var/run/docker.sock.

    La politique d’extraction d’images est toujours (container_imagePullPolicy_is_always)

    Vérifie si le champ imagePullPolicy de chaque conteneur d’un Kubernetes pod est défini sur Toujours.

    Entraîne un statut non conforme si le champ imagePullPolicy n’est pas défini ou si le critère Toujours n’est pas respecté.

    L’adresse de liaison non sécurisée n’est pas définie (container_insecure_bind_address_is_not_set)

    Vérifie si le serveur d’API Kubernetes ne se lie pas à une adresse non sécurisée qui, autrement, pourrait permettre aux attaquants de se connecter au serveur via le port non sécurisé et potentiellement de lire des données sensibles en transit.

    Entraîne un statut non conforme lorsque l’argument insecure-bind-address est spécifié lors de l’utilisation de la commande kube-apiserver .

    Kubelet HTTPS est vrai (container_kubelet_https_is_true)

    Vérifie si les connexions entre le serveur d’API Kubernetes et le kubelet utilisent le protocole HTTPS pour sécuriser le transfert de données.

    Entraîne un statut non conforme lorsque l’argument kubelet-https est défini sur faux lors de l’utilisation de la commande kube-apiserver .

    Les demandes de mémoire sont comprises dans les limites (container_memory_request_within _limits)

    Vérifie si les conteneurs d’un Kubernetes pod consomment des ressources dans la limite de mémoire spécifiée.

    Entraîne un statut non conforme lorsque la clé limits.memory n’est pas définie ou lorsque la valeur de la clé requests.memory dépasse la valeur de la clé limits.memory .

    Aucun caractère générique dans la règle RBAC (rbac_no_wildcard_in_rule)

    Vérifie que les ressources Rôle et ClusterRole n’utilisent pas de caractères génériques pour désigner des objets ou des actions pour la règle de contrôle d’accès basé sur les rôles (RBAC).

    Renvoie un statut non conforme lorsque les caractères génériques sont utilisés dans apiGroups, les ressources ou les verbes pour la règle RBAC.

    Escalade de privilège non autorisée (container_privilege_escalation_not_allowed)

    Vérifie si les conteneurs dans un Kubernetes pod ont des privilèges inférieurs à ceux de leur processus parent.

    Entraîne un statut non conforme lorsque la clé allowPrivilegeEscalation d’un conteneur est définie sur vrai ou pas défini.

    Conteneurs racines admis (container_read_only_root_file_system)

    Vérifie si le système de fichiers racine des conteneurs d’un Kubernetes pod est défini sur lecture seule.

    Renvoie un statut non conforme lorsque la clé readOnlyRootFilesystem pour un conteneur n’est pas définie ou est définie sur faux.

    Le profil Seccomp est configuré (container_seccomp_profile_is_configured )

    Vérifie si les conteneurs d’un pod Kubernetes sont configurés avec un profil de mode de calcul sécurisé (seccomp) pour restreindre les appels système potentiellement dangereux (syscalls).

    Entraîne un statut non conforme lorsque la clé seccompProfile.type d’un conteneur n’est pas définie ou est définie sur une valeur autre que Localhost ou RuntimeDefault.

    Le fichier de clé privée du compte de service est spécifié (container_service_account_private_key_file_is_specified)

    Vérifie si l’argument --service-account-private-key-file est spécifié avec la commande kube-controller-manager pour un conteneur.

    Entraîne un statut non conforme lorsque l’argument --service-account-private-key-file n’est pas spécifié pour un conteneur lors de l’utilisation de la commande kube-controller-manager .

    Le port sécurisé n’est pas défini sur zéro (container_secure_port_not_set_to_zero)

    Vérifie si le serveur d’API n’utilise pas le Kubernetes port 0 pour l’authentification et l’autorisation HTTPS.

    Entraîne un statut non conforme lorsque l’argument --secure-port est défini sur 0 pour un conteneur lors de l’utilisation de la commande kube-apiserver .

    Le fichier d’authentification de jeton n’est pas défini (token_auth_file_is_not_set)

    Vérifie si le serveur d’API n’utilise pas un fichier de jeton statique pour l’authentification Kubernetes utilisateur.

    Entraîne un statut non conforme lorsque l’argument token-auth-file est spécifié lors de l’utilisation de la commande kube-apiserver .