IBM Cloud Docs
Test de performances CIS Kubernetes

Test de performances CIS Kubernetes

Le Center for Internet Security ( CIS ) publie le CIS Kubernetes Benchmark comme un cadre d'étapes spécifiques pour configurer Kubernetes de manière plus sûre et avec des normes correspondant à diverses réglementations industrielles.

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

Versions de référence disponibles

Utilisez la liste pour trouver CIS Kubernetes Les résultats des tests de performance pour les versions disponibles.

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 le référentiel ?

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 des critères 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.

Quelles sont les parties du référentiel dont je suis responsable ?

Etant donné qu'IBM Cloud Kubernetes Service 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'IBM Cloud Kubernetes Service.

Que se passe-t-il si une partie du service ne respecte 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 règles de sécurité de pod 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 améliorer la sécurité et la conformité de mon cluster ?

Voir Sécurité pour IBM Cloud Kubernetes Service.

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. !

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 espace de noms dans lequel placer les ressources pour exécuter le benchmark.

    kubectl create ns ibm-kube-bench-test
    
  2. Créez un site ConfigMap avec les fichiers de configuration config et node du dépôt kube-samples GitHub.

    1. Téléchargez les fichiers de configuration config et node dans un répertoire local appelé ibm. Vous pouvez également cloner le référentiel et accéder au répertoire ibm.
    2. Créez le site ConfigMap en utilisant l'option --from-file pour spécifier le répertoire ibm où vous avez téléchargé les fichiers de configuration.
      kubectl 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.

    kubectl 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érifier que le travail est terminé.

    kubectl 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.

    kubectl 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.

    kubectl delete ns ibm-kube-bench-test