Sécurité des conteneurs

Sécurisez votre environnement de conteneurs sur GCP, GKE ou Anthos.

Présentation

La conteneurisation permet aux équipes de développement d'agir rapidement, de déployer efficacement des logiciels et d'œuvrer à une échelle sans précédent. Comme les entreprises créent de plus en plus de charges de travail conteneurisées, la sécurité doit être intégrée à chaque étape du cycle de compilation et de déploiement. Découvrez comment sécuriser les environnements de conteneurs que vous exécutez sur GCP, qu'il s'agisse de Kubernetes Engine ou d'Anthos, dans trois domaines critiques.

Sécurité de l'infrastructure

La sécurité de votre infrastructure dépend de la capacité de votre plate-forme de gestion des conteneurs à proposer les fonctionnalités de sécurité appropriées. Kubernetes comporte des fonctionnalités de sécurité permettant de protéger les identités, les secrets et le réseau. Google Kubernetes Engine utilise des produits GCP natifs, tels que Cloud IAM, Cloud Audit Logging et des clouds privés virtuels, ainsi que des fonctionnalités qui lui sont propres, telles que le chiffrement des secrets au niveau de la couche d'application et Workload Identity, afin que vos charges de travail bénéficient du meilleur de Google en termes de sécurité.

Chaîne d'approvisionnement logicielle

Pour sécuriser la chaîne d'approvisionnement logicielle, vous devez vous assurer que les images de conteneurs peuvent être déployées en toute sécurité. Cela vous permet de vérifier qu'elles ne présentent pas de failles et que les images compilées ne sont pas modifiées avant d'être déployées.

Sécurité de l'environnement d'exécution

La sécurité de l'environnement d'exécution vous permet d'identifier un conteneur agissant de manière malveillante en production et de prendre les mesures nécessaires pour protéger votre charge de travail.

L'exécution de conteneurs vous permet d'adopter un modèle de sécurité foncièrement différent

Gestion des correctifs et immuabilité simplifiées

Gestion des correctifs et immuabilité simplifiées

Comme les conteneurs sont conçus pour être immuables, vous devez déployer une nouvelle image pour apporter des modifications. Vous pouvez simplifier la gestion des correctifs en recompilant vos images régulièrement. Les correctifs seront ainsi récupérés lors du prochain déploiement d'un conteneur. Obtenez une vue d'ensemble de votre environnement en procédant à des examens réguliers de la sécurité des images.

Surface d'attaque réduite

Surface d'attaque réduite

Les conteneurs sont conçus pour s'exécuter sur un système d'exploitation hôte bien plus petit que celui utilisé pour des VM, puisque plus d'éléments sont empaquetés directement dans l'application. Ce système d'exploitation hôte minimal limite la surface d'attaque potentielle de votre charge de travail.

Isolation des ressources et des charges de travail

Isolation des ressources et des charges de travail

Les conteneurs vous permettent de facilement limiter des ressources, telles que des volumes de stockage, à certains processus à l'aide de groupes de contrôle et d'espaces de noms. Grâce à des technologies comme GKE Sandbox, vous pouvez isoler vos charges de travail de manière logique dans un sous-environnement de bac à sable de VM, distinct de celui des autres applications.

Sécurité de l'infrastructure

Garantir la sécurité de l'infrastructure des conteneurs consiste à s'assurer que les développeurs disposent des outils dont ils ont besoin pour compiler des services conteneurisés en toute sécurité. Ces fonctionnalités sont généralement intégrées aux systèmes d'orchestration de conteneurs, tels que Kubernetes. Si vous utilisez Google Kubernetes Engine, ces fonctionnalités sont disponibles en mode natif, en plus d'autres fonctionnalités Google Cloud.

Identité et autorisation

Dans Google Kubernetes Engine, vous pouvez gérer l'accès à vos projets avec Cloud IAM, ainsi que l'accès à vos clusters et à vos espaces de noms à l'aide du contrôle des accès basé sur les rôles.

Journaux d'audit

Dans Kubernetes, les journaux d'audit de l'API sont automatiquement récupérés. Dans Google Kubernetes Engine, Cloud Audit Logging les enregistre automatiquement pour vous.

Mise en réseau

Dans Google Kubernetes Engine, créez une règle de réseau pour gérer les communications entre les pods de votre cluster. Utilisez des clusters privés pour les adresses IP privées et intégrez les ressources Google Kubernetes Engine dans un VPC partagé.

Conformité

Google Kubernetes Engine présente de nombreuses certifications de conformité, telles que ISO 27001, ISO 27017, ISO 27018, HIPAA et PCI DSS.

Système d'exploitation hôte minimal

Google Kubernetes Engine utilise Container-Optimized OS (COS) par défaut, un système d'exploitation sur mesure optimisé pour l'exécution de conteneurs. COS est géré par Google en Open Source.

Composants automatiquement mis à jour

Dans GKE, la dernière version de Kubernetes est automatiquement installée sur les instances maîtres, et vous pouvez utiliser la mise à jour automatique des nœuds pour maintenir une sécurité à jour en appliquant automatiquement les tout derniers correctifs à vos nœuds.

Clés de chiffrement gérées par le client

