Point de référence Kubernetes CIS (Center for Internet Security)
La configuration du système d’exploitation de sécurité appliquée à l’image hôte de conteneur Linux Azure pour AKS est basée sur la base de référence de sécurité Azure Linux, qui s’aligne sur le benchmark CIS. En tant que service sécurisé, Azure Kubernetes Service (AKS) est conforme aux normes SOC, ISO, PCI DSS et HIPAA. Pour plus d’informations sur la sécurité de l’hôte de conteneur Linux Azure, consultez Concepts de sécurité pour les clusters dans AKS. Pour plus d’informations sur le point de référence CIS, consultez Points de référence CIS (Center for Internet Security). Pour plus d’informations sur les bases de référence de sécurité Azure pour Linux, consultez Base de référence de sécurité Linux.
Azure Linux 2.0
Ce système d’exploitation hôte de conteneur Linux Azure est basé sur l’image Azure Linux 2.0 avec des configurations de sécurité intégrées appliquées.
Dans le cadre du système d’exploitation optimisé pour la sécurité :
- AKS et Azure Linux fournissent un système d’exploitation hôte optimisé pour la sécurité par défaut sans aucune option permettant de sélectionner un autre système d’exploitation.
- Le système d’exploitation hôte optimisé pour la sécurité est conçu et géré spécifiquement pour AKS. Il n’est pas pris en charge en dehors de la plateforme AKS.
- Certains pilotes de module de noyau inutiles ont été désactivés dans le système d’exploitation pour réduire la surface d’attaque.
Recommandations
Le tableau ci-dessous comporte quatre sections :
- ID CIS : L’ID de règle associé à chacune des règles de base.
- Description de la suggestion : Une description de la recommandation émise par le benchmark CIS.
- Niveau: L1 ou niveau 1, recommande des exigences de sécurité de base essentielles qui peuvent être configurées sur n’importe quel système et qui doivent entraîner peu ou pas d’interruption de service ni de réduction de fonctionnalités.
- Statut :
- Réussite – La recommandation a été appliquée.
- Échec: La recommandation n’a pas été appliquée.
- N/A – La recommandation concerne les exigences d’autorisation du fichier manifeste qui ne sont pas pertinentes pour AKS.
- Dépend de l’environnement: La recommandation est appliquée dans l’environnement spécifique de l’utilisateur et n’est pas contrôlée par AKS.
- Contrôle équivalent: La recommandation a été implémentée de manière équivalente et différente.
- Raison :
- Impact potentiel de l’opération: la suggestion n’a pas été appliquée, car elle aurait un effet négatif sur le service.
- Couverte ailleurs : la recommandation est couverte par un autre contrôle dans le calcul cloud Azure.
Voici les résultats des recommandations CIS Azure Linux 2.0 Benchmark v1.0 basées sur les règles CIS :
Identifiants CIS | Description de la recommandation | Statut | Motif |
---|---|---|---|
1.1.4 | Désactiver le montage automatique | Réussite | |
1.1.1.1 | Vérifier que le montage des systèmes de fichiers cramfs est désactivé | Réussite | |
1.1.2.1 | Vérifier que /tmp est une partition distincte | Réussite | |
1.1.2.2 | Vérifier que l’option nodev est définie sur la partition /tmp | Réussite | |
1.1.2.3 | Vérifier que l’option nosuid est définie sur la partition /tmp | Réussite | |
1.1.8.1 | Vérifier que l’option nodev est définie sur la partition /dev/shm | Réussite | |
1.1.8.2 | Vérifier que l’option nosuid est définie sur la partition /dev/shm | Réussite | |
1.2.1 | Vérifier que DNF gpgcheck est activé globalement | Réussite | |
1.2.2 | Vérifier que TDNF gpgcheck est activé globalement | Réussite | |
1.5.1 | Vérifier que le stockage de sauvegarde du cœur est désactivé | Réussite | |
1.5.2 | Vérifier que les backtraces de sauvegarde du cœur sont désactivés | Réussite | |
1.5.3 | Vérifier que la distribution aléatoire de l’espace d’adressage (ASLR, Address Space Layout Randomization) est activée | Réussite | |
1.7.1 | Vérifier que la bannière d’avertissement de connexion locale est correctement configurée | Réussite | |
1.7.2 | Vérifier que la bannière d’avertissement de connexion à distance est correctement configurée | Réussite | |
1.7.3 | Vérifier que les autorisations sont configurées sur /etc/motd | Réussite | |
1.7.4 | Vérifier que des autorisations sont configurées sur /etc/issue | Réussite | |
1.7.5 | Vérifier que des autorisations sont configurées sur /etc/issue.net | Réussite | |
2.1.1 | Vérifier que la synchronisation de l’heure est utilisée | Réussite | |
2.1.2 | Vérifier que chrony est configuré | Réussite | |
2.2.1 | Vérifier que xinetd n’est pas installé | Réussite | |
2.2.2 | Vérifier que xorg-x11-server-common n’est pas installé | Réussite | |
2.2.3 | Vérifier que avahi n’est pas installé | Réussite | |
2.2.4 | Vérifier qu’un serveur d’impression n’est pas installé | Réussite | |
2.2.5 | Vérifier qu’un serveur DHCP n’est pas installé | Réussite | |
2.2.6 | Vérifier qu’un serveur DNS n’est pas installé | Réussite | |
2.2.7 | Vérifier que le client FTP n’est pas installé | Réussite | |
2.2.8 | Vérifier qu’un serveur FTP n’est pas installé | Réussite | |
2.2.9 | Vérifier qu’un serveur TFTP n’est pas installé | Réussite | |
2.2.10 | Vérifier qu’un serveur web n’est pas installé | Réussite | |
2.2.11 | Vérifier qu’un serveur IMAP et POP3 n’est pas installé | Réussite | |
2.2.12 | Vérifier que Samba n’est pas installé | Réussite | |
2.2.13 | Vérifier que le serveur proxy HTTP n’est pas installé | Réussite | |
2.2.14 | Vérifier que net-snmp n’est pas installé ou que le service snmpd n’est pas activé | Réussite | |
2.2.15 | Vérifier que le serveur NIS n’est pas installé | Réussite | |
2.2.16 | Vérifier que telnet-server n’est pas installé | Réussite | |
2.2.17 | Vérifier que l’agent de transfert de courrier est configuré pour le mode local uniquement | Réussite | |
2.2.18 | Vérifier que nfs-utils n’est pas installé ou que le service nfs-server est masqué | Réussite | |
2.2.19 | Vérifiez que rsync-daemon n’est pas installé ou que le service rsyncd est masqué | Réussite | |
2.3.1 | Vérifier que le client NIS n’est pas installé | Réussite | |
2.3.2 | Vérifier que le client rsh n’est pas installé | Réussite | |
2.3.3 | Vérifier que le client de communication n’est pas installé | Réussite | |
2.3.4 | Vérifier que le client telnet n’est pas installé | Réussite | |
2.3.5 | Vérifier que le client LDAP n’est pas installé | Réussite | |
2.3.6 | Vérifier que le client TFTP n’est pas installé | Réussite | |
3.1.1 | Vérifier que IPv6 est activé | Réussite | |
3.2.1 | Vérifier que l’envoi de redirection de paquets est désactivé | Réussite | |
3.3.1 | Vérifier que les paquets acheminés par la source ne sont pas acceptés | Réussite | |
3.3.2 | Vérifier que les redirections ICMP ne sont pas acceptées | Réussite | |
3.3.3 | Vérifier que les redirections ICMP sécurisées ne sont pas acceptées | Réussite | |
3.3.4 | Vérifier que les paquets suspects sont consignés dans un journal | Réussite | |
3.3.5 | Vérifier que les demandes ICMP de diffusion sont ignorées | Réussite | |
3.3.6 | Vérifier que les réponses ICMP erronées sont ignorées | Réussite | |
3.3.7 | Vérifier que le filtrage par chemin inverse est activé | Réussite | |
3.3.8 | Vérifier que les cookies SYN TCP sont activés | Réussite | |
3.3.9 | Vérifier que les annonces de routeur IPv6 ne sont pas acceptées | Réussite | |
3.4.3.1.1 | Vérifier que le package iptables est installé | Réussite | |
3.4.3.1.2 | Vérifier que nftables n’est pas installé avec iptables | Réussite | |
3.4.3.1.3 | Vérifier que le pare-feu n’est pas installé ou n’est pas masqué avec iptables | Réussite | |
4,2 | Vérification que logrotate est configuré | Réussite | |
4.2.2 | Vérifier qu’un accès approprié a été configuré pour tous les fichiers journaux | Réussite | |
4.2.1.1 | Vérifier que rsyslog est installé | Réussite | |
4.2.1.2 | Vérifier que le service rsyslog est activé | Réussite | |
4.2.1.3 | Vérifier que les autorisations de fichier par défaut rsyslog sont configurées | Réussite | |
4.2.1.4 | Vérifier que la journalisation est configurée | Réussite | |
4.2.1.5 | Vérifier que rsyslog n’est pas configuré pour recevoir des journaux d’un client distant | Réussite | |
5.1.1 | Vérifier que le démon cron est activé | Réussite | |
5.1.2 | Vérifier que des autorisations sont configurées sur /etc/crontab | Réussite | |
5.1.3 | Vérifier que les autorisations sont configurées sur /etc/cron.hourly | Réussite | |
5.1.4 | Vérifier que les autorisations sont configurées sur /etc/cron.daily | Réussite | |
5.1.5 | Vérifier que les autorisations sont configurées sur /etc/cron.weekly | Réussite | |
5.1.6 | Vérifier que les autorisations sont configurées sur /etc/cron.monthly | Réussite | |
5.1.7 | Vérifier que les autorisations sont configurées sur /etc/cron.d | Réussite | |
5.1.8 | Vérifier que cron est restreint aux utilisateurs autorisés | Réussite | |
5.1.9 | Vérifier que at est restreint aux utilisateurs autorisés | Réussite | |
5.2.1 | Vérifier que les autorisations sont configurées sur /etc/ssh/sshd_config | Réussite | |
5.2.2 | Vérifier que les autorisations sont configurées sur les fichiers de clé d’hôte privé SSH | Réussite | |
5.2.3 | Vérifier que les autorisations sont configurées sur les fichiers de clé d’hôte public SSH | Réussite | |
5.2.4 | Assurez-vous que l’accès SSH est limité. | Réussite | |
5.2.5 | Vérifier que SSH LogLevel est approprié | Réussite | |
5.2.6 | Vérifier que SSH PAM est activé | Réussite | |
5.2.7 | Vérifier que la connexion racine SSH est désactivée | Réussite | |
5.2.8 | Vérifier que SSH HostbasedAuthentication est désactivé | Réussite | |
5.2.9 | Vérifier que SSH PermitEmptyPasswords est désactivé | Réussite | |
5.2.10 | Vérifier que SSH PermitUserEnvironment est désactivé | Réussite | |
5.2.11 | Vérifier que SSH IgnoreRhosts est activé | Réussite | |
5.2.12 | Vérifier que seuls des chiffrements forts sont utilisés | Réussite | |
5.2.13 | Vérifier que seuls des algorithmes MAC forts sont utilisés | Réussite | |
5.2.14 | Vérifier que seuls des algorithmes d’échange de clés forts sont utilisés | Réussite | |
5.2.15 | Vérifier que la bannière d’avertissement SSH est configurée | Réussite | |
5.2.16 | Vérifier que SSH MaxAuthTries est défini sur une valeur inférieure ou égale à 4 | Réussite | |
5.2.17 | Vérifier que SSH MaxStartups est configuré | Réussite | |
5.2.18 | Vérifier que SSH LoginGraceTime est défini sur une minute ou moins | Réussite | |
5.2.19 | Vérifier que SSH MaxAuthTries est défini sur une valeur inférieure ou égale à 10 | Réussite | |
5.2.20 | Vérifier que l’intervalle du délai d’inactivité SSH est configuré | Réussite | |
5.3.1 | Vérifier que sudo est installé | Réussite | |
5.3.2 | Vérifier que la réauthentification pour l’escalade des privilèges n’est pas désactivée globalement | Réussite | |
5.3.3 | Vérifier que le délai d’expiration de l’authentification sudo est correctement configuré | Réussite | |
5.4.1 | Vérifier que les critères de création de mot de passe sont configurés | Réussite | |
5.4.2 | Vérifier que le verrouillage est configuré lors d’échecs de tentatives de mot de passe | Réussite | |
5.4.3 | Vérifier que l’algorithme de hachage de mot de passe est SHA-512. | Réussite | |
5.4.4 | Vérifier que la réutilisation des mots de passe est limitée | Réussite | |
5.5.2 | Vérifier que les comptes système sont sécurisés | Réussite | |
5.5.3 | Vérifier que le groupe par défaut pour le compte racine est GID 0. | Réussite | |
5.5.4 | Vérifier que le masque umask d’utilisateur par défaut est 027 ou plus restrictif | Réussite | |
5.5.1.1 | Vérifier que l’expiration du mot de passe est de 365 jours maximum | Réussite | |
5.5.1.2 | Vérifier que le nombre minimal de jours entre les changements de mot de passe est configuré | Réussite | |
5.5.1.3 | Vérifier que le délai d’avertissement d’expiration du mot de passe est de 7 jours minimum | Réussite | |
5.5.1.4 | Vérifier que le verrouillage de mot de passe inactif est de 30 jours ou moins | Réussite | |
5.5.1.5 | Vérifier que la date du dernier changement de mot de passe de tous les utilisateurs se trouve dans le passé. | Réussite | |
6.1.1 | Vérifier que les autorisations sont configurées sur /etc/passwd | Réussite | |
6.1.2 | Vérifier que les autorisations sont configurées sur /etc/passwd- | Réussite | |
6.1.3 | Vérifier que les autorisations sont configurées sur /etc/group | Réussite | |
6.1.4 | Vérifier que les autorisations sont configurées sur /etc/group- | Réussite | |
6.1.5 | Vérifier que les autorisations sont configurées sur /etc/shadow | Réussite | |
6.1.6 | Vérifier que les autorisations sont configurées sur /etc/shadow- | Réussite | |
6.1.7 | Vérifier que les autorisations sont configurées sur /etc/gshadow | Réussite | |
6.1.8 | Vérifier que les autorisations sont configurées sur /etc/gshadow- | Réussite | |
6.1.9 | Vérifier qu’il n’existe aucun fichier ni répertoire non groupé | Réussite | |
6.1.10 | Vérifier que les fichiers et répertoires accessibles en écriture dans le monde sont sécurisés | Réussite | |
6.2.1 | Vérifier que les champs de mot de passe ne sont pas vides | Réussite | |
6.2.2 | Vérifier que tous les groupes dans /etc/passwd existent dans /etc/group. | Réussite | |
6.2.3 | Vérifier qu’il n’existe pas de doublons d’UID. | Réussite | |
6.2.4 | Vérifier qu’il n’existe pas de doublons de GID. | Réussite | |
6.2.5 | Vérifier qu’il n’existe aucun nom d’utilisateur en double. | Réussite | |
6.2.6 | Vérifier qu’il n’existe aucun nom de groupe en double | Réussite | |
6.2.7 | Garantir l’intégrité du PATH racine | Réussite | |
6.2.8 | Vérifier que la racine est le seul compte UID 0. | Réussite | |
6.2.9 | Vérifier que les répertoires de base de tous les utilisateurs existent. | Réussite | |
6.2.10 | Vérifier que les utilisateurs sont propriétaires de leurs répertoires de base | Réussite | |
6.2.11 | Vérifier que les autorisations des répertoires de base des utilisateurs sont de 750 ou sont plus restrictives | Réussite | |
6.2.12 | Vérifier que les fichiers dot des utilisateurs ne sont pas accessibles en écriture à un groupe ou à tout le monde | Réussite | |
6.2.13 | Vérifier que les fichiers .netrc des utilisateurs ne sont pas accessibles au groupe ou à tout le monde | Réussite | |
6.2.14 | Vérifier qu’aucun utilisateur n’a de fichiers .forward. | Réussite | |
6.2.15 | Vérifier qu’aucun utilisateur n’a de fichiers .netrc. | Réussite | |
6.2.16 | Vérifier qu’aucun utilisateur n’a de fichiers .rhosts. | Réussite |
Étapes suivantes
Pour plus d’informations sur la sécurité de l’hôte de conteneur Azure Linux, consultez les articles suivants :
Azure Kubernetes Service