Se connecter à AWS pour détecter les failles et évaluer les risques

Vous pouvez connecter le niveau Security Command Center Enterprise à votre environnement AWS pour effectuer les opérations suivantes:

  • Détectez et corrigez les failles logicielles et les erreurs de configuration dans votre environnement AWS.
  • Créer et gérer une stratégie de sécurité pour AWS
  • Identifiez les chemins d'attaque potentiels allant de l'Internet public à vos ressources AWS à forte valeur.
  • Mapper la conformité des ressources AWS avec différentes normes et analyses comparatives

En connectant Security Command Center à AWS, votre équipe chargée des opérations de sécurité dispose d'un outil centralisé qui lui permet de gérer et de corriger les menaces et les failles sur Google Cloud et AWS.

Pour permettre à Security Command Center de surveiller votre organisation AWS, vous devez configurer une connexion à l'aide d'un agent de service Google Cloud et d'un compte AWS ayant accès aux ressources que vous souhaitez surveiller. Security Command Center utilise cette connexion pour collecter régulièrement les métadonnées des éléments de tous les comptes et régions AWS que vous définissez.

Ce document explique comment configurer la connexion avec AWS. Lorsque vous configurez une connexion, vous configurez les éléments suivants:

  • Une série de comptes dans AWS disposant d'un accès direct aux ressources AWS que vous souhaitez surveiller. Dans la console Google Cloud, ces comptes sont appelés comptes de collecteur.
  • Un compte dans AWS disposant des stratégies et des rôles appropriés pour permettre l'authentification auprès des comptes de collecteur Dans la console Google Cloud, ce compte est appelé compte délégué. Le compte délégué et les comptes de collecteur doivent se trouver dans la même organisation AWS.
  • Un agent de service dans Google Cloud qui se connecte au compte délégué pour l'authentification.
  • Pipeline permettant de collecter des données d'éléments à partir de ressources AWS.

Cette connexion ne s'applique pas aux fonctionnalités SIEM de Security Command Center qui vous permettent d'ingérer les journaux AWS pour la détection des menaces.

Le schéma suivant présente cette configuration. Le projet locataire est un projet créé automatiquement et contient votre instance de pipeline de collecte de données sur les éléments.

Configuration d'AWS et de Security Command Center

Avant de commencer

Effectuez ces tâches avant de terminer celles qui figurent sur cette page.

Activer le niveau Security Command Center Enterprise

Suivez les étapes 1 et 2 du guide de configuration pour activer le niveau Security Command Center Enterprise.

Configurer les autorisations

Pour obtenir les autorisations nécessaires pour utiliser le connecteur AWS, demandez à votre administrateur de vous attribuer le rôle IAM Propriétaire d'éléments cloud (roles/cloudasset.owner). Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

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

Créer des comptes AWS

Assurez-vous d'avoir créé les ressources AWS suivantes:

Configurer Security Command Center

  1. Dans la console Google Cloud, accédez à la page de configuration.

    Accéder à la configuration

  2. Vérifiez que vous consultez bien l'organisation pour laquelle vous avez activé le niveau Security Command Center Enterprise.

  3. Cliquez sur Étape 3: Configurer le connecteur Amazon Web Services (AWS).

  4. Dans ID de compte délégué, saisissez l'ID du compte AWS que vous pouvez utiliser comme compte délégué.

  5. Si vous le souhaitez, examinez les options avancées.

  6. Cliquez sur Continuer.

  7. Effectuez l'une des actions suivantes :

    • Téléchargez les modèles CloudFormation pour le rôle délégué et le rôle de collecteur.
    • Si vous avez configuré les options avancées ou si vous devez modifier les noms de rôles AWS par défaut (aws-delegated-role et aws-collector-role), sélectionnez Utiliser la console AWS. Copiez l'ID de l'agent de service, le nom du rôle délégué et le nom du rôle de collecteur.

    Une fois la connexion créée, vous ne pouvez plus modifier les noms des rôles.

Ne cliquez pas sur Créer. À la place, configurez votre environnement AWS.