Il se peut que les utilisateurs dans des secteurs réglementés veuillent pouvoir contrôler les clés servant à chiffrer les données stockées dans GKE. Grâce aux clés de chiffrement gérées par le client, vous pouvez choisir une clé Cloud KMS afin de protéger le disque persistant de GKE.

Chiffrement des secrets au niveau de la couche d'application

Par défaut, les secrets Kubernetes sont stockés en texte brut. GKE chiffre ces secrets sur le disque et surveille les données pour détecter les accès d'initiés. Toutefois, cela n'est peut-être pas suffisant pour protéger ces secrets contre une application malveillante dans votre environnement. Le chiffrement des secrets au niveau de la couche d'application permet de protéger les secrets à l'aide du chiffrement encapsulé et d'une clé que vous gérez dans Cloud KMS.

Workload Identity

Il est probable que votre application conteneurisée doive se connecter à d'autres services, tels qu'une base de données, pour pouvoir remplir ses fonctions. Pour ce faire, elle doit d'abord s'authentifier sur ces services. Workload Identity utilise un compte de service géré par Google pour partager les identifiants d'authentification et applique les principes du moindre privilège pour l'authentification de l'application.

Certificats SLL gérés

Dans GKE, les équilibreurs de charge HTTPS doivent être associés à un certificat SSL. Vous pouvez obtenir, gérer et renouveler vous-même ces certificats. Vous pouvez également laisser Google se charger de les obtenir, gérer ou renouveler automatiquement pour vous, ce qui vous évite de devoir les renouveler vous-même ou d'oublier de les renouveler.

Chaîne d'approvisionnement logicielle

Pour la chaîne d'approvisionnement logicielle, vous devez savoir exactement quels sont les éléments déployés dans votre environnement afin de pouvoir contrôler intégralement vos applications, du code à l'image en passant par le déploiement. Ces fonctionnalités sont généralement intégrées à votre pipeline CI/CD et à votre registre de conteneurs (comme Google Container Registry). Elles sont utilisées en tant que test d'admissibilité avant le déploiement de vos conteneurs en production.

Images de base sécurisées et gérées

Google Container Registry fournit des images de base Debian et Ubuntu, gérées par Google via l'application régulière de correctifs et la réalisation de tests fréquents. Ces images gérées par Google ont été corrigées en amont à l'aide des tout derniers correctifs disponibles. Cela vous permet de disposer d'images à jour sans avoir à les récupérer à partir d'un dépôt inconnu ni à les maintenir vous-même.

Analyse des failles

Google Container Registry possède une fonction d'analyse des failles qui vous permet de détecter dans vos images et packages les failles connues figurant dans la base de données Common Vulnerabilities and Exposures (CVE).

Règles de déploiement

Dans Google Kubernetes Engine, utilisez l'autorisation binaire pour limiter les images que vous déployez dans votre environnement en fonction d'attestations. Vous pouvez définir des conditions, sous forme d'attestations ou de signatures, que les images doivent respecter avant leur déploiement. Ces conditions peuvent consister à analyser l'image pour détecter des failles ou à faire vérifier l'image par l'équipe de contrôle qualité (QA).

Compilations régulières

Vous pouvez régulièrement recompiler et redéployer vos conteneurs afin de bénéficier des derniers correctifs progressivement déployés dans votre environnement.

Sécurité de l'environnement d'exécution

Pour assurer la sécurité de l'environnement d'exécution des conteneurs, votre équipe chargée de la sécurité doit être en mesure de détecter les menaces de sécurité pesant sur les conteneurs s'exécutant dans votre environnement et d'y répondre. Ces fonctionnalités sont généralement intégrées à vos outils de gestion des opérations de sécurité.

Surveillance

Stackdriver est intégré à Google Kubernetes Engine afin de faciliter l'analyse des journaux. Vous pouvez également écrire des événements de sécurité dans Cloud Security Command Center (Cloud SCC).

Détection d'activités anormales

Tirez parti des solutions de nos partenaires (parmi lesquelles Aqua Security, Capsule8, StackRox, Sysdig Secure et Twistlock) pour détecter les éventuelles attaques et afficher les résultats dans Cloud SCC.

Application de règles de sécurité

PodSecurityPolicy est une fonctionnalité de Kunernetes Open Source qui vous permet de créer des garde-fous pour vos conteneurs en définissant des contraintes sur l'exécution de vos pods. Vous pouvez, par exemple, appliquer des contraintes telles que AppArmor et Seccomp.

Isolation

Empêchez qu'un conteneur malveillant n'affecte les autres. GKE Sandbox utilise un noyau d'espace utilisateur pour intercepter et gérer les appels système. Cela vous permet d'assurer une défense en profondeur de vos conteneurs sans avoir à changer la façon dont les développeurs interagissent avec leurs applications. GKE Sandbox est basé sur gVisor, un projet Open Source créé par Google.

Ressources

Découvrez plus d'informations concernant la sécurité des conteneurs.

Google Cloud

Premiers pas

Développez vos connaissances et créez des applications

Vous débutez sur GCP ? Bénéficiez d'un avoir de 300 $ pour essayer les produits GCP gratuitement.

Encore besoin d'aide ?

Nos experts peuvent vous aider à concevoir la solution adaptée à vos besoins ou à trouver le bon partenaire.