Dans l'univers cloud-native actuel, sécuriser ses applications conteneurisées est devenu incontournable. Google Kubernetes Engine (GKE) offre une plateforme robuste pour déployer et gérer des workloads conteneurisés, mais la sécurité reste une responsabilité partagée. Cet article se penche sur GKE Security Posture, un ensemble d'outils et de fonctionnalités pensés pour gérer de façon proactive la posture de sécurité de vos clusters GKE.
L'intérêt de GKE Security Posture
Les approches de sécurité traditionnelles s'accommodent mal de la nature dynamique et distribuée des environnements conteneurisés. GKE Security Posture comble cet écart en offrant une vue centralisée des vulnérabilités potentielles au sein de vos clusters GKE. Vous identifiez et traitez ainsi les problèmes de sécurité avant qu'ils ne deviennent critiques.
Le dashboard de posture de sécurité donne à voir la posture de sécurité de vos workloads sur l'ensemble de vos clusters au runtime.
Les principales fonctionnalités de GKE Security Posture
Contrôles de sécurité des workloads
Cette fonctionnalité audite automatiquement la configuration de l'ensemble de vos workloads en cours d'exécution sur plusieurs clusters et renvoie des recommandations exploitables, assorties de scores de gravité, pour améliorer votre posture de sécurité. Pour chaque workload déployé éligible, GKE analyse en continu sa spécification et compare ses champs et valeurs aux contrôles définis dans la politique de sécurité sous-jacente.
Quelques exemples de configurations qui déclencheraient une alerte :
- Les pods qui partagent des namespaces de l'hôte, permettant à leurs processus de communiquer avec ceux de l'hôte et de collecter des informations à son sujet — ce qui peut mener à une évasion de conteneur. Par exemple :
spec.hostNetwork,spec.hostPID - Les conteneurs privilégiés qui partagent des namespaces avec l'hôte et n'ont pas de restrictions liées aux control groups, à seccomp, à AppArmor ni aux capabilities. Par exemple :
spec.containers[*].securityContext.privileged. - Autoriser un conteneur à s'exécuter en tant que root via
runAsUserou la directiveUSERde l'image qui spécifie l'utilisateur root. Par exemple :spec.securityContext.runAsNonRoot.
Vous trouverez ici la liste complète des champs vérifiés par cette fonctionnalité.
Dans le dashboard Security Posture, les problèmes apparaissent classés par gravité. Vous y trouverez aussi le détail des actions à mener pour y remédier.

GKE Security Posture Dashboard — Configuration des workloads

GKE Security Posture Dashboard — Problèmes détectés
Analyse des vulnérabilités
GKE Security Posture propose deux variantes d'analyse des vulnérabilités : Basic et Advanced.

GKE Security Posture Dashboard — Variantes d'analyse des vulnérabilités
Analyse Basic — Vulnérabilités de l'OS du conteneur :
Il s'agit du mode de base, sans coût supplémentaire. GKE analyse en continu les images de conteneurs exécutées sur les clusters GKE inscrits.
GKE s'appuie sur des données de vulnérabilités issues de bases CVE publiques telles que NIST. Les images peuvent provenir de n'importe quel registre.
La version de l'OS doit être prise en charge pour l'analyse. Pour la liste des systèmes d'exploitation compatibles, consultez Versions Linux compatibles.
Analyse Advanced — Packages de langage :
En mode avancé, en complément de l'analyse de l'OS, GKE inspecte aussi en continu les conteneurs à la recherche de vulnérabilités connues dans certains packages de langage. Les données proviennent de sources publiques comme la GitHub Advisory Database.
Le scanner utilisé est celui d'Artifact Analysis, que vous pouvez aussi déployer séparément pour protéger vos dépôts Artifact Registry. Dans le dashboard Security Posture, les images de conteneurs peuvent provenir de n'importe quel registre, puisque GKE les analyse pendant l'exécution des workloads. GKE assure ainsi une analyse continue de vos packages de langage à chaque mise à jour de vos images de conteneurs par vos workflows.
L'analyse continue garantit une notification dès qu'un correctif est disponible pour une nouvelle vulnérabilité, ce qui réduit les délais de découverte et de remédiation. GKE couvre les langages suivants : Go, Maven, Javascript, Python.
Les analyses sont activées automatiquement à la création de nouveaux clusters Autopilot en version 1.27 ou ultérieure. Pour les clusters Standard, l'activation se fait manuellement.
Seules les vulnérabilités associées à un numéro CVE apparaissent dans le dashboard Security Posture. L'analyse avancée est un service payant, facturé par cluster et par heure.
Plus de détails ici.
Diffusion des bulletins de sécurité
Lorsqu'une vulnérabilité est découverte dans GKE, Google la corrige et publie un bulletin de sécurité associé. Pour en savoir plus sur l'identification, l'application des correctifs et les délais, consultez GKE security patching.
Cette fonctionnalité est activée automatiquement à la création d'un cluster Autopilot ou Standard ; elle est néanmoins en preview à ce jour (juin 2024).