Configurer votre environnement AWS

Vous pouvez configurer votre environnement AWS à l'aide de l'une des méthodes suivantes:

Utiliser des modèles CloudFormation pour configurer votre environnement AWS

Si vous avez téléchargé des modèles CloudFormation, suivez ces étapes pour configurer votre environnement AWS.

  1. Connectez-vous à la console de compte délégué AWS. Assurez-vous d'être connecté au compte délégué utilisé pour prendre en compte d'autres comptes AWS de collecteur.
  2. Accédez à la console du modèle AWS CloudFormation.
  3. Cliquez sur Piles > Avec les nouvelles ressources (standard).
  4. Importez le fichier de modèle du rôle délégué, puis cliquez sur Suivant.
  5. Saisissez un nom de pile. Si vous avez modifié le nom du rôle délégué, mettez à jour les paramètres. Cliquez sur Suivant.
  6. Conformément aux exigences de votre organisation, mettez à jour les options de pile et cliquez sur Suivant.
  7. Vérifiez les informations, puis cliquez sur Envoyer. Attendez que la pile soit créée. Si un problème survient, consultez la section Dépannage.

    Si vous choisissez d'ajouter des comptes AWS individuellement (en désactivant la découverte automatique des comptes), vous pouvez également créer des piles distinctes pour chaque compte AWS au lieu de créer un seul ensemble de piles.

  8. À l'aide d'un compte de gestion AWS ou d'un compte membre enregistré en tant qu'administrateur délégué, cliquez sur Stackset > Create StackSet (Pile > Créer un ensemble de piles).

  9. Cliquez sur Autorisations gérées par le service.

  10. Importez le fichier de modèle du rôle de collecteur. Cliquez sur Suivant.

  11. Sur la page Spécifier les détails du jeu de piles, saisissez le nom et la description de l'ensemble de piles. Vérifiez et mettez à jour l'ID de compte délégué et les noms des rôles. Cliquez sur Suivant.

  12. Selon les exigences de votre organisation, configurez vos options d'ensemble de piles. Cliquez sur Suivant.

  13. Sur la page Définir les options de déploiement, procédez comme suit:

    1. Choisissez vos cibles de déploiement. Vous pouvez le déployer à l'échelle de l'organisation AWS ou d'une unité organisationnelle incluant tous les comptes AWS à partir desquels vous souhaitez collecter des données.

    2. Spécifiez les régions AWS dans lesquelles créer les rôles et les stratégies. Les rôles étant des ressources globales, vous n'avez pas besoin de spécifier plusieurs régions.

    3. Modifiez d'autres paramètres si nécessaire, puis cliquez sur Suivant.

  14. Examinez les modifications, puis cliquez sur Envoyer. Si vous recevez une erreur, consultez la section Dépannage.

  15. Déployez une pile distincte pour provisionner le rôle de collecteur sous le compte de gestion, car un ensemble de piles AWS CloudFormation ne crée pas d'instances de pile sous un compte de gestion. Pour en savoir plus, consultez la page DeploymentTargets.

Pour terminer le processus d'intégration, consultez Terminer le processus d'intégration.

Configurer des comptes AWS manuellement

