Surveiller la sécurité des applications dans Anthos

À tous les niveaux, Google Cloud intègre des fonctionnalités de sécurité puissantes qui fonctionnent ensemble et séparément pour vous protéger des problèmes de sécurité, y compris la sécurité des plates-formes et des applications. Cependant, avec une défense en profondeur de ce type, il n'est pas toujours facile de choisir les fonctionnalités qui pourraient être utiles à votre application particulière ou d'évaluer le fonctionnement de vos règles de sécurité au moment de l'exécution. Pour vous aider, le tableau de bord de sécurité Anthos offre une vue d'ensemble des fonctionnalités de sécurité actuelles de vos applications, ainsi qu'une vue d'audit des règles plus détaillée pour vous indiquer où modifier les configurations ou les charges de travail de sécurité afin d'améliorer votre stratégie de sécurité.

Ce document offre aux opérateurs de plates-formes et d'applications une présentation de la surveillance de la sécurité des applications Anthos. Pour en savoir plus sur chaque fonctionnalité de sécurité et sa surveillance, suivez les liens vers la documentation sur les fonctionnalités dans Étapes suivantes.

Actuellement, le tableau de bord de sécurité Anthos surveille les clusters sur Google Cloud uniquement.

Rôles requis

Pour obtenir les autorisations nécessaires pour afficher et auditer la sécurité des applications, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet :

  • roles/monitoring.viewer (Monitoring Viewer)
  • roles/logging.viewer (Logs Viewer)
  • roles/serviceusage.serviceUsageViewer (Service Usage Viewer)
  • roles/servicesecurityinsights.securityInsightsViewer (Security Insights Viewer)

Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

Ces rôles prédéfinis contiennent les autorisations requises pour afficher et auditer la sécurité des applications. Pour afficher les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

  • resourcemanager.projects.get
  • opsconfigmonitoring.resourceMetadata.list
  • serviceusage.services.list
  • servicesecurityinsights.projectStates.get
  • Pour afficher la présentation de la sécurité des applications, procédez comme suit :
    • logging.logEntries.list
    • servicesecurityinsights.clusterSecurityInfo.list
  • Pour auditer l'état actuel de toutes les fonctionnalités de sécurité surveillées :
    • servicesecurityinsights.clusterSecurityInfo.list
    • servicesecurityinsights.securityViews.get
    • servicesecurityinsights.securityInfo.list
    • servicesecurityinsights.workloadPolicies.list
  • Pour afficher les détails de sécurité d'une charge de travail :
    • monitoring.timeSeries.list
    • logging.logEntries.list
    • servicesecurityinsights.clusterSecurityInfo.get
    • servicesecurityinsights.workloadSecurityInfo.get
    • servicesecurityinsights.securityViews.get
    • servicesecurityinsights.workloadPolicies.list

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Afficher la présentation de la sécurité des applications

Pour afficher le tableau de bord de sécurité Anthos dans la console Google Cloud, procédez comme suit :

Par défaut, l'onglet Policy Summary (Résumé des règles) s'affiche, indiquant l'état des fonctionnalités de sécurité des applications Anthos dans votre projet, y compris des liens pour en savoir plus et activer les fonctionnalités. Les fonctionnalités sont répertoriées sous deux titres: Contrôle des accès et Authentification.

Capture d'écran de la vue récapitulative des règles

Contrôle des accès

Cette section indique l'état des fonctionnalités d'autorisation Anthos sélectionnées. Les voici :

  • L'autorisation binaire, qui vous permet de vous assurer que seules les images de confiance sont déployées sur vos clusters.
  • Stratégie de réseau Kubernetes, qui vous permet de spécifier quels pods sont autorisés à communiquer entre eux et avec d'autres points de terminaison du réseau.
  • Le contrôle des accès aux services Anthos Service Mesh, qui vous permet de configurer un contrôle d'accès précis pour vos services de maillage en fonction des comptes de service et des contextes de requête.

