Ce document décrit le niveau de conformité d'Anthos Clusters on VMware (GKE On-Prem) avec le benchmark CIS d'Ubuntu.
Versions
Ce document fait référence aux versions suivantes :
Version Anthos | Version Ubuntu | Version du benchmark CIS d'Ubuntu | Niveau CIS |
---|---|---|---|
1.11 | 20.04 LTS | v1.0.0 | Serveur de niveau 2 |
Accéder au benchmark
Le benchmark CIS d'Ubuntu est disponible sur le site Web du CIS :
Profil de configuration
Dans le document Benchmark CIS d'Ubuntu, vous pouvez en savoir plus sur les profils de configuration. Les images Ubuntu utilisées par Anthos Clusters on VMware sont renforcées pour répondre aux exigences du profil de serveur de niveau 2.
Évaluation sur Anthos clusters on VMware
Nous utilisons les valeurs suivantes pour spécifier l'état des recommandations Ubuntu dans Anthos Clusters on VMware :
Status | Description |
---|---|
Réussite | Respecte une recommandation du benchmark. |
Échec | Ne respecte pas une recommandation du benchmark. |
Contrôle équivalent | Ne respecte pas les conditions exactes de la recommandation du benchmark, mais d'autres mécanismes existent sur Anthos Clusters on VMware pour fournir des contrôles de sécurité équivalents. |
Dépend de l'environnement | Anthos Clusters on VMware ne configure pas les éléments liés à une recommandation du benchmark. Votre configuration détermine si votre environnement respecte les recommandations. |
État de Anthos Clusters on VMware
Les images Ubuntu utilisées avec Anthos Clusters on VMware sont renforcées pour répondre au CIS du profil de serveur de niveau 2. Le tableau explique pourquoi les composants Anthos Clusters on VMware n'ont pas transmis certaines recommandations.
# | Recommandation | Évalué/Non évalué | Status | Justification | Composants concernés |
---|---|---|---|---|---|
1.1.2 | Assurez-vous que /tmp est configuré | Notés | Échec | Canonical n'a pas l'intention de modifier les partitions des images cloud pour le moment. | Tous les nœuds de cluster, poste de travail administrateur, Seesaw |
1.1.10 | Assurez-vous qu'une partition distincte existe pour /var | Notés | Impossible à corriger | Canonical n'a pas l'intention de modifier les partitions des images cloud pour le moment. | Tous les nœuds de cluster, poste de travail administrateur, Seesaw |
1.1.11 | Assurez-vous qu'une partition distincte existe pour /var/tmp | Notés | Impossible à corriger | Canonical n'a pas l'intention de modifier les partitions des images cloud pour le moment. | Tous les nœuds de cluster, poste de travail administrateur, Seesaw |
1.1.15 | Assurez-vous qu'une partition distincte existe pour /var/log | Notés | Impossible à corriger | Canonical n'a pas l'intention de modifier les partitions des images cloud pour le moment. | Tous les nœuds de cluster, poste de travail administrateur, Seesaw |
1.1.16 | Assurez-vous qu'une partition distincte existe pour /var/log/audit. | Notés | Impossible à corriger | Canonical n'a pas l'intention de modifier les partitions des images cloud pour le moment. | Tous les nœuds de cluster, poste de travail administrateur, Seesaw |
1.1.17 | Assurez-vous qu'une partition distincte existe pour /home. | Notés | Impossible à corriger | Canonical n'a pas l'intention de modifier les partitions des images cloud pour le moment. | Tous les nœuds de cluster, poste de travail administrateur, Seesaw |
1,1,22 | Assurez-vous que le bit persistant est défini sur tous les répertoires accessibles en écriture à l'échelle mondiale | Notés | Échec | Cette fonctionnalité risque d'interférer avec les fonctionnalités d'Anthos et de ses services, et n'est pas activée par défaut. | Tous les nœuds de cluster, poste de travail administrateur |
1.5.1 | Assurez-vous que les autorisations sur la configuration du bootloader sont configurées | Notés | Échec | Les autorisations ont été laissées par défaut. | Tous les nœuds de cluster, Seesaw |
1.5.2 | Assurez-vous que le mot de passe du bootloader est défini | Notés | Dépend de l'environnement | Aucun mot de passe racine n'est défini sur les images cloud Ubuntu. | Tous les nœuds de cluster, poste de travail administrateur, Seesaw |
1.5.3 | Assurez-vous qu'une authentification est requise pour le mode mono-utilisateur | Notés | Dépend de l'environnement | Aucun mot de passe racine n'est défini sur les images cloud Ubuntu. | Tous les nœuds de cluster, poste de travail administrateur, Seesaw |
2.3.6 | Vérifiez que RPC n'est pas installé | Notés | Échec | rpcbind est installé sur l'image cloud canonique, mais n'est pas activé par défaut. La règle échoue car elle requiert que ce composant ne soit pas installé. | Tous les nœuds de cluster |
3.2.2 | Assurez-vous que le transfert IP est désactivé | Notés | Échec | Le transfert IP est obligatoire pour que Kubernetes (GKE) fonctionne et achemine le trafic correctement. | Tous les nœuds de cluster, poste de travail administrateur, Seesaw |
3.2.7 | Assurez-vous que le filtrage du chemin inverse est activé | Notés | Dépend de l'environnement | Le routage asynchrone et l'origine inversée du chemin d'accès sont nécessaires pour fournir l'équilibrage de charge du cluster. | Seesaw |
3.5.3.2.1 | Vérifiez que la stratégie de pare-feu de refus est définie par défaut | Notés | Dépend de l'environnement | Il est recommandé de déployer les clusters Anthos sur VMware sur un réseau privé avec des protections de pare-feu appropriées. Les règles de pare-feu requises sont disponibles ici. | Tous les nœuds de cluster, poste de travail administrateur, Seesaw |
3.5.3.2.2 | Assurez-vous que le trafic de rebouclage est configuré | Notés | Dépend de l'environnement | L'utilisation de l'interface de rebouclage est limitée, selon la fonctionnalité d'équilibrage de charge utilisée. | Seesaw |
3.5.3.2.4 | Assurez-vous qu'il existe des règles de pare-feu pour tous les ports ouverts | Non évalué | Dépend de l'environnement | Il est recommandé de déployer les clusters Anthos sur VMware sur un réseau privé avec des protections de pare-feu appropriées. Les règles de pare-feu requises sont disponibles ici. | Tous les nœuds de cluster, poste de travail administrateur, Seesaw |
3.5.3.3.1 | Vérifiez que la stratégie de pare-feu de refus du trafic IPv6 est définie par défaut | Notés | Dépend de l'environnement | Il est recommandé de déployer les clusters Anthos sur VMware sur un réseau privé avec des protections de pare-feu appropriées. Les règles de pare-feu requises sont disponibles ici. De plus, Anthos n'est pas nécessaire pour le protocole IPv6 selon la compatibilité de disponibilité générale. | Tous les nœuds de cluster, poste de travail administrateur, Seesaw |
3.5.3.3.2 | Assurez-vous que le trafic de bouclage IPv6 est configuré | Notés | Dépend de l'environnement | Anthos n'est pas nécessaire pour le protocole IPv6 selon la compatibilité de disponibilité générale. | Plan de contrôle d'administrateur, Seesaw |
4.1.1.3 | Assurez-vous que l'audit des processus commençant avant auditd est activé | Notés | Échec | Un problème connu lié à notre processus de compilation signale un échec, mais il doit être considéré comme une fausse alerte. Ce problème sera résolu à l'avenir. | Tous les nœuds de cluster, Seesaw |
4,1.11 | Vérifiez que les commandes privilégiées sont collectées. | Notés | Échec | Certains fichiers binaires sont installés au moment de l'exécution, et une correction de l'environnement d'exécution est donc nécessaire. | Tous les nœuds de cluster, poste de travail administrateur, Seesaw |
4.2.1.5 | Vérifiez que rsyslog est configuré de manière à envoyer les journaux à un hôte de journal distant | Notés | Dépend de l'environnement | Les clusters Anthos sur VMWare collectent actuellement tous les journaux journald (à partir de services système). Ils peuvent afficher ces journaux sous "k8s_node" | Tous les nœuds de cluster, poste de travail administrateur, Seesaw |
4.2.3 | Assurez-vous que les autorisations sur tous les fichiers journaux sont configurées | Notés | Échec | Ce test spécifique est trop restrictif et irréaliste, car de nombreux services peuvent nécessiter un groupe pour écrire des fichiers journaux. Cet élément peut être supprimé dans un benchmark ultérieur. | Tous les nœuds de cluster, poste de travail administrateur, Seesaw |
4.4 | Assurez-vous que logrotate attribue les autorisations appropriées | Notés | Échec | L'exécution de cette règle peut affecter la fonctionnalité de journalisation actuelle. | Tous les nœuds de cluster, Seesaw |
5/02/2018 | Vérifiez que l'accès SSH est limité | Notés | Dépend de l'environnement | Cette option n'est pas configurée par défaut. Cette configuration peut être adaptée à vos besoins. | Tous les nœuds de cluster, poste de travail administrateur, Seesaw |
5.2.20 | Assurez-vous que le protocole SSH AllowTcpForwarding est désactivé | Notés | Échec | L'exécution de cette règle peut affecter la fonctionnalité de tunnel SSH actuelle. | Tous les nœuds de cluster |
5.4.1.1 | Assurez-vous que le délai d'expiration du mot de passe est inférieur ou égal à 365 jours | Notés | Contrôle équivalent | Les VM utilisées pour des clusters Anthos sur VMware reposent sur une clé SSH pour les connexions d'utilisateurs, plutôt que d'utiliser un mot de passe. | Tous les nœuds de cluster |
6.1.10 | Assurez-vous qu'aucun fichier accessible en écriture n'existe | Notés | Échec | Les autorisations ont été laissées par défaut. | Tous les nœuds de cluster |
6.1.11 | Assurez-vous qu'il n'existe aucun fichier ou répertoire indépendant | Notés | Échec | Les autorisations ont été laissées par défaut. | Tous les nœuds de cluster |
6.1.12 | Assurez-vous qu'il n'existe aucun fichier ou répertoire non regroupé | Notés | Échec | Les autorisations ont été laissées par défaut. | Tous les nœuds de cluster |
6.2.7 | Assurez-vous que les fichiers dot ne sont pas accessibles en écriture pour le groupe ou en écriture à l'échelle mondiale | Notés | Échec | Les paramètres par défaut d'Ubuntu autorisent les autorisations des groupes de fichiers .dot à cause de la compatibilité | Poste de travail administrateur |
Configurer la tâche Cron AIDE
AIDE est un outil de vérification de l'intégrité des fichiers qui garantit la conformité avec le benchmark de serveur CIS L1 de 1.4 Filesystem Integrity Checking
. Dans Anthos clusters on VMware, le processus AIDE a entraîné des problèmes importants d'utilisation des ressources.
À partir de la version 1.11.2, le processus AIDE sur les nœuds est désactivé par défaut pour éviter les problèmes de ressources. Cela aura une incidence sur la conformité avec le benchmark de serveur CIS L1 1.4.2 : Ensure
filesystem integrity is regularly checked.
.
Si vous souhaitez activer l'exécution de la tâche Cron AIDE, procédez comme suit pour réactiver AIDE:
Créer un DaemonSet.
Voici un fichier manifeste de DaemonSet.
apiVersion: apps/v1 kind: DaemonSet metadata: name: enable-aide-pool1 spec: selector: matchLabels: app: enable-aide-pool1 template: metadata: labels: app: enable-aide-pool1 spec: hostIPC: true hostPID: true nodeSelector: cloud.google.com/gke-nodepool: pool-1 containers: - name: update-audit-rule image: ubuntu command: ["chroot", "/host", "bash", "-c"] args: - | set -x while true; do # change daily cronjob schedule minute=30;hour=5 sed -E "s/([0-9]+ [0-9]+)(.*run-parts --report \/etc\/cron.daily.*)/$minute $hour\2/g" -i /etc/crontab # enable aide chmod 755 /etc/cron.daily/aide sleep 3600 done volumeMounts: - name: host mountPath: /host securityContext: privileged: true volumes: - name: host hostPath: path: /
Dans le fichier manifeste ci-dessus:
La tâche Cron AIDE ne s'exécute que sur le pool de nœuds
pool-1
, comme spécifié par le nodeSelectorcloud.google.com/gke-nodepool: pool-1
. Vous pouvez configurer le processus AIDE pour qu'il s'exécute sur autant de pools de nœuds que vous le souhaitez en spécifiant les pools dans le champnodeSelector
. Pour exécuter la même planification de tâches Cron sur différents pools de nœuds, supprimez le champnodeSelector
. Toutefois, pour éviter toute congestion des ressources hôtes, nous vous recommandons de conserver des planifications distinctes.La tâche Cron est planifiée pour s'exécuter tous les jours à 5h30 comme spécifié par la configuration
minute=30;hour=5
. Vous pouvez configurer différentes planifications pour la tâche Cron AIDE selon vos besoins.
Copiez le fichier manifeste dans un fichier nommé
enable-aide.yaml
et créez le DaemonSet :
kubectl apply --kubeconfig USER_CLUSTER_KUBECONFIG -f enable-aide.yaml
où USER_CLUSTER_KUBECONFIG représente le chemin d'accès au fichier kubeconfig de votre cluster d'utilisateur.