Si vous ne pouvez pas utiliser les modèles CloudFormation (par exemple, si vous utilisez des noms de rôle différents ou personnalisez l'intégration), vous pouvez créer manuellement les stratégies IAM AWS et les rôles IAM AWS requis.

Vous devez créer des stratégies et des rôles IAM AWS pour le compte délégué et les comptes de collecteur.

Créer la stratégie AWS IAM pour le rôle délégué

Pour créer une stratégie AWS IAM pour le rôle délégué (stratégie déléguée), procédez comme suit:

  1. Connectez-vous à la console de compte délégué AWS.

  2. Cliquez sur Règles > Créer une règle.

  3. Cliquez sur JSON et collez le contenu suivant:

    {
      "Version": "2012-10-17",
      "Statement": [
          {
              "Action": "sts:AssumeRole",
              "Resource": "arn:aws:iam::*:role/COLLECTOR_ROLE_NAME",
              "Effect": "Allow"
          },
          {
              "Action": [
                  "organizations:List*",
                  "organizations:Describe*"
              ],
              "Resource": "*",
              "Effect": "Allow"
          }
      ]
    
    }
    

    Remplacez COLLECTOR_ROLE_NAME par le nom du rôle de collecteur que vous avez copié lors de la configuration de Security Command Center (la valeur par défaut est aws-collector-role).

  4. Cliquez sur Suivant.

  5. Dans la section Détails de la règle, saisissez un nom et une description pour la stratégie.

  6. Cliquez sur Créer une stratégie.

Créer un rôle AWS IAM pour la relation d'approbation entre AWS et Google Cloud

Créer un rôle délégué qui établit une relation de confiance entre AWS et Google Cloud Ce rôle utilise la stratégie déléguée créée dans Créer la stratégie IAM AWS pour le rôle délégué.

  1. Connectez-vous à la console de compte délégué AWS en tant qu'utilisateur AWS pouvant créer des rôles et des stratégies IAM.

  2. Cliquez sur Rôles > Créer un rôle.

  3. Dans le champ Type d'entité approuvé, cliquez sur Identité Web.

  4. Dans le champ Identity Provider (Fournisseur d'identité), cliquez sur Google.

  5. Dans le champ Audience, saisissez l'ID de compte de service que vous avez copié lors de la configuration de Security Command Center. Cliquez sur Next (Suivant).

  6. Pour accorder au rôle délégué l'accès aux rôles de collecteur, associez les stratégies d'autorisation au rôle. Recherchez la stratégie déléguée créée dans Créer la stratégie IAM AWS pour le rôle délégué et sélectionnez-la.

  7. Dans la section Détails du rôle, saisissez le nom du rôle délégué que vous avez copié lors de la configuration de Security Command Center (le nom par défaut est aws-delegated-role).

  8. Cliquez sur Créer un rôle.

Créer la stratégie AWS IAM pour la collecte des données d'éléments

Pour créer une stratégie AWS IAM pour la collecte des données d'éléments (la stratégie du collecteur), procédez comme suit:

  1. Connectez-vous à la console du compte de collecteur AWS.

  2. Cliquez sur Règles > Créer une règle.

  3. Cliquez sur JSON et collez le contenu suivant:

    {
      "Version": "2012-10-17",
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "ce:GetCostAndUsage",
                  "dynamodb:DescribeTableReplicaAutoScaling",
                  "identitystore:ListGroupMemberships",
                  "identitystore:ListGroups",
                  "identitystore:ListUsers",
                  "lambda:GetFunction",
                  "lambda:GetFunctionConcurrency",
                  "logs:ListTagsForResource",
                  "s3express:GetBucketPolicy",
                  "s3express:ListAllMyDirectoryBuckets",
                  "wafv2:GetIPSet"
              ],
              "Resource": [
                  "*"
              ]
          },
          {
              "Effect": "Allow",
              "Action": [
                  "apigateway:GET"
              ],
              "Resource": [
                  "arn:aws:apigateway:*::/usageplans",
                  "arn:aws:apigateway:*::/usageplans/*/keys",
                  "arn:aws:apigateway:*::/vpclinks/*"
              ]
          }
      ]
    
    }
    
  4. Cliquez sur Suivant.

  5. Dans la section Détails de la règle, saisissez un nom et une description pour la stratégie.

  6. Cliquez sur Créer une stratégie.

  7. Répétez ces étapes pour chaque compte de collecteur.

Créer le rôle AWS IAM pour la collecte de données dans chaque compte