GKE Security Posture Dashboard — Bulletins de sécurité
Supply chain — Binary Authorization
Le dashboard Security Posture peut afficher les informations issues d'autres offres de sécurité Google Cloud actives dans votre projet, à l'image de Binary Authorization.
Le dashboard Security Posture est sans frais supplémentaires, mais l'utilisation d'autres fonctionnalités de Binary Authorization, comme l'enforcement, sort de son périmètre et relève de la tarification Binary Authorization for GKE.
Binary Authorization vérifie les points suivants sur les images de conteneurs en cours d'exécution :
- Les images qui utilisent le tag
latest, implicitement ou explicitement - Les images (déployées par digest) chargées dans Artifact Registry ou Container Registry (obsolète) il y a plus de 30 jours
Pour plus de détails sur Binary Authorization, consultez ce lien.
GKE threat detection
GKE threat detection est une capacité avancée disponible sans frais supplémentaires pour les utilisateurs de GKE Enterprise. Elle est actuellement en preview (juin 2024).
Lorsque vos clusters GKE sont enregistrés dans une fleet, GKE threat detection confronte vos GKE audit logs dans Cloud Logging à un ensemble de règles prédéfinies couvrant les menaces sur les clusters et les workloads. En cas de menace détectée, un résultat apparaît dans le dashboard GKE Security Posture, accompagné d'une description, de l'impact potentiel et des actions recommandées pour la neutraliser.
Tous les clusters GKE inscrits dans votre fleet sont analysés en continu pour repérer les menaces actives. Les menaces détectées sont classées selon les tactiques MITRE ATT&CK®.
GKE threat detection s'appuie sur le service Event Threat Detection de Security Command Center. Dans le dashboard GKE Security Posture, seul le sous-ensemble de règles applicables à GKE est évalué.
Intégration avec Security Command Center
Si vous utilisez Security Command Center Standard tier ou Premium tier dans votre organisation ou votre projet, les résultats du dashboard Security Posture s'affichent directement dans Security Command Center. Pour plus de détails sur les types de résultats remontés, consultez Sources de sécurité.
Pour aller plus loin sur le dashboard GKE Security Posture, la documentation Google est disponible ici.
Contactez-nous
Si vous ne connaissez pas encore DoiT International, c'est le moment idéal pour faire connaissance. Notre équipe est à l'écoute pour comprendre vos enjeux de cloud engineering. Composée exclusivement d'ingénieurs seniors, elle est spécialisée dans le conseil cloud avancé, la conception d'architectures et le debugging. Contactez-nous, on en discute !
Avec GKE Security Posture, vous bénéficiez d'une vue centralisée de la posture de sécurité de vos clusters, ce qui ouvre la voie à une détection et à une remédiation proactives des menaces. Cet ensemble complet d'outils vous donne les moyens de sécuriser vos applications conteneurisées et de maintenir un environnement cloud-native sain.
J'espère que cet article vous aura été utile ! Pour toute question, n'hésitez pas à laisser un commentaire ci-dessous.
Références :
https://cloud.google.com/security-command-center/docs/concepts-security-sources#gke-security-posture-dashboard\ d https://cloud.google.com/kubernetes-engine/docs/concepts/about-configuration-scanning#what-checks
https://cloud.google.com/artifact-analysis/docs/scan-os-automatically#linux-versions
https://nvd.nist.gov/vuln/search
https://cloud.google.com/artifact-analysis/pricing#avi
https://cloud.google.com/kubernetes-engine/docs/resources/security-patching
https://cloud.google.com/binary-authorization/pricing#for_pricing
https://attack.mitre.org/tactics/enterprise/
https://cloud.google.com/security-command-center/docs/concepts-event-threat-detection-overview