4.22 référentiel de conformité pour les opérateurs

Consultez les résultats du benchmark Compliance Operator pour la version 4.22 d' Red Hat OpenShift on IBM Cloud.

1 Composants du plan de contrôle

1.1 Fichiers de configuration du noeud principal

La configuration du nœud maître n’est pas stockée sous forme d’ensemble de fichiers; par conséquent, les règles de la section 1.1 ne relèvent pas du champ d’application du contrôle automatisé effectué par l’opérateur de conformité.

1.2 Serveur API

Tests de performance pour le serveur API.
Section Recommandation Manuel/Automatique Niveau Résultat
1.2.1 Ensure que les requêtes anonymes sont autorisées. Automated 1 Not vérifié
1.2.2 Use Protocole HTTPS pour les connexions kubelet. Automated 1 Pass
1.2.3 Ensure que le kubelet utilise des certificats pour l'authentification. Automated 1 Pass
1.2.4 Verify Vérifiez que l'autorité de certification du kubelet est correctement configurée. Automated 1 Pass
1.2.5 Ensure que l'argument --authorization-mode n'est pas défini sur AlwaysAllow. Automated 1 Pass
1.2.6 Verify que le RBAC est activé. Automated 1 Pass
1.2.7 Ensure que la fonctionnalité feature APIPriorityAndFairness gate est activée. Manual 1 INHERENTLY MET
1.2.8 Ensure que le plug-in de contrôle d'accès n'est AlwaysAdmit pas configuré. Automated 1 Pass
1.2.9 Ensure que le plug-in de contrôle d'accès n'est AlwaysPullImages pas configuré. Automated 1 Pass
1.2.10 Ensure que le plug-in de contrôle d'accès ServiceAccount soit configuré. Automated 1 Pass
1.2.11 Ensure que le plug-in de contrôle d'accès NamespaceLifecycle soit configuré. Automated 1 Pass
1.2.12 Ensure que le plug-in de contrôle d’accès SecurityContextConstraint est configuré. Automated 1 Pass
1.2.13 Ensure que le plug-in de contrôle d'accès NodeRestriction est configuré. Automated 1 Pass
1.2.14 Ensure que l'argument --insecure-bind-address n'est pas défini. Automated 1 Pass
1.2.15 Ensure que l'argument --insecure-port est défini sur 0. Manual 1 INHERENTLY MET
1.2.16 Ensure que l'argument --secure-port ne soit pas défini sur 0. Automated 1 Pass
1.2.17 Ensure que le point healthz de terminaison est protégé par le RBAC. Automated 1 Not vérifié
1.2.18 Ensure que l'argument --audit-log-path soit défini. Automated 1 Pass
1.2.19 Ensure que les journaux d'audit soient transférés hors du cluster à des fins de conservation. Automatique 1 Non [vérifié
1.2.20 Ensure que l'argument maximumRetainedFiles soit défini sur ou 10 selon le cas. Automatique 1 Non [vérifié
1.2.21 Configure Kubernetes Taille maximale du journal d'audit du serveur API. Automated 1 Not vérifié
1.2.22 Ensure que l'argument --request-timeout soit défini. Automated 1 Pass
1.2.23 Ensure que l'argument --service-account-lookup soit défini sur true. Automated 1 Pass
1.2.24 Ensure que l'argument --service-account-key-file soit défini correctement. Automated 1 Pass
1.2.25 Ensure que les arguments --etcd-keyfile et --etcd-certfile soient définis correctement. Automated 1 Pass
1.2.26 Ensure que les arguments --tls-private-key-file et --tls-cert-file soient définis de manière appropriée. Automated 1 Pass
1.2.27 Ensure que l'argument --client-ca-file soit défini de manière appropriée. Automated 1 Pass
1.2.28 Ensure que l'argument --etcd-cafile soit défini de manière appropriée. Automated 1 Pass
1.2.29 Ensure que les fournisseurs de chiffrement sont correctement configurés. Automatique 1 Non [vérifié
1.2.30 Ensure que le serveur API utilise exclusivement des algorithmes de chiffrement puissants. Vérification effectuée sur Automated 1 Not
1.2.31 Ensure Les modifications de configuration non prises en charge ne sont pas utilisées. Manual 1 Pass

1.3 Gestionnaire de contrôleurs

Tests de performance pour le gestionnaire de contrôleurs.
Section Recommandation Manuel/Automatique Niveau Résultat
1.3.1 Ensure Les points healthz de terminaison du gestionnaire de contrôleurs sont protégés par le modèle RBAC. Automated 1 Not vérifié
1.3.2 Ensure que l'argument --use-service-account-credentials soit défini sur true. Automated 1 Pass
1.3.3 Ensure que l'argument --service-account-private-key-file soit défini de manière appropriée. Automated 1 Pass
1.3.4 Ensure que l'argument --root-ca-file soit défini de manière appropriée. Automated 1 Pass

1.4 Planificateur

Tests de performance pour le planificateur.
Section Recommandation Manuel/Automatique Niveau Résultat
1.4.1 Ensure que les points healthz de terminaison du planificateur sont protégés par le RBAC. Automated 1 Not vérifié
1.4.2 Verify Le service API du planificateur est protégé par le modèle RBAC. Automated 1 Not vérifié

2 Etcd

Tests de performance d' etcd.
Section Recommandation Manuel/Automatique Niveau Résultat
2.1 Ensure que les arguments --key-file et --cert-file soient définis de manière appropriée. Automated 1 Pass
2.2 Ensure que l'argument --client-cert-auth soit défini sur true. Automated 1 Pass
2.3 Ensure que l'argument --auto-tls n'est pas défini sur true. Automated 1 Pass
2.4 Ensure que les arguments --peer-key-file et --peer-cert-file soient définis de manière appropriée. Automated 1 Pass
2.5 Ensure que l’argument --peer-client-cert-auth soit défini sur true. Automated 1 Pass
2.6 Ensure que l'argument --peer-auto-tls n'est pas défini sur true. Automated 1 Pass
2.7 Ensure qu'une autorité de certification unique est utilisée pour etcd. Automatique 2 Non [vérifié

3 Configuration du plan de contrôle

3.1 Authentification et autorisation

Références en matière d’authentification et d’autorisation.
Section Recommandation Manuel/Automatique Niveau Résultat
3.1.1 Client L'authentification par certificat ne doit pas être utilisée pour les utilisateurs. Automated 2 Pass

3.2 Journalisation

Tests de performance pour la journalisation.
Section Recommandation Manuel/Automatique Niveau Résultat
3.2.1 Ensure qu'une politique d'audit minimale soit mise en place. Automated 1 Not vérifié
3.2.2 Ensure que la politique d'audit couvre les principaux enjeux de sécurité. Automated 2 Not vérifié

4 nœuds de travail

4.1 Fichiers de configuration de noeud worker

Références pour les fichiers de configuration des nœuds de travail.
Section Recommandation Manuel/Automatique Niveau Résultat
4.1.1 Ensure Vérifiez que les droits d'accès au fichier de service du kubelet sont définis sur ou 644 un niveau plus restrictif. Automated 1 Pass
4.1.2 Ensure que la propriété du fichier de service kubelet est définie sur root:root. Automated 1 Pass
4.1.3 If proxy kube : si le fichier de configuration du proxy existe, assurez-vous que les autorisations sont définies sur ou 644 plus restrictives. Automated 1 Not vérifié
4.1.4 If Si le fichier kubeconfig proxy existe, assurez-vous que le propriétaire est bien défini sur root:root. Automated 1 Not vérifié
4.1.5 Ensure Vérifiez que le propriétaire du fichier kubelet.conf --kubeconfig`` kubelet.conf file permissions are set to 644 or more restrictive. Automated 1 Pass
4.1.6 Ensure that the --kubeconfig`` est bien défini sur root:root. Automated 1 Pass
4.1.7 Ensure que les autorisations d'accès aux fichiers des autorités de certification soient définies sur 644 ou un niveau plus restrictif. Automated 1 Pass
4.1.8 Ensure que la propriété du fichier des autorités de certification client est définie sur root:root. Automated 1 Pass
4.1.9 Ensure que le fichier de configuration --config du kubelet dispose de droits d'accès définis sur ou 600 plus restrictifs. Automated 1 Pass
4.1.10 Ensure que le propriétaire du fichier de configuration du kubelet est défini sur root:root. Automated 1 Pass

4.2 Kubelet

Tests de performances pour kubelet.
Section Recommandation Manuel/Automatique Niveau Résultat
4.2.1 Activate Le ramasse-miettes dans OpenShift Container Platform e 4, selon le cas. Automated 1 Pass
4.2.2 Ensure que l'argument --anonymous-auth soit défini sur false. Automated 1 Pass
4.2.3 Ensure que l'argument --authorization-mode n'est pas défini sur AlwaysAllow. Automated 1 Pass
4.2.4 Ensure que l'argument --client-ca-file soit défini de manière appropriée. Automated 1 Pass
4.2.5 Verify que le port en lecture seule n'est pas utilisé ou est défini sur 0. Automated 1 Pass
4.2.6 Ensure que l'argument --streaming-connection-idle-timeout ne soit pas défini sur 0. Automated 1 Pass
4.2.7 Ensure que l’argument --make-iptables-util-chains soit défini sur true. Automated 1 Pass
4.2.8 Ensure que l’argument kubeAPIQPS[--event-qps] soit défini à un niveau garantissant une capture appropriée des événements. Automated 2 Pass
4.2.9 Ensure que les arguments --tls-private-key-file et --tls-cert-file soient définis de manière appropriée. Automated 1 Pass
4.2.10 Ensure que l'argument --rotate-certificates ne soit pas défini sur false. Automated 1 Pass
4.2.11 Verify que l'argument RotateKubeletServerCertificate soit défini sur true. Automated 1 Pass
4.2.12 Ensure que le Kubelet utilise exclusivement des algorithmes de chiffrement robustes. Automated 1 Pass

5 Politiques

5.1 RBAC et comptes de service

Benchmarks pour le RBAC et les comptes de service.
Section Recommandation Manuel/Automatique Niveau Résultat
5.1.1 Ensure que le rôle cluster-admin ne soit utilisé qu'en cas de nécessité. Manual 1 MANUAL
5.1.2 Minimize Accès aux secrets. Manual 1 MANUAL
5.1.3 Minimize Utilisation des caractères génériques dans et Roles ClusterRoles. Manual 1 MANUAL
5.1.4 Minimize Accès pour créer des pods. Manual 1 MANUAL
5.1.5 Ensure que les comptes de service par défaut ne sont pas utilisés activement. Manual 1 MANUAL
5.1.6 Ensure que les jetons de compte de service ne soient montés que lorsque cela est nécessaire. Manual 1 MANUAL

5.2 Contraintes liées au contexte de sécurité

Critères de référence pour les contraintes liées au contexte de sécurité.
Section Recommandation Manuel/Automatique Niveau Résultat
5.2.1 Minimize l'admission de conteneurs privilégiés. Manual 1 MANUAL
5.2.2 Minimize l'admission des conteneurs souhaitant partager l'espace de noms d'ID de processus de l'hôte. Manual 1 MANUAL
5.2.3 Minimize l'admission des conteneurs souhaitant partager l'espace de noms IPC de l'hôte. Manual 1 MANUAL
5.2.4 Minimize l'admission des conteneurs souhaitant partager l'espace de noms réseau de l'hôte. Manual 1 MANUAL
5.2.5 Minimize L'intégration des conteneurs avec allowPrivilegeEscalation. Manual 1 MANUAL
5.2.6 Minimize L'admission des conteneurs root. Manual 2 MANUAL
5.2.7 Minimize l'admission des conteneurs dotés de la capacité NET_RAW. Manual 1 MANUAL
5.2.8 Minimize l'intégration de conteneurs dotés de fonctionnalités supplémentaires. Automatisé 1 Non [vérifié
5.2.9 Minimize l'admission de conteneurs auxquels des capacités ont été attribuées. Manual 2 MANUAL
5.2.10 Minimize Accès aux contraintes de contexte de sécurité privilégiées. Manual 2 MANUAL

5.3 Politiques du réseau et CNI

Tests de performance pour les politiques réseau et le CNI.
Section Recommandation Manuel/Automatique Niveau Résultat
5.3.1 Ensure Vérifier que le CNI utilisé prend en charge les politiques réseau. Automated 1 Not vérifié
5.3.2 Ensure que tous les espaces de noms disposent de politiques réseau définies. [ Manuel 2 MANUEL

5.4 Gestion des secrets

Critères de référence pour la gestion des secrets.
Section Recommandation Manuel/Automatique Niveau Résultat
5.4.1 Prefer Privilégier l'utilisation de secrets sous forme de fichiers plutôt que sous forme de variables d'environnement. Manual 1 MANUAL
5.4.2 Consider stockage externe des données confidentielles. Manual 2 MANUAL

5.5 Contrôle d'admission extensible

Critères de référence pour un contrôle d'accès extensible.
Section Recommandation Manuel/Automatique Niveau Résultat
5.5.1 Configure Provenance des images à l'aide des paramètres de configuration du contrôleur d'images. Vérification de l' Automated 2 Not

5.7 Politiques générales

Références pour les politiques générales.
Section Recommandation Manuel/Automatique Niveau Résultat
5.7.1 Create Délimiter administrativement les ressources à l'aide d'espaces de noms. Manual 1 MANUAL
5.7.2 Ensure Assurez-vous que le profil seccomp est défini sur docker/default dans vos définitions de pods. Manual 2 MANUAL
5.7.3 Apply Contexte de sécurité de vos pods et conteneurs. Manual 2 MANUAL
5.7.4 The L'espace de noms par défaut ne doit pas être utilisé. Manual 2 MANUAL

IBM Résolutions et explications

Détails concernant les mesures correctives et les explications relatives à IBM
Section Recommandations/Explications
1.2.19 Red OpenShift, de Hat, explique sur IBM Cloud qu’il est possible d’activer l’audit du serveur API Kubernetes.
1.2.20 Red L' OpenShift Hat sur IBM Cloud définit le paramètre argument maximumRetainedFiles sur 1.
1.2.29 Red OpenShift, responsable de la division IBM, explique que le cloud peut, en option, activer un fournisseur de service de gestion des clés (KMS) Kubernetes.
2.7 Red OpenShift, de Hat, explique sur IBM Cloud comment configurer une autorité de certification unique pour etcd.
5.2.8 Red OpenShift s sur les chapeaux sur IBM Cloud installe des SCCs.
5.3.2 Red OpenShift s sur IBM Cloud dispose d'un ensemble de politiques réseau Calico par défaut, auxquelles il est possible d'ajouter des politiques réseau supplémentaires.