Collecter les journaux de contexte Compute Google Cloud

Version de l'analyseur : 3.0

Compatible avec :

Ce document explique comment exporter et ingérer des journaux de contexte Compute dans Google Security Operations à l'aide de Cloud Storage. Google Cloud L'analyseur extrait des informations des journaux au format JSON. Il normalise et structure ensuite les données extraites au format UDM de Google SecOps, en se concentrant sur les détails concernant les machines virtuelles, tels que les spécifications matérielles, la configuration réseau, les paramètres de sécurité et les relations avec d'autres entités.

Avant de commencer

Assurez-vous de remplir les conditions suivantes :

  • Instance Google SecOps
  • Compute est configuré et actif dans votre Google Cloud environnement.
  • Accès privilégié à Google Cloud et autorisations appropriées.

Créer un bucket Cloud Storage

  1. Connectez-vous à la Google Cloud console.
  2. Accédez à la page Buckets Cloud Storage.

    Accéder à la page "Buckets"

  3. Cliquez sur Créer.

  4. Sur la page Créer un bucket, saisissez les informations concernant votre bucket. Après chacune des étapes suivantes, cliquez sur Continuer pour passer à l'étape suivante :

    1. Dans la section Premiers pas, procédez comme suit :

      1. Saisissez un nom unique qui répond aux exigences relatives aux noms des buckets. Par exemple, compute-context-logs.
      2. Pour activer l'espace de noms hiérarchique, cliquez sur la flèche de développement pour développer la section Optimiser pour les charges de travail orientées fichiers et à forte intensité de données, puis sélectionnez Activer l'espace de noms hiérarchique sur ce bucket.

      3. Pour ajouter une étiquette de bucket, cliquez sur la flèche de développement pour développer la section Étiquettes.

      4. Cliquez sur Ajouter une étiquette, puis spécifiez une clé et une valeur pour votre étiquette.

    2. Dans la section Choisir l'emplacement de stockage de vos données, procédez comme suit :

      1. Sélectionnez un type d'emplacement.
      2. Utilisez le menu du type d'emplacement pour sélectionner un emplacement où les données d'objet de votre bucket seront stockées de manière permanente.

      3. Pour configurer la réplication entre buckets, développez la section Configurer la réplication entre buckets.

    3. Dans la section Choisir une classe de stockage pour vos données, sélectionnez une classe de stockage par défaut pour le bucket, ou bien classe automatique pour une gestion automatique des classes de stockage des données de votre bucket.

    4. Dans la section Choisissez comment contrôler l'accès aux objets, sélectionnez non pour appliquer la protection contre l'accès public, puis sélectionnez un modèle de contrôle des accès pour les objets de votre bucket.

    5. Dans la section Choisissez comment protéger les données des objets, procédez comme suit :

      1. Sous Protection des données , sélectionnez les options que vous souhaitez définir pour votre bucket.
      2. Pour choisir comment vos données d'objet seront chiffrées, cliquez sur la flèche de développement intitulée Chiffrement des données, puis sélectionnez une méthode de chiffrement des données.
  5. Cliquez sur Créer.

Configurer l'exportation des journaux Compute Google Cloud

  1. Connectez-vous à la Google Cloud console.
  2. Accédez à Logging > Routeur de journaux.
  3. Cliquez sur Créer un récepteur.
  4. Fournissez les paramètres de configuration suivants :

    • Nom du récepteur : saisissez un nom explicite, par exemple Compute-Context-Sink.
    • Destination du récepteur : sélectionnez Cloud Storage , puis saisissez l'URI de votre bucket, par exemple gs://compute-context-logs/.
    • Filtre de journaux :

      logName="*compute*"
      resource.type="gce_instance"
      
  5. Cliquez sur Créer.

Configurer les autorisations pour Cloud Storage

  1. Accédez à IAM et administration > IAM.
  2. Recherchez le compte de service Cloud Logging.
  3. Attribuez le rôle roles/storage.admin sur le bucket.

Configurer les flux

Il existe deux points d'entrée différents pour configurer des flux dans la plate-forme Google SecOps :

  • Paramètres SIEM > Flux > Ajouter un flux
  • Hub de contenu > Packs de contenu > Premiers pas

Configurer le flux de contexte Compute Google Cloud

  1. Cliquez sur le pack Google Cloud Compute platform.
  2. Recherchez le type de journal GCP Compute Context.
  3. Spécifiez les valeurs suivantes :

    • Type de source : Google Cloud Storage V2.
    • URI du bucket de stockage : URL du bucket Cloud Storage, par exemple gs://compute-context-logs/. Cette URL doit se terminer par une barre oblique (/).
    • Options de suppression de la source : sélectionnez l'option de suppression de votre choix.

    • Âge maximal des fichiers : fichiers modifiés au cours des derniers jours. La valeur par défaut est de 180 jours.

    • Compte de service Chronicle : copiez le compte de service. Vous en aurez besoin pour ajouter des autorisations dans le bucket afin que Google SecOps puisse lire ou supprimer des données dans le bucket.

    Options avancées

    • Nom du flux : valeur préremplie qui identifie le flux.
    • Espace de noms de l'élément : espace de noms associé au flux.
    • Libellés d'ingestion : libellés appliqués à tous les événements de ce flux.
  4. Cliquez sur Créer un flux.

