Collecter les journaux AWS Key Management Service

Compatible avec:

Ce document explique comment ingérer les journaux AWS Key Management Service (KMS) dans Google Security Operations. AWS KMS est un service entièrement géré qui vous permet de créer et de contrôler les clés de chiffrement utilisées pour chiffrer vos données. Cette intégration permet de surveiller et d'auditer l'utilisation des clés de chiffrement.

Avant de commencer

  • Assurez-vous de disposer d'une instance Google SecOps.
  • Assurez-vous de disposer d'un accès privilégié à AWS.

Configurer Amazon S3 et IAM

  1. Créez un bucket Amazon S3 en suivant ce guide de l'utilisateur: Créer un bucket.
  2. Enregistrez le nom et la région du bucket pour une utilisation ultérieure.
  3. Créez un utilisateur en suivant le guide de l'utilisateur Créer un utilisateur IAM.
  4. Sélectionnez l'utilisateur créé.
  5. Sélectionnez l'onglet Informations d'identification de sécurité.
  6. Cliquez sur Créer une clé d'accès dans la section Clés d'accès.
  7. Sélectionnez Service tiers comme Cas d'utilisation.
  8. Cliquez sur Suivant.
  9. Facultatif: ajoutez une balise de description.
  10. Cliquez sur Créer une clé d'accès.
  11. Cliquez sur Download CSV file (Télécharger le fichier CSV) pour enregistrer la clé d'accès et la clé d'accès secrète pour les utiliser ultérieurement.
  12. Cliquez sur OK.
  13. Sélectionnez l'onglet Autorisations.
  14. Cliquez sur Ajouter des autorisations dans la section Règles d'autorisation.
  15. Sélectionnez Ajouter des autorisations.
  16. Sélectionnez Joindre directement des règles.
  17. Recherchez et sélectionnez la règle AmazonS3FullAccess.
  18. Cliquez sur Suivant.
  19. Cliquez sur Ajouter des autorisations.

Configurer CloudTrail pour AWS KMS

  1. Connectez-vous à l'AWS Management Console.
  2. Dans la barre de recherche, saisissez CloudTrail, puis sélectionnez-le dans la liste des services.
  3. Cliquez sur Créer un parcours.
  4. Indiquez un nom de piste (par exemple, KMS-Activity-Trail).
  5. Cochez la case Activer pour tous les comptes de mon organisation.
  6. Saisissez l'URI du bucket S3 créé précédemment (au format s3://your-log-bucket-name/) ou créez un bucket S3.
  7. Si le chiffrement côté serveur (SSE) KMS est activé, fournissez un nom pour l'alias AWS KMS ou choisissez une clé AWS KMS existante.
  8. Vous pouvez conserver les autres paramètres par défaut.
  9. Cliquez sur Suivant.
  10. Sous Types d'événements, sélectionnez Événements de gestion et Événements de données.
  11. Cliquez sur Suivant.
  12. Vérifiez les paramètres dans Vérifier et créer.
  13. Cliquez sur Créer un parcours.
  14. Facultatif: Si vous avez créé un bucket, suivez la procédure ci-dessous :
    1. Accédez à S3.
    2. Identifiez et sélectionnez le bucket de journaux que vous venez de créer.
    3. Sélectionnez le dossier AWSLogs.
    4. Cliquez sur Copier l'URI S3, puis enregistrez-le.

Configurer un flux dans Google SecOps pour ingérer les journaux AWS KMS

  1. Accédez à SIEM Settings > Feeds (Paramètres du SIEM > Flux).
  2. Cliquez sur Ajouter.
  3. Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple, Journaux AWS KMS).
  4. Sélectionnez Amazon S3 comme Type de source.
  5. Sélectionnez AWS KMS comme Type de journal.
  6. Cliquez sur Suivant.
  7. Spécifiez les valeurs des paramètres d'entrée suivants:

    • Region (Région) : région dans laquelle se trouve le bucket Amazon S3.
    • URI S3: URI du bucket.
      • s3://your-log-bucket-name/
        • Remplacez your-log-bucket-name par le nom réel du bucket.
    • Un URI est: sélectionnez Répertoire ou Répertoire incluant des sous-répertoires.
    • Options de suppression de la source: sélectionnez l'option de suppression en fonction de vos préférences.

    • ID de clé d'accès: clé d'accès utilisateur ayant accès au bucket S3.

    • Clé d'accès secrète: clé secrète de l'utilisateur ayant accès au bucket S3.

    • Espace de noms des éléments: espace de noms des éléments.

    • Libellés d'ingestion: libellé à appliquer aux événements de ce flux.

  8. Cliquez sur Suivant.

  9. Vérifiez la configuration de votre nouveau flux dans l'écran Finaliser, puis cliquez sur Envoyer.

