4.21 conformité opérateur benchmark
Examinez les résultats de l'analyse comparative de l'opérateur de conformité pour la version Red Hat OpenShift on IBM Cloud 4.21.
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 la forme d'un ensemble de fichiers; par conséquent, les règles de la section 1.1 sont hors du champ du contrôle automatisé effectué par l'opérateur de conformité.
1.2 Serveur API
| Section | Recommandation | Manuelle/Automatisée | Niveau | Résultat |
|---|---|---|---|---|
| 1.2.1 | Ensure que les demandes anonymes sont autorisées. | Automated | 1 | Not checked |
| 1.2.2 | Use https pour les connexions kubelet. | Automated | 1 | Pass |
| 1.2.3 | Ensure que le kubelet utilise des certificats pour s'authentifier. | Automated | 1 | Pass |
| 1.2.4 | Verify que l'autorité de certification du kubelet est paramétrée comme il se doit. | 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 la fonction RBAC est activée. | Automated | 1 | Pass |
| 1.2.7 | Ensure que la fonction APIPriorityAndFairness est activée. |
Manual | 1 | INHERENTLY MET |
| 1.2.8 | Ensure que le plug-in de contrôle d'admission AlwaysAdmit n'est pas activé. |
Automated | 1 | Pass |
| 1.2.9 | Ensure que le plug-in de contrôle d'admission AlwaysPullImages n'est pas activé. |
Automated | 1 | Pass |
| 1.2.10 | Ensure que le plug-in de contrôle d'admission ServiceAccount est activé. |
Automated | 1 | Pass |
| 1.2.11 | Ensure que le plug-in de contrôle d'admission NamespaceLifecycle est activé. |
Automated | 1 | Pass |
| 1.2.12 | Ensure que le plug-in de contrôle d'admission SecurityContextConstraint est activé. |
Automated | 1 | Pass |
| 1.2.13 | Ensure que le plug-in de contrôle d'admission NodeRestriction est activé. |
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 fixé à 0. |
Manual | 1 | INHERENTLY MET |
| 1.2.16 | Ensure que l'argument --secure-port n'est pas fixé à 0. |
Automated | 1 | Pass |
| 1.2.17 | Ensure que le point de terminaison healthz est protégé par RBAC. |
Automated | 1 | Not checked |
| 1.2.18 | Ensure que l'argument --audit-log-path est défini. |
Automated | 1 | Pass |
| 1.2.19 | Ensure que les journaux d'audit sont transférés hors du cluster pour être conservés. | Automatisé | 1 | Non [coché |
| 1.2.20 | Ensure que l'argument maximumRetainedFiles soit défini comme 10 ou comme il convient. |
Automatisé | 1 | Non [vérifié |
| 1.2.21 | Configure Kubernetes Taille maximale du journal d'audit du serveur API. | Automated | 1 | Not checked |
| 1.2.22 | Ensure que l'argument --request-timeout est défini. |
Automated | 1 | Pass |
| 1.2.23 | Ensure que l'argument --service-account-lookup est défini comme vrai. |
Automated | 1 | Pass |
| 1.2.24 | Ensure que l'argument --service-account-key-file est défini comme il convient. |
Automated | 1 | Pass |
| 1.2.25 | Ensure que les arguments --etcd-certfile et --etcd-keyfile sont définis comme il se doit. |
Automated | 1 | Pass |
| 1.2.26 | Ensure que les arguments --tls-cert-file et --tls-private-key-file sont définis comme il se doit. |
Automated | 1 | Pass |
| 1.2.27 | Ensure que l'argument --client-ca-file est défini comme il convient. |
Automated | 1 | Pass |
| 1.2.28 | Ensure que l'argument --etcd-cafile est défini comme il convient. |
Automated | 1 | Pass |
| 1.2.29 | Ensure que les fournisseurs de cryptage sont configurés de manière appropriée. | Automatisé | 1 | Non [coché |
| 1.2.30 | Ensure que le serveur API n'utilise que des codes cryptographiques forts. | Automated | 1 | Not checked |
| 1.2.31 | Ensure les dérogations de configuration non prises en charge ne sont pas utilisées. | Manual | 1 | Pass |
1.3 Gestionnaire de contrôleurs
| Section | Recommandation | Manuelle/Automatisée | Niveau | Résultat |
|---|---|---|---|---|
| 1.3.1 | Ensure que les points de terminaison du gestionnaire de contrôleur healthz sont protégés par RBAC. |
Automated | 1 | Not vérifié |
| 1.3.2 | Ensure que l'argument --use-service-account-credentials est défini comme vrai. |
Automated | 1 | Pass |
| 1.3.3 | Ensure que l'argument --service-account-private-key-file est défini comme il convient. |
Automated | 1 | Pass |
| 1.3.4 | Ensure que l'argument --root-ca-file est défini comme il convient. |
Automated | 1 | Pass |
1.4 Planificateur
| Section | Recommandation | Manuelle/Automatisée | Niveau | Résultat |
|---|---|---|---|---|
| 1.4.1 | Ensure que les points de terminaison healthz de l'ordonnanceur sont protégés par RBAC. |
Automated | 1 | Not vérifié |
| 1.4.2 | Verify que le service API du planificateur est protégé par RBAC. | Automated | 1 | Not checked |
2 Etcd
| Section | Recommandation | Manuelle/Automatisée | Niveau | Résultat |
|---|---|---|---|---|
| 2.1 | Ensure que les arguments --cert-file et --key-file sont définis comme il convient. |
Automated | 1 | Pass |
| 2.2 | Ensure que l'argument --client-cert-auth est défini comme vrai. |
Automated | 1 | Pass |
| 2.3 | Ensure que l'argument --auto-tls n'est pas défini comme vrai. |
Automated | 1 | Pass |
| 2.4 | Ensure que les arguments --peer-cert-file et --peer-key-file sont définis comme il convient. |
Automated | 1 | Pass |
| 2.5 | Ensure que l'argument --peer-client-cert-auth est défini comme vrai. |
Automated | 1 | Pass |
| 2.6 | Ensure que l'argument --peer-auto-tls n'est pas défini comme vrai. |
Automated | 1 | Pass |
| 2.7 | Ensure qu'une autorité de certification unique est utilisée pour etcd. | Automatisé | 2 | Non [vérifié |
3 Configuration du plan de contrôle
3.2 Journalisation
| Section | Recommandation | Manuelle/Automatisée | Niveau | Résultat |
|---|---|---|---|---|
| 3.2.1 | Ensure qu'une politique d'audit minimale est créée. | Automated | 1 | Not checked |
| 3.2.2 | Ensure que la politique d'audit couvre les principales préoccupations en matière de sécurité. | Automated | 2 | Not vérifié |
4 nœuds de travail
4.1 Fichiers de configuration de noeud worker
| Section | Recommandation | Manuelle/Automatisée | Niveau | Résultat |
|---|---|---|---|---|
| 4.1.1 | Ensure que les permissions du fichier du service kubelet sont réglées sur 644 ou sur une valeur plus restrictive. |
Automated | 1 | Pass |
| 4.1.2 | Ensure que la propriété du fichier du service kubelet est définie sur root:root. |
Automated | 1 | Pass |
| 4.1.3 | If proxy Le fichier de configuration du proxy kube existe, assurez-vous que les permissions sont réglées sur 644 ou sur une valeur plus restrictive. |
Automated | 1 | Not checked |
| 4.1.4 | If proxy kubeconfig file exists ensure ownership is set to root:root. |
Automated | 1 | Not checked |
| 4.1.5 | Ensure que la propriété du fichier --kubeconfig`` kubelet.conf file permissions are set to 644 or more restrictive. |
Automated | 1 | Pass |
| 4.1.6 | Ensure that the --kubeconfig`` kubelet.conf est réglée sur root:root. |
Automated | 1 | Pass |
| 4.1.7 | Ensure que les droits d'accès au fichier de l'autorité de certification sont réglés sur 644 ou sur une valeur plus restrictive. |
Automated | 1 | Pass |
| 4.1.8 | Ensure que la propriété du fichier de l'autorité de certification du client est définie sur root:root. |
Automated | 1 | Pass |
| 4.1.9 | Ensure que le fichier de configuration du kubelet --config a des permissions réglées sur 600 ou plus restrictives. |
Automated | 1 | Pass |
| 4.1.10 | Ensure que la propriété du fichier de configuration du kubelet est définie sur root:root. |
Automated | 1 | Pass |
4.2 Kubelet
| Section | Recommandation | Manuelle/Automatisée | Niveau | Résultat |
|---|---|---|---|---|
| 4.2.1 | Activate Collecte des déchets sur OpenShift Container Platform 4, le cas échéant. | Automated | 1 | Pass |
| 4.2.2 | Ensure que l'argument --anonymous-auth est défini comme faux. |
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 est défini comme il convient. |
Automated | 1 | Pass |
| 4.2.5 | Verify que le port en lecture seule n'est pas utilisé ou qu'il est fixé à 0. | Automated | 1 | Pass |
| 4.2.6 | Ensure que l'argument --streaming-connection-idle-timeout n'est pas fixé à 0. |
Automated | 1 | Pass |
| 4.2.7 | Ensure que l'argument --make-iptables-util-chains est défini comme vrai. |
Automated | 1 | Pass |
| 4.2.8 | Ensure que l'argument kubeAPIQPS [--event-qps] est fixé à un niveau garantissant une capture appropriée des événements. |
Automated | 2 | Pass |
| 4.2.9 | Ensure que les arguments --tls-cert-file et --tls-private-key-file sont définis comme il convient. |
Automated | 1 | Pass |
| 4.2.10 | Ensure que l'argument --rotate-certificates n'est pas défini comme faux. |
Automated | 1 | Pass |
| 4.2.11 | Verify que l'argument RotateKubeletServerCertificate est défini comme vrai. |
Automated | 1 | Pass |
| 4.2.12 | Ensure que le Kubelet n'utilise que des codes cryptographiques forts. | Automated | 1 | Pass |
5 Politiques
5.1 RBAC et comptes de service
| Section | Recommandation | Manuelle/Automatisée | Niveau | Résultat |
|---|---|---|---|---|
| 5.1.1 | Ensure que le rôle d'administrateur de cluster n'est utilisé qu'en cas de besoin. | Manual | 1 | MANUAL |
| 5.1.2 | Minimize l'accès aux secrets. | Manual | 1 | MANUAL |
| 5.1.3 | Minimize utilisation de caractères génériques dans Roles et ClusterRoles. |
Manual | 1 | MANUAL |
| 5.1.4 | Minimize pour créer des pods. | Manual | 1 | MANUAL |
| 5.1.5 | Ensure que les comptes de service par défaut ne sont pas activement utilisés. | Manual | 1 | MANUAL |
| 5.1.6 | Ensure que les jetons de compte de service ne sont montés qu'en cas de nécessité. | Manual | 1 | MANUAL |
5.2 Contraintes liées au contexte de sécurité
| Section | Recommandation | Manuelle/Automatisée | 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 de l'ID du processus 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 du réseau hôte. | Manual | 1 | MANUAL |
| 5.2.5 | Minimize l'admission de conteneurs à l'adresse allowPrivilegeEscalation. |
Manual | 1 | MANUAL |
| 5.2.6 | Minimize l'admission des conteneurs de racines. | Manual | 2 | MANUAL |
| 5.2.7 | Minimize l'admission de conteneurs dotés de la capacité NET_RAW. | Manual | 1 | MANUAL |
| 5.2.8 | Minimize l'admission de conteneurs dotés de capacités supplémentaires. | Automatisé | 1 | Non [coché |
| 5.2.9 | Minimize l'admission de conteneurs avec des capacités attribuées. | Manual | 2 | MANUAL |
| 5.2.10 | Minimize l'accès à des privilèges Contraintes liées au contexte de sécurité. | Manual | 2 | MANUAL |
5.3 Politiques du réseau et CNI
| Section | Recommandation | Manuelle/Automatisée | Niveau | Résultat |
|---|---|---|---|---|
| 5.3.1 | Ensure que la CNI utilisée prend en charge les politiques de réseau. | Automated | 1 | Not checked |
| 5.3.2 | Ensure que tous les espaces de nommage ont des politiques de réseau définies. | [Manuel | 2 | MANUEL |
5.4 Gestion des secrets
| Section | Recommandation | Manuelle/Automatisée | Niveau | Résultat |
|---|---|---|---|---|
| 5.4.1 | Prefer utiliser les secrets comme des fichiers plutôt que les secrets comme des variables d'environnement. | Manual | 1 | MANUAL |
| 5.4.2 | Consider le stockage externe des secrets. | Manual | 2 | MANUAL |
5.5 Contrôle d'admission extensible
| Section | Recommandation | Manuelle/Automatisée | Niveau | Résultat |
|---|---|---|---|---|
| 5.5.1 | Configure Provenance des images à l'aide des paramètres de configuration du contrôleur d'images. | Automated | 2 | Not checked |
5.7 Politiques générales
| Section | Recommandation | Manuelle/Automatisée | Niveau | Résultat |
|---|---|---|---|---|
| 5.7.1 | Create les frontières administratives entre les ressources à l'aide d'espaces de noms. | Manual | 1 | MANUAL |
| 5.7.2 | Ensure 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é pour 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 Hat OpenShift sur IBM Cloud peut optionnellement activer l'audit du serveur API Kubernetes. |
| 1.2.20 | Red Hat OpenShift on IBM Cloud met l'argument maximumRetainedFiles à 1. |
| 1.2.29 | Red Hat OpenShift sur IBM Cloud peut optionnellement activer un fournisseur Kubernetes Key Management Service (KMS). |
| 2.7 | Red Hat OpenShift sur IBM Cloud configure une autorité de certification unique pour etcd. |
| 5.2.8 | Red Hat OpenShift sur IBM Cloud installe une version personnalisée de SCCs. |
| 5.3.2 | Red Hat OpenShift on IBM Cloud dispose d'un ensemble de politiques de réseau Calico définies par défaut et des politiques de réseau supplémentaires peuvent être ajoutées en option. |