Pour en savoir plus sur la configuration de plusieurs flux pour différents types de journaux au sein de cette famille de produits, consultez Configurer des flux par produit.

Table de mappage UDM

Champ du journal Mappage UDM Logique
ancêtres event.idm.entity.entity.asset.attribute.labels.value Chaque valeur d'ancêtre du tableau d'ancêtres est mappée sur un libellé distinct avec la clé ancestors.
assetType event.idm.entity.entity.asset.category Mappé directement à partir du champ assetType.
asset_type event.idm.entity.entity.asset.category Mappé directement à partir du champ asset_type.
nom event.idm.entity.entity.resource.name Mappé directement à partir du champ name.
resource.data.cpuPlatform event.idm.entity.entity.asset.hardware.cpu_platform Mappé directement à partir du champ resource.data.cpuPlatform.
resource.data.creationTimestamp event.idm.entity.entity.asset.attribute.creation_time Analysé au format d'horodatage à partir du champ resource.data.creationTimestamp.
resource.data.id event.idm.entity.entity.asset.product_object_id Mappé directement à partir du champ resource.data.id.
resource.data.labels.business_function event.idm.entity.entity.asset.attribute.labels.value Mappé directement à partir du champ resource.data.labels.business_function, avec la clé définie sur business_function.
resource.data.labels.environment event.idm.entity.entity.asset.attribute.labels.value Mappé directement à partir du champ resource.data.labels.environment, avec la clé définie sur environment.
resource.data.labels.infra_location event.idm.entity.entity.asset.attribute.labels.value Mappé directement à partir du champ resource.data.labels.infra_location, avec la clé définie sur infra_location.
resource.data.labels.instance_group event.idm.entity.user.group_identifiers Mappé directement à partir du champ resource.data.labels.instance_group.
resource.data.labels.os event.idm.entity.entity.asset.platform_software.platform_version Mappé directement à partir du champ resource.data.labels.os.
resource.data.labels.primary_application event.idm.entity.entity.asset.attribute.labels.value Mappé directement à partir du champ resource.data.labels.primary_application, avec la clé définie sur primary_application.
resource.data.labels.project_code event.idm.entity.entity.asset.attribute.labels.value Mappé directement à partir du champ resource.data.labels.project_code, avec la clé définie sur project_code.
resource.data.lastStartTimestamp event.idm.entity.entity.asset.last_boot_time Analysé au format d'horodatage à partir du champ resource.data.lastStartTimestamp.
resource.data.machineType event.idm.entity.entity.asset.hardware.model Le type de machine est extrait du champ resource.data.machineType à l'aide d'une expression régulière.
resource.data.name event.idm.entity.entity.asset.hostname Mappé directement à partir du champ resource.data.name.
resource.data.networkInterfaces.0.accessConfigs.0.natIP event.idm.entity.entity.asset.nat_ip La première adresse IP NAT de la première interface réseau est mappée.
resource.data.networkInterfaces.0.network event.idm.entity.entity.asset.attribute.cloud.vpc.name L'ID réseau est extrait du champ resource.data.networkInterfaces.0.network à l'aide d'une expression régulière.
resource.data.networkInterfaces.0.networkIP event.idm.entity.entity.asset.ip L'adresse IP de la première interface réseau est mappée.
resource.data.networkInterfaces.1.networkIP event.idm.entity.entity.asset.ip L'adresse IP de la deuxième interface réseau est mappée.
resource.data.selfLink event.idm.entity.entity.url Mappé directement à partir du champ resource.data.selfLink.
resource.data.serviceAccounts.0.email event.idm.entity.relations.entity.user.email_addresses L'adresse e-mail du premier compte de service est mappée.
resource.data.status event.idm.entity.entity.asset.deployment_status Mappé sur ACTIVE si l'état est l'un des suivants : RUNNING, PROVISIONING, STAGING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING ou TERMINATED. Sinon, mappé sur DEPLOYMENT_STATUS_UNSPECIFIED.
event.idm.entity.entity.asset.attribute.cloud.availability_zone La zone de disponibilité est construite en combinant les champs region et zone_suffix.
event.idm.entity.entity.asset.attribute.cloud.environment Défini sur GOOGLE_CLOUD_PLATFORM.
event.idm.entity.entity.asset.attribute.cloud.project.name L'ID du projet est extrait du champ name à l'aide d'une expression régulière.
event.idm.entity.entity.asset.attribute.cloud.project.resource_type Défini sur CLOUD_PROJECT.
event.idm.entity.entity.asset.attribute.cloud.vpc.resource_type Défini sur VPC_NETWORK.
event.idm.entity.entity.resource.resource_type Défini sur VIRTUAL_MACHINE si asset_type ou assetType contient Instance.
event.idm.entity.entity.resource.type Défini sur VIRTUAL_MACHINE si asset_type ou assetType contient Instance.
event.idm.entity.metadata.collected_timestamp Défini sur l'horodatage de l'événement Logstash.
event.idm.entity.metadata.entity_type Défini sur ASSET.
event.idm.entity.metadata.product_name Défini sur GCP Compute Context.
event.idm.entity.metadata.vendor_name Défini sur Google Cloud Platform.
event.idm.entity.relations.entity.user.attribute.cloud.environment Défini sur GOOGLE_CLOUD_PLATFORM.
event.idm.entity.relations.entity_type Défini sur USER.
event.idm.entity.relations.relationship Défini sur ADMINISTERS.

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