ACK propose une fonctionnalité d'inspection permettant de détecter les risques de sécurité liés à la configuration des charges de travail de votre cluster. Une fois la tâche d'inspection exécutée, le système génère un rapport. Ce rapport vous permet de consulter et de traiter les éléments à risque, tout en surveillant l'état de santé de vos charges de travail en temps réel.
Prérequis
Le cluster doit exécuter Kubernetes v1.14 ou une version ultérieure. Pour mettre à niveau votre cluster, consultez la rubrique Mettre à jour manuellement un cluster ACK.
-
Si vous utilisez un utilisateur RAM, effectuez les autorisations RAM et RBAC comme décrit dans les sections suivantes.
-
Autorisation RAM
Accordez l'autorisation RAM sur la page Inspections afin de garantir que l'utilisateur RAM actuel dispose des permissions nécessaires pour utiliser cette page pour le cluster concerné. À défaut, vous rencontrerez des erreurs de permissions insuffisantes et ne pourrez pas utiliser les fonctionnalités de la page Inspections. Pour plus d'informations, consultez la rubrique Accorder des permissions d'accès aux clusters et aux ressources cloud via RAM.
Pour utiliser la fonctionnalité de rapport d'inspection, vous devez accorder à l'utilisateur RAM des permissions de lecture sur le projet Simple Log Service (SLS) spécifié. Ce projet est utilisé par le composant de collecte de journaux de votre cluster. Sans ces permissions, vous ne pourrez pas consulter les rapports d'inspection. Pour plus d'informations, consultez la rubrique Exemples d'autorisations RAM personnalisées.
-
Autorisation RBAC
Effectuez l'autorisation RBAC pour les ressources de la page Inspections afin d'accorder à l'utilisateur RAM des permissions d'administrateur pour le cluster spécifié. Cela garantit que l'utilisateur RAM dispose des permissions nécessaires pour gérer les ressources Kubernetes depuis la page Inspections. Pour plus d'informations, consultez la rubrique Utiliser RBAC pour autoriser les opérations sur les ressources d'un cluster.
-
Exécuter une inspection
Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Inspections.
Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur .
-
Facultatif : Suivez les instructions à l'écran pour installer ou mettre à jour le composant d'inspection.
Le composant security-inspector est gratuit, mais consomme des ressources de pod. Pour plus d'informations sur ce composant et ses notes de version, consultez la rubrique security-inspector.
-
Exécutez une inspection.
ImportantNous vous recommandons d'exécuter les inspections pendant les heures creuses.
Par défaut, l'inspection analyse tous les éléments pris en charge. Dans le coin supérieur droit de la page Inspections, vous pouvez cliquer sur Inspections pour spécifier les éléments à analyser. Pour plus d'informations, consultez la section Éléments d'inspection.
Pour lancer une inspection immédiate, cliquez sur Configure Periodic Inspection dans le coin supérieur droit de la page Inspections.
Pour planifier des inspections périodiques, cliquez sur Inspect dans le coin supérieur droit de la page Inspections. Sélectionnez ensuite Configure Periodic Inspection et configurez la période d'inspection.
Une fois l'inspection terminée, accédez à l'onglet Configure Periodic Inspection, repérez le résultat d'inspection souhaité et cliquez sur Inspections dans la colonne Details.
Détails de l'inspection
La page Actions répertorie les résultats détaillés de l'inspection pour différentes charges de travail. Elle offre les fonctionnalités suivantes :
Filtrez les résultats selon des critères tels que Inspections, Passed or Failed et Namespace, et consultez le nombre d'Workload Type et d'Number of Passed Items pour chaque charge de travail.
Consultez les détails de chaque élément inspecté, y compris le statut de vérification (Passed ou Failed) au niveau des pods et des conteneurs, une description détaillée et des suggestions de correction. Si un élément échoué ne nécessite aucune correction, vous pouvez l'ajouter à la liste d'autorisation.
Affichez le fichier YAML d'une charge de travail.
Rapports d'inspection
La page Risk Item affiche les résultats de la dernière inspection. Elle inclut les informations suivantes :
Un aperçu des résultats de l'analyse, comprenant le nombre total d'éléments inspectés, le nombre et le pourcentage de chaque type de ressource inspectée, ainsi que le score de santé global.
Des statistiques pour les principales catégories d'analyse, notamment les vérifications de santé, les images, la mise en réseau, les ressources et la sécurité.
Les résultats détaillés de l'analyse pour chaque configuration de charge de travail, incluant le type de ressource, le nom de la ressource, le namespace, le type de vérification, l'élément d'inspection et le résultat.
Éléments d'inspection
La fonctionnalité d'inspection de la configuration analyse et affiche les résultats pour les éléments suivants.
ID de vérification | Élément de vérification | Description et risque de sécurité | Correction |
hostNetworkSet | Empêcher les conteneurs de partager le namespace réseau de l'hôte | Vérifie si | Modifiez la spécification du pod pour supprimer le champ Exemple : |
hostIPCSet | Empêcher les conteneurs de partager le namespace IPC de l'hôte | Vérifie si | Modifiez la spécification du pod pour supprimer le champ Exemple : |
hostPIDSet | Empêcher les conteneurs de partager le namespace PID de l'hôte | Vérifie si | Modifiez la spécification du pod pour supprimer le champ Exemple : |
hostPortSet | Empêcher les processus de conteneur d'écouter sur les ports de nœud | Vérifie si | Modifiez la spécification du pod pour supprimer le champ Exemple : |
runAsRootAllowed | Empêcher les conteneurs de s'exécuter en tant qu'utilisateur root | Vérifie si | Modifiez la spécification du pod pour ajouter Exemple : |
runAsPrivileged | Empêcher les conteneurs de s'exécuter en mode privilégié | Vérifie si | Modifiez la spécification du pod pour supprimer le champ Exemple : |
privilegeEscalationAllowed | Empêcher l'élévation de privilèges dans les conteneurs | Vérifie si | Modifiez la spécification du pod pour ajouter le champ Exemple : |
capabilitiesAdded | Supprimer les capacités Linux inutiles | Vérifie le champ | Modifiez la spécification du pod pour n'ajouter que les capacités Linux requises et supprimer toutes les autres. Si aucune capacité Linux supplémentaire n'est requise, supprimez-les toutes. Exemple : Si des capacités spécifiques sont requises, ajoutez uniquement celles qui sont nécessaires et supprimez toutes les autres. Exemple : |
notReadOnlyRootFilesystem | Utiliser un système de fichiers racine en lecture seule pour les conteneurs | Vérifie si | Modifiez la spécification du pod pour ajouter Exemple : Si vous devez modifier des fichiers dans un répertoire spécifique, utilisez un champ Exemple : |
cpuRequestsMissing | Définir les requêtes CPU pour les conteneurs | Vérifie si | Modifiez la spécification du pod pour ajouter un champ Exemple : |
cpuLimitsMissing | Définir les limites CPU pour les conteneurs | Vérifie si | Modifiez la spécification du pod pour ajouter un champ Exemple : |
memoryRequestsMissing | Définir les requêtes de mémoire pour les conteneurs | Vérifie si | Modifiez la spécification du pod pour ajouter un champ Exemple : |
memoryLimitsMissing | Définir les limites de mémoire pour les conteneurs | Vérifie si | Modifiez la spécification du pod pour ajouter un champ Exemple : |
readinessProbeMissing | Configurer les sondes de readiness pour les conteneurs | Vérifie si une | Modifiez la spécification du pod pour ajouter un champ Exemple : |
livenessProbeMissing | Configurer les sondes de liveness pour les conteneurs | Vérifie si une | Modifiez la spécification du pod pour ajouter un champ Exemple : |
tagNotSpecified | Utiliser un tag d'image spécifique pour les conteneurs | Vérifie si le champ | Modifiez le champ Exemple : |
anonymousUserRBACBinding | Interdire l'accès anonyme au cluster | Vérifie les liaisons RBAC (Role-Based Access Control) dans le cluster pour identifier toute configuration accordant un accès aux utilisateurs anonymes. Si l'accès anonyme est autorisé, des utilisateurs malveillants peuvent voler des informations sensibles ou attaquer le cluster. | Modifiez les liaisons RBAC pour supprimer toutes les permissions permettant aux utilisateurs anonymes d'accéder aux ressources du cluster. Exemple : |
Événements
Type d'événement | Nom de l'événement | Exemple de contenu | Description | Actions |
Normal | SecurityInspectorConfigAuditStart | Démarrage de l'audit de configuration | La tâche d'inspection démarre. | Aucune action n'est requise. |
Normal | SecurityInspectorConfigAuditFinished | Audit de configuration terminé | La tâche d'inspection est terminée. | Aucune action n'est requise. |
Avertissement | SecurityInspectorConfigAuditHighRiskFound | 2 éléments à haut risque trouvés après l'audit de configuration | Après l'inspection, des éléments à haut risque non atténués ont été trouvés dans certaines charges de travail. |
|