Créez le rôle de collecteur permettant à Security Command Center d'obtenir des données d'éléments auprès d'AWS. Ce rôle utilise la stratégie de collecteur créée dans la section Créer la stratégie IAM AWS pour la collecte de données d'éléments.

  1. Connectez-vous à la console des comptes de collecteur AWS en tant qu'utilisateur pouvant créer des rôles IAM pour les comptes de collecteur.

  2. Cliquez sur Rôles > Créer un rôle.

  3. Pour Type d'entité de confiance, cliquez sur Règle de confiance personnalisée.

  4. Dans la section Règle de confiance personnalisée, collez le contenu suivant:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::DELEGATE_ACCOUNT_ID:role/DELEGATE_ACCOUNT_ROLE"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    

    Remplacez les éléments suivants :

  5. Pour que le rôle de collecteur puisse accéder aux données de configuration des éléments AWS, associez les stratégies d'autorisation au rôle. Recherchez la stratégie de collecteur personnalisée créée dans Créer la stratégie IAM AWS pour la collecte de données d'éléments, puis sélectionnez-la.

  6. Recherchez et sélectionnez les règles gérées suivantes:

    • arn:aws:iam::aws:policy/job-function/ViewOnlyAccess
    • arn:aws:iam::aws:policy/SecurityAudit
  7. Dans la section Détails du rôle, saisissez le nom du rôle de collecteur que vous avez copié lors de la configuration de Security Command Center.

  8. Cliquez sur Créer un rôle.

  9. Répétez ces étapes pour chaque compte de collecteur.

Pour terminer le processus d'intégration, consultez Terminer le processus d'intégration.

Terminer le processus d'intégration

  1. Dans la console Google Cloud, accédez à la page Ajouter un connecteur Amazon Web Services.

    Accéder au connecteur Amazon Web Services

  2. Cliquez sur Tester le connecteur pour vérifier que Security Command Center peut se connecter à votre environnement AWS. Si la connexion aboutit, l'agent de service Google Cloud peut assumer le rôle délégué, et le rôle délégué dispose de toutes les autorisations requises pour assumer le rôle de collecteur. Si la connexion échoue, consultez la section Résoudre les erreurs lors du test de la connexion.

  3. Cliquez sur Créer.

Configuration personnalisée

Cette section décrit certaines des méthodes vous permettant de personnaliser la connexion entre Security Command Center et AWS. Ces options sont disponibles dans la section Options avancées (facultatif) de la page Ajouter un connecteur Amazon Web Services dans la console Google Cloud.

Par défaut, Security Command Center détecte automatiquement vos comptes AWS dans toutes les régions AWS. La connexion utilise le point de terminaison global par défaut pour AWS Security Token Service et les requêtes par seconde (RPS) par défaut pour le service AWS que vous surveillez. Ces options avancées vous permettent de personnaliser les valeurs par défaut.