Si une fonctionnalité n'est pas activée dans votre projet, vous pouvez cliquer dessus pour l'activer (ou pour savoir comment l'activer).

Vous pouvez consulter l'état actuel des fonctionnalités activées et cliquer pour afficher plus de détails sur la période sélectionnée, y compris les actions refusées en raison de votre les stratégies de contrôle d'accès et d'autres événements intéressants. Par exemple, dans ce projet, trois déploiements ont été bloqués sur un cluster au cours de l'heure précédente en raison de stratégies d'autorisation binaire:

Capture d'écran des détails de la sécurité de l'autorisation binaire

Authentification

Cette section indique l'état des fonctionnalités d'authentification Anthos. Cette vue indique actuellement si vous avez créé une règle pour appliquer le protocole mTLS (TLS mutuel) dans chaque cluster sur lequel vous utilisez Anthos Service Mesh. mTLS est un protocole de sécurité qui garantit la sécurité et la fiabilité du trafic dans les deux sens entre deux services.

Notez que cette vue s'affiche uniquement si votre maillage de services contient une règle mTLS. Pour vérifier si la règle sécurise efficacement votre trafic et si le trafic non chiffré est autorisé dans votre maillage au moment de l'exécution, vous devez consulter la page plus détaillée Audit des règles, comme décrit dans la section suivante.

Auditez la sécurité des applications

La vue d'audit fournit une évaluation plus détaillée de l'état d'exécution de votre stratégie de sécurité des applications, cluster par cluster. Pour passer à la vue d'audit, procédez comme suit:

  1. Sélectionnez l'onglet Audit des règles.
  2. Dans les listes déroulantes, sélectionnez le cluster et (éventuellement) l'espace de noms que vous souhaitez surveiller.

Comme dans la vue récapitulative, vous pouvez voir l'état actuel de toutes les fonctionnalités de sécurité surveillées. Pour mTLS, vous pouvez également vérifier si vos règles autorisent actuellement le trafic non chiffré dans le maillage de services de ce cluster. Cela peut se produire si vous avez activé l'authentification mTLS partout en mode permissif, ce qui permet aux services de recevoir à la fois le trafic mTLS et le trafic en texte brut. Cela permet d'éviter les interruptions de service inattendues lorsque vous migrez vers le protocole mTLS strict. Nous vous recommandons de le modifier si vous souhaitez chiffrer les données de bout en bout sur l'ensemble de votre réseau maillé.

La liste Charges de travail vous permet ensuite de vérifier le fonctionnement de vos fonctionnalités de sécurité au niveau de la charge de travail. Pour chaque charge de travail, vous pouvez voir:

  • Si des règles de réseau Kubernetes sont appliquées
  • Les règles de contrôle d'accès du service Anthos Service Mesh qui s'appliquent à la charge de travail
  • Règle mTLS Anthos Service Mesh qui s'applique à la charge de travail – Permissive (valeur par défaut si vous n'avez pas créé de règles explicites s'appliquant à la charge de travail), Désactiver ou Strict

Afficher les détails concernant la sécurité des charges de travail

Sélectionnez les charges de travail individuelles dans la liste Charges de travail pour afficher plus de détails sur leur sécurité dans la vue des charges de travail. Vous pouvez afficher les informations suivantes pour chaque charge de travail:

  • Le cas échéant, un lien permettant d'afficher la définition des règles spécifique pour chaque fonctionnalité de sécurité des applications qui s'applique à la charge de travail.

Capture d'écran du lien vers une règle de réseau

  • Détails généraux de la charge de travail, y compris le nom, le cluster et le service associé.
  • Requêtes de service envoyées et depuis cette charge de travail, y compris les requêtes refusées par vos règles. Si une requête est refusée, vous pouvez afficher le détail des journaux pertinents dans Cloud Logging, ce qui vous permet de résoudre des refus spécifiques et d'obtenir des informations plus utiles sur la requête.

Capture d'écran des requêtes de service vers et depuis une charge de travail

  • Requêtes de règles de réseau vers et depuis cette charge de travail si la journalisation des règles de réseau Dataplane V2 est activée sur votre cluster. Pour en savoir plus sur l'affichage des informations sur les règles de réseau et sur leur impact sur votre charge de travail, consultez la section suivante.
  • Pods en cours d'exécution gérés par cette charge de travail

Afficher la connectivité de la charge de travail avec Dataplane V2

Si Dataplane V2 est activé sur le cluster contenant votre charge de travail, la section Requêtes de règle de réseau s'affiche dans la vue de la charge de travail. Si la journalisation des règles de réseau est configurée pour consigner les connexions autorisées et refusées, le trafic entrant et sortant de votre charge de travail s'affiche également, comme dans l'exemple suivant.

Capture d'écran des requêtes de règle de réseau vers et depuis une charge de travail

Le tableau fournit également des informations supplémentaires sur les connexions enregistrées par la journalisation des règles de réseau Dataplane V2. Pour afficher ces informations pour une charge de travail spécifique, procédez comme suit :

  1. Cliquez sur le menu Autres actions dans la ligne du tableau correspondant à la charge de travail qui vous intéresse.
  2. Dans le menu, sélectionnez les informations supplémentaires que vous souhaitez afficher :
    • Sélectionnez Afficher dans GKE pour accéder à l'interface utilisateur de GKE pour en savoir plus sur la charge de travail.
    • Sélectionnez Afficher les journaux de refus pour accéder à Cloud Logging filtré vers les entrées de journal appropriées.
    • Sélectionnez Afficher la connectivité des règles de réseau pour afficher un schéma de connectivité indiquant la stratégie de sécurité observée pour chaque direction de la connexion (sortie et entrée). Voici un exemple de diagramme :

Capture d'écran de la connectivité de la règle de réseau

Simuler la connexion entre les charges de travail en fonction des règles de réseau déployées

Si l'application de règles de réseau est activée sur le cluster contenant votre charge de travail, le bouton Simuler la règle de réseau s'affiche en haut de la page d'affichage de la charge de travail. Cette fonctionnalité vous permet de simuler si la charge de travail affichée peut envoyer ou recevoir du trafic en fonction d'une analyse de configuration des règles de réseau actuellement déployées.

Pour simuler la connexion entre vos charges de travail, procédez comme suit :

  1. Cliquez sur le bouton Simuler la règle de réseau pour la charge de travail dont vous souhaitez tester le trafic.
  2. Sélectionnez le sens de trafic (entrant ou sortant) de la charge de travail.
  3. Sélectionnez l'espace de noms et la charge de travail dont vous souhaitez tester le trafic entrant ou sortant.
  4. Cliquez sur Simuler. Un diagramme de connectivité s'affiche avec l'état pour chaque direction de la connexion (entrée et sortie). Le schéma présenté est semblable à celui utilisé lors de l'affichage de la connectivité de charge de travail avec Dataplane V2.

Vous trouverez ci-dessous un exemple de formulaire pour la simulation de connexion d'une règle de réseau :

Capture d'écran de la simulation de règle de réseau

Étape suivante