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
| 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
| 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
| 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
| 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.2 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
| 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
| 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
| 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é
| 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
| 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
| 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
| 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
| 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
| 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. |