Tableau de mappage UDM

Champ de journal Mappage UDM Logique
data.detail.awsRegion principal.location.country_or_region Mappé directement à partir du champ data.detail.awsRegion dans le journal brut.
data.detail.eventCategory security_result.category_details Mappé directement à partir du champ data.detail.eventCategory dans le journal brut.
data.detail.eventName metadata.product_event_type Mappé directement à partir du champ data.detail.eventName dans le journal brut. Ce champ détermine la valeur metadata.event_type en fonction de la logique: si eventName est "Decrypt" (Déchiffrer) ou "Encrypt" (Chiffrer), alors event_type est "USER_RESOURCE_ACCESS" (ACCÈS AUX RESSOURCES UTILISATEUR), si eventName est "GenerateDataKey" (Générer une clé de données), alors event_type est "USER_RESOURCE_CREATION" (CRÉATION DE RESSOURCES UTILISATEUR), sinon event_type est "GENERIC_EVENT" (ÉVÉNEMENT GÉNÉRAL).
data.detail.requestID additional.fields.key La valeur est codée en dur sur "requestID" dans le code de l'analyseur.
data.detail.requestID additional.fields.value.string_value Mappé directement à partir du champ data.detail.requestID dans le journal brut.
data.detail.requestParameters.encryptionAlgorithm security_result.detection_fields.key La valeur est codée en dur sur "encryptionAlgorithm" dans le code de l'analyseur.
data.detail.requestParameters.encryptionAlgorithm security_result.detection_fields.value Mappé directement à partir du champ data.detail.requestParameters.encryptionAlgorithm dans le journal brut.
data.detail.resources.ARN target.resource.id Mappé directement à partir du champ data.detail.resources.ARN dans le journal brut.
data.detail.resources.type target.resource.resource_subtype Mappé directement à partir du champ data.detail.resources.type dans le journal brut.
data.detail.userIdentity.sessionContext.attributes.mfaAuthenticated principal.user.attribute.labels.key La valeur est codée en dur sur "mfaAuthenticated" dans le code de l'analyseur.
data.detail.userIdentity.sessionContext.attributes.mfaAuthenticated principal.user.attribute.labels.value Mappé directement à partir du champ data.detail.userIdentity.sessionContext.attributes.mfaAuthenticated dans le journal brut.
data.detail.userIdentity.sessionContext.sessionIssuer.principalId principal.user.userid Mappé directement à partir du champ data.detail.userIdentity.sessionContext.sessionIssuer.principalId dans le journal brut.
data.detail.userIdentity.sessionContext.sessionIssuer.userName principal.user.user_display_name Mappé directement à partir du champ data.detail.userIdentity.sessionContext.sessionIssuer.userName dans le journal brut.
data.detail.userIdentity.type principal.user.attribute.roles.name Mappé directement à partir du champ data.detail.userIdentity.type dans le journal brut.
data.id metadata.product_log_id Mappé directement à partir du champ data.id dans le journal brut.
data.time metadata.event_timestamp.seconds Valeur des secondes de l'horodatage extrait du champ data.time dans le journal brut.
N/A metadata.event_type Ce champ est dérivé de la logique de l'analyseur en fonction de la valeur de data.detail.eventName: si eventName est "Decrypt" (Déchiffrer) ou "Encrypt" (Chiffrer), alors event_type est "USER_RESOURCE_ACCESS" (ACCÈS AUX RESSOURCES UTILISATEUR), si eventName est "GenerateDataKey" (Générer une clé de données), alors event_type est "USER_RESOURCE_CREATION" (CRÉATION DE RESSOURCES UTILISATEUR), sinon event_type est "GENERIC_EVENT" (ÉVÉNEMENT GÉNÉRAL).
N/A metadata.log_type La valeur est codée en dur sur "AWS_KMS" dans le code de l'analyseur.
N/A metadata.product_name La valeur est codée en dur sur "AWS Key Management Service" dans le code de l'analyseur.
N/A metadata.vendor_name La valeur est codée en dur sur "AMAZON" dans le code de l'analyseur.
N/A principal.asset.attribute.cloud.environment La valeur est codée en dur sur "AMAZON_WEB_SERVICES" dans le code de l'analyseur.

Modifications

2022-05-27

  • Amélioration:
  • Modification de la valeur stockée dans metadata.product_name pour qu'elle soit "AWS Key Management Service".

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.