Test de performances CIS Kubernetes

Le Center for Internet Security ( CIS ) publie le référentiel « CIS »(Kubernetes), qui propose un cadre de mesures spécifiques visant à configurer les sites Kubernetes de manière plus sécurisée, conformément à des normes adaptées aux différentes réglementations du secteur.

Lorsqu'une nouvelle version Kubernetes est publiée dans le cadre d'une version Red Hat OpenShift prise en charge, les ingénieurs IBM comparent la configuration par défaut d'un cluster qui exécute cette version Kubernetes avec le test de performances et publient les résultats dans cette documentation. Vous pouvez examiner comment des versions spécifiques de votre cluster Red Hat® OpenShift® on IBM Cloud® répondent au test de performances CIS Kubernetes.

Versions de référence prises en charge

Utilisez cette liste pour consulter les résultats des tests de performance ( CIS ) Kubernetes des versions prises en charge.

Utilisation du test de performances

En tant qu'auditeur ou administrateur de la sécurité, vous pouvez vouloir comparer les normes internes de votre société et les exigences réglementaires avec le test de performances CIS Kubernetes. Les recommandations du test de performances sont fournies par le CIS (Center for Internet Security), et non par IBM. IBM ne peut pas configurer les paramètres par défaut d'une manière qui répond à toutes les recommandations, mais indique si la recommandation est satisfaite pour vous aider dans votre révision. Par exemple, vous pouvez utiliser le test de performances lors d'un audit pour confirmer que des mesures de sécurité de base sont en vigueur et pour identifier les zones où vous pouvez améliorer la sécurité.

Que couvre cet indice de référence?

Le test de performances couvre les recommandations relatives aux principaux composants, etcd, configurations de plan de contrôle, noeuds worker et règles notamment pour les utilisateurs, le réseau et la sécurité des pods.

Que signifient les recommandations en matière de référence?

Les recommandations du test de performances portent sur l'évaluation, les niveaux, le statut des résultats et les responsabilités comme suit.

  • Scoring
    • Scored : La note de référence globale augmente ou diminue selon que la recommandation est satisfaite.
    • Non évalué : le score global de référence n'est pas affecté, que la recommandation soit satisfaite.
  • Niveaux
    • Niveau 1 : mesures de sécurité pratiques qui peuvent être configurées sans inhiber le service.
    • Niveau 2 : mesures de sécurité plus approfondies susceptibles de réduire les performances ou la fonctionnalité d'un service.
  • Résultat
    • Succès : le service respecte la recommandation du test de performances.
    • Echec : le service ne respecte pas la recommandation du test de performances par défaut. Reportez-vous à la section relative aux mesures correctives pour obtenir des explications et connaître les actions que vous pouvez exécuter pour vous conformer à la recommandation du test de performances.
  • Responsabilité
    • IBM : IBM est responsable de la configuration du paramètre recommandé par le test de performances.
    • Partagée : vous partagez avec IBM la responsabilité concernant la configuration du paramètre recommandé par le test de performances.

Quels sont les éléments de l'analyse comparative dont je suis responsable?

Etant donné qu'Red Hat OpenShift on IBM Cloud est une offre gérée, IBM configure déjà pour vous de nombreux paramètre de sécurité. Ainsi, IBM gère et applique automatiquement les mises à jour à votre maître cluster. Pour vos noeuds worker, IBM fournit des mises à jour de sécurité et de version, mais vous devez appliquer les mises à jour. Vous êtes également responsable des applications et des données de vos charges de travail. Pour plus d'informations, voir Vos responsabilités liées à l'utilisation d'Red Hat OpenShift on IBM Cloud.

Que se passerait-il si une partie du service ne respectait pas une recommandation?

Tout d'abord, lisez l'explication concernant l'échec pour les mesures correctives.

Puis déterminez si l'échec est acceptable compte tenu de vos exigences de sécurité. Par exemple, certaines recommandations peuvent être des exigences de configuration plus strictes que celles requises par vos processus ou normes. De plus, certaines recommandations ne sont pas cotées et n'ont aucune incidence sur la note de référence globale.

Ensuite, déterminez si le composant relève de votre responsabilité. Si tel est le cas, il vous faudra peut-être modifier la façon dont vous configurez ce composant. Par exemple, vous pouvez configurer des contraintes de contexte de sécurité pour tous vos déploiements d'application. Pour les composants qui ne sont pas directement sous votre responsabilité, évaluez si vous pouvez utiliser un autre service IBM Cloud pour répondre à la recommandation.

Que puis-je faire d'autre pour renforcer la sécurité et la conformité de mon cluster?

Voir Sécurité pour Red Hat OpenShift on IBM Cloud.

Exécution du test de performances CIS Kubernetes

Pour consulter les résultats des performances CIS Kubernetes pour la Section 4 : Configuration de la sécurité des nœuds worker, vous pouvez exécuter le test vous-même. Etant donné que vous possédez les noeuds worker et que vous êtes en partie responsable de leur conformité, vous pouvez effectuer des modifications de configuration que vous souhaitez valider par vous-même. !

Ces étapes s'appliquent aux clusters qui exécutent Red Hat OpenShift version 4.5 ou versions ultérieures uniquement.

Avant de commencer : Connectez-vous à votre compte. Le cas échéant, ciblez le groupe de ressources approprié. Définissez le contexte de votre cluster.

  1. Créez un projet pour les ressources sur lesquelles exécuter le test de performances.

    oc create ns ibm-kube-bench-test
    
  2. Créez un fichier ConfigMap à l'aide des fichiers de configuration config et node issus du dépôt GitHub [kube-samples](https://github.com/IBM-Cloud/kube-samples/tree/master/cis-kube-benchmark/cis-1.5/ibm){: external} ( GitHub ).

    1. Téléchargez les fichiers de configuration « config » et « node » dans un répertoire local nommé « ibm ». Vous pouvez également cloner le référentiel et accéder au répertoire ibm.
    2. Créez le fichier « ConfigMap » en utilisant l'option « --from-file » pour indiquer le répertoire « ibm » dans lequel vous avez téléchargé les fichiers de configuration.
        oc create cm kube-bench-node -n ibm-kube-bench-test --from-file ibm
        ```
    
  3. Créez un travail pour exécuter le test de performances à partir des configurations que vous avez créées précédemment.

    oc apply -n ibm-kube-bench-test -f https://raw.githubusercontent.com/IBM-Cloud/kube-samples/master/cis-kube-benchmark/cis-1.5/ibm/job-node.yaml
    
  4. Vérifiez que la tâche a bien été effectuée.

    oc get pods -n ibm-kube-bench-test -l job-name=kube-bench-node
    

    Exemple de sortie

    NAME                    READY   STATUS      RESTARTS   AGE
    kube-bench-node-hlvhc   0/1     Completed   0          23s
    
  5. Examinez les résultats du test de performances CIS Kubernetes pour vos noeuds worker en consultant les journaux de pod.

    oc logs -n ibm-kube-bench-test -l job-name=kube-bench-node --tail=-1
    

    Exemple de sortie

    == Summary ==
    20 checks PASS
    2 checks FAIL
    1 checks WARN
    0 checks INFO
    
  6. Facultatif : lorsque vous avez terminé d'examiner les résultats, supprimez les ressources que vous avez créées.

    oc delete ns ibm-kube-bench-test