Option Description
Spécifier les comptes AWS à utiliser Vous pouvez laisser Security Command Center détecter automatiquement les comptes AWS, ou vous pouvez fournir une liste de comptes AWS qu'il peut utiliser pour rechercher des ressources.
Spécifier les comptes AWS à exclure Si vous autorisez Security Command Center à détecter automatiquement les comptes, vous pouvez fournir une liste de comptes AWS que Security Command Center ne peut pas utiliser pour rechercher des ressources.
Spécifiez les régions AWS à surveiller Vous pouvez sélectionner une ou plusieurs régions AWS que Security Command Center doit surveiller. Laissez le champ Régions AWS vide pour surveiller toutes les régions.
Ignorer les requêtes par seconde (RPS) par défaut pour les services AWS Vous pouvez modifier les RPS pour contrôler la limite de quota pour Security Command Center. Définissez le forçage sur une valeur inférieure à la valeur par défaut pour ce service et supérieure ou égale à 1. La valeur par défaut est la valeur maximale. Si vous modifiez les RPS, Security Command Center peut rencontrer des problèmes lors de la récupération des données. Par conséquent, nous vous déconseillons de la modifier.
Modifier le point de terminaison pour AWS Security Token Service Vous pouvez spécifier un point de terminaison spécifique pour AWS Security Token Service (par exemple, https://sts.us-east-2.amazonaws.com). Laissez le champ AWS Security Token Service (AWS STS) (facultatif) vide pour utiliser le point de terminaison global par défaut (https://sts.amazonaws.com).

Dépannage

Cette section présente certains problèmes courants que vous pouvez rencontrer lors de l'intégration de Security Command Center à AWS.

Les ressources existent déjà

Cette erreur se produit dans l'environnement AWS lorsque vous essayez de créer des stratégies et des rôles IAM AWS. Ce problème se produit lorsque le rôle existe déjà dans votre compte AWS et que vous essayez de le recréer.

Pour résoudre ce problème, procédez comme suit :

  • Vérifiez si le rôle ou la stratégie que vous créez existent déjà et répondent aux exigences listées dans ce guide.
  • Si nécessaire, modifiez le nom du rôle pour éviter tout conflit.

Compte principal non valide dans la règle

Cette erreur peut se produire dans l'environnement AWS lorsque vous créez les rôles de collecteur, mais le rôle de délégué n'existe pas encore.

Pour résoudre ce problème, suivez la procédure décrite dans Créer la stratégie AWS IAM pour le rôle délégué et attendez que le rôle délégué soit créé avant de continuer.

Limites de limitation dans AWS

AWS limite les requêtes API pour chaque compte AWS au niveau de chaque compte ou de chaque région. Pour s'assurer que ces limites ne sont pas dépassées lorsque Security Command Center collecte des métadonnées d'éléments à partir d'AWS, Security Command Center collecte les données à un nombre maximal fixe de RPS pour chaque service AWS, comme décrit dans la documentation de l'API pour le service AWS.

Si vous rencontrez une limitation des requêtes dans votre environnement AWS en raison des RPS consommées, vous pouvez atténuer le problème en procédant comme suit:

  • Sur la page des paramètres du connecteur AWS, définissez des RPS personnalisées pour le service AWS qui rencontre des problèmes de limitation des requêtes.

  • Limitez les autorisations du rôle de collecteur AWS afin que les données de ce service spécifique ne soient plus collectées. Cette technique d'atténuation empêche les simulations de chemin d'attaque de fonctionner correctement pour AWS.

La révocation de toutes les autorisations dans AWS interrompt immédiatement le processus du collecteur de données. La suppression du connecteur AWS n'arrête pas immédiatement le processus du collecteur de données, mais ne redémarre pas une fois l'opération terminée.

Résoudre les erreurs lors du test de la connexion

Ces erreurs peuvent se produire lorsque vous testez la connexion entre Security Command Center et AWS.

AWS_FAILED_TO_ASSUME_DELEGATED_ROLE

La connexion n'est pas valide, car l'agent de service Google Cloud ne peut pas endosser le rôle délégué.

Pour résoudre ce problème, tenez compte des points suivants:

AWS_FAILED_TO_LIST_ACCOUNTS

La connexion n'est pas valide, car la découverte automatique est activée et le rôle délégué ne peut pas obtenir tous les comptes AWS des organisations.

Ce problème indique que la règle autorisant l'action organizations:ListAccounts sur le rôle délégué est manquante sur certaines ressources. Pour résoudre ce problème, vérifiez quelles ressources sont manquantes. Pour vérifier les paramètres de la stratégie déléguée, consultez Créer la stratégie AWS IAM pour le rôle délégué.

AWS_INVALID_COLLECTOR_ACCOUNTS

La connexion n'est pas valide car il existe des comptes de collecteur non valides. Le message d'erreur contient plus d'informations sur les causes possibles, y compris les suivantes:

AWS_FAILED_TO_ASSUME_COLLECTOR_ROLE

Le compte de collecteur n'est pas valide, car le rôle délégué ne peut pas en assumer le rôle.

Pour résoudre ce problème, tenez compte des points suivants:

AWS_COLLECTOR_ROLE_POLICY_MISSING_REQUIRED_PERMISSION

La connexion n'est pas valide, car certains paramètres d'autorisation requis ne sont pas définis dans la stratégie de collecteur.

Pour résoudre ce problème, prenez en compte les causes suivantes:

Étapes suivantes