La sécurité d'Anthos Service Mesh vous aide à atténuer les menaces internes et à réduire le risque de violation des données en veillant à ce que toutes les communications entre les charges de travail soient chiffrées, mutuellement authentifiées et autorisés.
Traditionnellement, la microsegmentation utilisant des règles basées sur l'adresse IP permet d'atténuer les risques internes. Toutefois, l'adoption de conteneurs, de services partagés et d'environnements de production distribués répartis sur plusieurs clouds rend cette approche plus difficile à configurer et même plus difficile à gérer.
Avec Anthos Service Mesh, vous pouvez configurer une couche de sécurité réseau basée sur le contexte du service et le contexte de la requête, indépendamment de la sécurité du réseau sous-jacent. Par conséquent, Anthos Service Mesh vous permet d'adopter une stratégie de défense en profondeur conforme aux principes de sécurité de zéro confiance. Il vous permet d'atteindre cet objectif via des stratégies déclaratives et sans modifier le code d'application.
TLS mutuel
Anthos Service Mesh utilise le protocole TLS mutuel (mTLS) pour l'authentification de pairs. L'authentification fait référence à l'identité : qui est le service ? Qui est cet utilisateur final ? Et puis-je me fier à leur identité ?
mTLS permet aux charges de travail de valider leurs identités et de s'authentifier entre elles. Vous connaissez peut-être déjà le protocole TLS simple utilisé dans HTTPS pour permettre aux navigateurs d'approuver des serveurs Web et de chiffrer les données échangées. Lorsque le protocole TLS simple est utilisé, le client établit que le serveur est digne de confiance en validant son certificat. mTLS est une mise en œuvre de TLS dans laquelle le client et le serveur se présentent des certificats et vérifient leurs identités respectives.
mTLS est le moyen par lequel Anthos Service Mesh met en œuvre l'authentification et le chiffrement entre les services.
Dans les versions 1.6 et ultérieures d'Anthos Service Mesh, l'authentification mTLS automatique est activée par défaut. L'authentification mTLS permet à un proxy side-car client de détecter automatiquement si le serveur possède un side-car. Le side-car client envoie l'authentification mTLS aux charges de travail avec des side-cars, et envoie du texte brut aux charges de travail sans side-car. Notez toutefois que les services acceptent à la fois le trafic en texte brut et le trafic mTLS. Pour sécuriser votre maillage de services, nous vous recommandons de migrer vos services pour n'accepter que le trafic mTLS.
Avantages de sécurité
Anthos Service Mesh offre les avantages de sécurité suivants :
Atténue le risque de nouvelle lecture ou d'usurpation d'identité qui utilisent des identifiants volés. Anthos Service Mesh s'appuie sur des certificats mTLS pour authentifier les pairs, plutôt que sur des jetons de support tels que les jetons Web JSON (JWJ). Les certificats mTLS étant liés au canal TLS, il n'est pas possible qu'une entité de votre environnement de production procède à une usurpation d'identité en renouvelant le jeton d'authentification sans accéder aux clés privées.
Assure le chiffrement en transit. L'utilisation de mTLS pour l'authentification garantit également que toutes les communications TCP sont chiffrées en transit.
Garantit que seuls les clients autorisés peuvent accéder à un service contenant des données sensibles. Seuls les clients autorisés peuvent accéder à un service contenant des données sensibles, indépendamment de l'emplacement réseau du client et des identifiants au niveau de l'application. Vous pouvez spécifier que seuls les clients disposant d'identités de service autorisés ou dans les espaces de noms Kubernetes autorisés peuvent accéder à un service. Vous pouvez également utiliser des stratégies d'accès basées sur les adresses IP pour accorder l'accès aux clients déployés en dehors de l'environnement GKE Enterprise.
Atténue le risque de violation des données utilisateur sur votre réseau de production. Vous pouvez vous assurer que les initiés ne peuvent accéder aux données sensibles que via des clients autorisés. De plus, vous pouvez faire en sorte que certains clients ne puissent accéder aux informations sur l'utilisateur que s'ils peuvent présenter un jeton utilisateur valide et de courte durée. Cela réduit le risque que les identifiants d'un client accordent à un pirate informatique l'accès à toutes les informations sur l'utilisateur.
Identifie les clients ayant accédé à un service avec des données sensibles. La journalisation des accès Anthos Service Mesh capture l'identité mTLS du client en plus de l'adresse IP. Ainsi, vous pouvez facilement déterminer quelle charge de travail a accédé à un service, même si elle est éphémère et déployée de manière dynamique, et dans un autre cluster ou sur un réseau VPC (cloud privé virtuel).
Fonctionnalités
Anthos Service Mesh offre les fonctionnalités suivantes pour tirer pleinement parti des avantages de sécurité :
Certificat automatique et rotation des clés. L'utilisation de mTLS basée sur les identités de service permet de chiffrer toutes les communications TCP et fournit des identifiants plus sécurisés et ne pouvant être relus pour le contrôle des accès. L'un des principaux défis de l'utilisation de mTLS à grande échelle est la gestion des clés et des certificats pour toutes les charges de travail cibles. Anthos Service Mesh gère la rotation des clés et des certificats mTLS pour les charges de travail GKE Enterprise sans interrompre les communications. Cela vous permet de configurer des intervalles d'invalidation plus petits, ce qui réduit davantage le risque.
Autorité de certification privée gérée (Mesh CA) Anthos Service Mesh inclut une autorité de certification privée multirégionale gérée par Google, Mesh CA, pour émettre des certificats pour mTLS. Mesh CA est un service hautement fiable et évolutif, optimisé pour les charges de travail évolutives sur une plate-forme cloud. Avec Mesh CA, Google gère la sécurité et la disponibilité du backend CA. Mesh CA vous permet de vous appuyer sur une racine de confiance unique dans tous les clusters GKE Enterprise. Lorsque vous utilisez Mesh CA, vous pouvez compter sur les pools d'identités de charge de travail pour fournir un isolement grossier. Par défaut, l'authentification échoue si le client et le serveur ne se trouvent pas dans le même pool d'identité de charge de travail.
Les certificats provenant de Mesh CA incluent les données suivantes sur les services de votre application :
- L'ID de projet Google Cloud
- L'espace de noms GKE
- Le nom du compte de service GKE
Stratégies de contrôle de l'accès selon l'identité (pare-feu) Avec Anthos Service Mesh, vous pouvez configurer des règles de sécurité réseau basées sur l'identité mTLS et sur l'adresse IP du pair. Cela vous permet de créer des règles indépendantes de l'emplacement réseau de la charge de travail. Seules les communications entre les clusters d'un même projet Google Cloud sont actuellement compatibles.
Demander des stratégies de contrôle d'accès compatibles avec les revendications (pare-feu). En plus de l'identité mTLS, vous pouvez accorder un accès basé sur les revendications de requête dans l'en-tête JWT des requêtes HTTP ou gRPC. Anthos Service Mesh vous permet de déclarer qu'un jeton JWT est signé par une entité de confiance. Cela signifie que vous ne pouvez configurer des règles qui autorisent l'accès de certains clients que si une revendication de requête existe ou correspond à une valeur spécifiée.
Authentification des utilisateurs avec Identity-Aware Proxy Vous authentifiez les utilisateurs qui accèdent à tout service exposé sur une passerelle d'entrée Anthos Service Mesh à l'aide d'Identity-Aware Proxy (IAP). IAP peut authentifier les utilisateurs qui se connectent à partir d'un navigateur, s'intègrent à des fournisseurs d'identité personnalisés, et émettre un jeton JWT de courte durée ou un jeton RCToken qui peuvent ensuite être utilisés pour accorder l'accès à la passerelle d'entrée ou un service en aval (en utilisant un side-car). Pour en savoir plus, consultez la page Intégrer IAP avec Anthos Service Mesh.
Authentification des utilisateurs avec votre fournisseur d'identité existant. Vous pouvez intégrer votre fournisseur d'identité existant à Anthos Service Mesh pour fournir une authentification des utilisateurs finaux basée sur un navigateur et pour contrôler l'accès à vos charges de travail déployées. Pour en savoir plus, consultez la page Configurer l'authentification des utilisateurs avec Anthos Service Mesh.
Journalisation et surveillance des accès. Anthos Service Mesh garantit que les métriques et les journaux d'accès sont disponibles dans l'observabilité Google Cloud, et fournit un tableau de bord intégré permettant de comprendre les modèles d'accès d'un service ou d'une charge de travail basés sur ces données. Vous pouvez également choisir de configurer une destination privée. Anthos Service Mesh vous permet de réduire le bruit dans les journaux d'accès en n'enregistrant les accès réussis qu'une seule fois dans une fenêtre de temps configurable. Les requêtes refusées par une règle de sécurité ou une erreur sont toujours intégrées dans le journal. Vous pouvez ainsi réduire considérablement les coûts associés à l'ingestion, au stockage et au traitement des journaux, sans perte des signaux de sécurité clés.
Conformité avec la norme FIPS. Tous les composants et les proxys du plan de contrôle dans le cluster utilisent des modules de chiffrement certifiés FIPS 140-2.
Limites
La sécurité d'Anthos Service Mesh présente actuellement les limites suivantes :
- Mesh CA n'est disponible que sur GKE sur Google Cloud et sur site.
- L'authentification de l'utilisateur qui utilise IAP nécessite la publication d'un service sur Internet. IAP et Anthos Service Mesh vous permettent de configurer des stratégies pouvant restreindre l'accès aux utilisateurs et clients autorisés dans une plage d'adresses IP autorisée. Si vous choisissez de n'exposer le service qu'aux clients du même réseau, vous devez configurer un moteur de règles personnalisées pour l'authentification des utilisateurs et l'émission des jetons.
Étapes suivantes
- Configurer la sécurité du transport
- Mettre à jour vos stratégies d'autorisation
- Mettre à jour au profit des règles de sécurité bêta