Ingérer des données Google Cloud dans Chronicle

Cette page explique comment activer et désactiver l'ingestion de vos données Google Cloud dans Chronicle. Chronicle vous permet de stocker, de rechercher et d'examiner les informations de sécurité agrégées de votre entreprise en remontant des mois ou plus en fonction de votre durée de conservation des données.

Présentation

Deux options s'offrent à vous pour envoyer des données Google Cloud à Chronicle. Le choix de l'option appropriée dépend du type de journal.

Option 1: ingestion directe

Vous pouvez configurer un filtre Cloud Logging spécial dans Google Cloud pour envoyer des types de journaux spécifiques à Chronicle en temps réel. Ces journaux sont générés par les services Google Cloud.

Chronicle reçoit les journaux même s'ils sont exclus au niveau du projet dans Google Cloud, mais inclus à la fois dans le filtre d'exportation des journaux et dans la journalisation Google Cloud au niveau de l'organisation. Pour exclure des journaux de Chronicle, vous devez mettre à jour le filtre d'exportation des journaux Chronicle dans Google Cloud.

Voici les types de journaux disponibles:

Pour collecter les journaux d'application Compute Engine ou Google Kubernetes Engine (GKE), tels qu'Apache, Nginx ou IIS, utilisez l'option 2. Envoyez également une demande d'assistance auprès de Chronicle pour envoyer vos commentaires à l'avenir en tant que type de journal via l'option 1.

Pour en savoir plus sur les filtres de journaux spécifiques et l'ingestion, consultez la page Exporter des journaux Google Cloud vers Chronicle.

Les métadonnées Google Cloud supplémentaires à utiliser comme contexte à des fins d'enrichissement peuvent également être envoyées à Chronicle. Pour en savoir plus, consultez la page Exporter les métadonnées des éléments Google Cloud vers Chronicle.

Option 2: Google Cloud Storage

Cloud Logging peut acheminer les journaux vers Cloud Storage pour qu'ils soient récupérés par Chronicle de manière planifiée.

Pour en savoir plus sur la configuration de Cloud Storage pour Chronicle, consultez Gestion de flux: Cloud Storage.

Avant de commencer

Avant de pouvoir ingérer vos données Google Cloud dans votre instance Chronicle, vous devez procéder comme suit:

  1. Contactez votre représentant Chronicle et obtenez le code d'accès à usage unique dont vous avez besoin pour ingérer vos données Google Cloud.

  2. Accordez les rôles IAM suivants, qui sont nécessaires pour accéder à la section Chronicle:

    • Administrateur de services Chronicle (roles/chroniclesm.admin): rôle IAM permettant d'effectuer toutes les activités.
    • Lecteur du service Chronicle (roles/chroniclesm.viewer): rôle IAM permettant d'afficher uniquement l'état de l'ingestion.
    • Éditeur de l'administrateur du centre de sécurité (roles/securitycenter.adminEditor): nécessaire pour activer l'ingestion de métadonnées d'éléments cloud.
  3. Si vous envisagez d'activer les métadonnées d'éléments cloud, vous devez également activer le service Google Cloud de niveau Standard ou Premium de Security Command Center. Pour en savoir plus, consultez la page Activer Security Command Center pour une organisation.

Attribuer des rôles IAM

Vous pouvez attribuer les rôles IAM requis à l'aide de la console Google Cloud ou de gcloud CLI.

Pour attribuer des rôles IAM à l'aide de Google Cloud Console, procédez comme suit :

  1. Connectez-vous à l'organisation Google Cloud à laquelle vous souhaitez vous connecter et accédez à l'écran IAM à l'aide de Products > IAM & Admin > IAM (Produits > IAM et administration > IAM).
  2. Sur l'écran IAM, sélectionnez l'utilisateur, puis cliquez sur Modifier le membre.

  3. Sur l'écran Modifier les autorisations, cliquez sur Ajouter un autre rôle et recherchez Chronicle pour trouver les rôles IAM.

  4. Une fois que vous avez attribué les rôles, cliquez sur Enregistrer.

Pour attribuer des rôles IAM à l'aide de la Google Cloud CLI, procédez comme suit:

  1. Vérifiez que vous êtes connecté à la bonne organisation. Vérifiez cela en exécutant la commande gcloud init.

  2. Pour accorder le rôle IAM d'administrateur du service Chronicle à l'aide de gcloud, exécutez la commande suivante:

    gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
    --member "user:USER_EMAIL" \
    --role roles/chroniclesm.admin
    

    Remplacez les éléments suivants :

    • ORGANIZATION_ID: ID numérique de l'organisation.
    • USER_EMAIL: adresse e-mail de l'administrateur.
  3. Pour accorder le rôle IAM de lecteur du service Chronicle à l'aide de gcloud, exécutez la commande suivante:

    gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
    --member "user:USER_EMAIL" \
    --role roles/chroniclesm.viewer
    
  4. Pour accorder le rôle Éditeur de l'administrateur du centre de sécurité à l'aide de gcloud, exécutez la commande suivante:

     gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
     --member "user:USER_EMAIL" \
     --role roles/securitycenter.adminEditor`
    

Activer l'ingestion de données Google Cloud

Les données Google Cloud sont ingérées à l'aide d'une API interne privée entre Security Command Center et Chronicle. L'ingestion n'atteint jamais le réseau externe et n'utilise jamais d'adresses IP. Google accède directement aux journaux Google Cloud en fonction de l'authentification effectuée à l'aide du code à usage unique fourni par Chronicle for Security Command Center.

Pour activer l'ingestion de données de votre organisation Google Cloud dans votre instance Chronicle, procédez comme suit:

  1. Accédez à la page Chronicle de la console Google Cloud.
    Accéder à la page "Chronicle"

  2. Saisissez votre code d'accès à usage unique dans le champ Code d'accès Chronicle à usage unique.

  3. Pour autoriser l'utilisation de Chronicle, cochez la case J'accepte les conditions d'utilisation de Chronicle de mes données Google Cloud.

  4. Cliquez sur Connect Chronicle.

Vos données Google Cloud vont maintenant être envoyées à Chronicle. Vous pouvez utiliser les fonctionnalités d'analyse de Chronicle pour examiner tout problème lié à la sécurité. Les sections suivantes décrivent comment ajuster les types de données Google Cloud qui seront envoyés à Chronicle

Exporter des journaux Google Cloud vers Chronicle

Vous pouvez exporter les types de données Google Cloud suivants vers votre instance Chronicle:

  • GCP_CLOUDAUDIT:
    • log_id("cloudaudit.googleapis.com/activity") (exporté par le filtre par défaut)
    • log_id("cloudaudit.googleapis.com/system_event") (exporté par le filtre par défaut)
    • log_id("cloudaudit.googleapis.com/policy")
    • log_id("cloudaudit.googleapis.com/access_transparency")
  • GCP_CLOUD_NAT:
    • log_id("compute.googleapis.com/nat_flows")
  • GCP_DNS:
    • log_id("dns.googleapis.com/dns_queries") (exporté par le filtre par défaut)
  • GCP_FIREWALL:
    • log_id("compute.googleapis.com/firewall")
  • GCP_IDS:
    • log_id("ids.googleapis.com/threat")
    • log_id("ids.googleapis.com/traffic")
  • GCP_LOADBALANCING:
    • log_id("requests")
    • log_id("loadbalancing.googleapis.com/external_regional_requests")
    • log_id("networksecurity.googleapis.com/network_dos_attack_mitigations")
    • log_id("networksecurity.googleapis.com/dos_attack")
    • Cela inclut les journaux Google Cloud Armor et Cloud Load Balancing
  • GCP_CLOUDSQL:
    • log_id("cloudsql.googleapis.com/mysql-general.log")
    • log_id("cloudsql.googleapis.com/mysql.err")
    • log_id("cloudsql.googleapis.com/postgres.log")
    • log_id("cloudsql.googleapis.com/sqlagent.out")
    • log_id("cloudsql.googleapis.com/sqlserver.err")
  • NIX_SYSTEM:
    • log_id("syslog")
    • log_id("authlog")
    • log_id("securelog")
  • LINUX_SYSMON:
    • log_id("sysmon.raw")
  • WINEVTLOG:
    • log_id("winevt.raw")
    • log_id("windows_event_log")
  • BRO_JSON:
    • log_id("zeek_json_streaming_conn")
    • log_id("zeek_json_streaming_dhcp")
    • log_id("zeek_json_streaming_dns")
    • log_id("zeek_json_streaming_http")
    • log_id("zeek_json_streaming_ssh")
    • log_id("zeek_json_streaming_ssl")
  • KUBERNETES_NODE:
    • log_id("events")
    • log_id("stdout")
    • log_id("stderr")
  • AUDITD:
    • log_id("audit_log")
  • GCP_APIGEE_X:
    • log_id("apigee-logs")
    • logName =~ "^projects/[\w\-]+/logs/apigee\.googleapis\.com[\w\-]*$"
    • Ajustez l'expression régulière du filtre de journal si nécessaire.
  • GCP_RECAPTCHA_ENTERPRISE:
    • log_id("recaptchaenterprise.googleapis.com/assessment")
    • log_id("recaptchaenterprise.googleapis.com/annotation")
  • GCP_RUN:
    • log_id("run.googleapis.com/stderr")
    • log_id("run.googleapis.com/stdout")
    • log_id("run.googleapis.com/requests")
    • log_id("run.googleapis.com/varlog/system")
  • GCP_NGFW_ENTERPRISE:
    • log_id("networksecurity.googleapis.com/firewall_threat")

Pour exporter vos journaux Google Cloud vers Chronicle, activez l'option Journaux Google Cloud. Tous les types de journaux Google Cloud répertoriés ci-dessus seront exportés vers votre instance Chronicle.

Journaux Google Cloud

Pour connaître les bonnes pratiques sur les filtres de journaux à utiliser, consultez la page Analyse des journaux de sécurité dans Google Cloud.

Exporter les paramètres de filtre

Par défaut, vos journaux Cloud Audit Logs (activités d'administration et événements système) et vos journaux Cloud DNS sont envoyés à votre compte Chronicle. Toutefois, vous pouvez personnaliser le filtre d'exportation pour inclure ou exclure des types de journaux spécifiques. Le filtre d'exportation est basé sur le langage de requête de journalisation Google.

Pour définir un filtre personnalisé pour vos journaux, procédez comme suit:

  1. Définissez votre filtre en créant un filtre personnalisé pour vos journaux à l'aide du langage de requête de journalisation. La documentation suivante explique comment définir ce type de filtre : /logging/docs/view/logging-query-language

  2. Accédez à l'explorateur de journaux à l'aide du lien fourni dans l'onglet Export Filter Settings (Exporter les paramètres du filtre), copiez votre nouvelle requête dans le champ Query (Requête), puis cliquez sur Run Query (Exécuter la requête) pour la tester.

    Vérifiez que les journaux correspondants affichés dans l'explorateur de journaux correspondent exactement à ceux que vous souhaitez exporter vers Chronicle.

Procédez comme suit à partir de l'onglet Exporter les paramètres du filtre:

  1. Lorsque le filtre est prêt, cliquez sur l'icône de modification et collez-le dans le champ Exporter le filtre.

  2. Cliquez sur Enregistrer le filtre personnalisé. Votre nouveau filtre personnalisé fonctionne avec tous les nouveaux journaux exportés vers votre compte Chronicle.

  3. Vous pouvez rétablir la version par défaut du filtre d'exportation en cliquant sur Rétablir les paramètres par défaut. Veillez à enregistrer d'abord une copie de votre filtre personnalisé.

Régler les filtres de journaux Cloud Audit Logs

Les journaux d'accès aux données Cloud Audit Data peuvent générer un grand volume de journaux sans une grande valeur de détection des menaces. Si vous choisissez d'envoyer ces journaux à Chronicle, vous devez filtrer les journaux générés par des activités de routine.

Le filtre d'exportation suivant capture les journaux d'accès aux données et exclut les événements volumineux tels que les opérations de lecture et de liste de Cloud Storage et Cloud SQL:

  ( `log_id("cloudaudit.googleapis.com/data_access")`
  AND NOT protoPayload.methodName =~ "^storage\.(buckets|objects)\.(get|list)$"
  AND NOT protoPayload.request.cmd = "select" )

Pour en savoir plus sur le réglage des journaux d'accès aux données Cloud Audit Data, cliquez ici.

Exemples de filtres d'exportation

Les exemples de filtres d'exportation suivants montrent comment inclure ou exclure certains types de journaux de l'exportation vers votre compte Chronicle.

Exemple de filtre d'exportation 1: Inclure des types de journaux supplémentaires

Le filtre d'exportation suivant exporte les journaux Access Transparency en plus des journaux par défaut:

log_id("dns.googleapis.com/dns_queries") OR
log_id("cloudaudit.googleapis.com/activity") OR
log_id("cloudaudit.googleapis.com/system_event") OR
log_id("cloudaudit.googleapis.com/access_transparency")

Exemple de filtre d'exportation 2: Inclure des journaux supplémentaires provenant d'un projet spécifique

Le filtre d'exportation suivant exporte les journaux Access Transparency d'un projet spécifique, en plus des journaux par défaut:

log_id("dns.googleapis.com/dns_queries") OR
log_id("cloudaudit.googleapis.com/activity") OR
log_id("cloudaudit.googleapis.com/system_event") OR
logName = "projects/my-project-id/logs/cloudaudit.googleapis.com%2Faccess_transparency"

Exemple de filtre d'exportation 3: Inclure des journaux supplémentaires à partir d'un dossier spécifique

Le filtre d'exportation suivant exporte les journaux Access Transparency à partir d'un dossier spécifique, en plus des journaux par défaut:

log_id("dns.googleapis.com/dns_queries") OR
log_id("cloudaudit.googleapis.com/activity") OR
log_id("cloudaudit.googleapis.com/system_event") OR
logName = "folders/my-folder-id/logs/cloudaudit.googleapis.com%2Faccess_transparency"

Exemple de filtre d'exportation 4: Exclure les journaux d'un projet spécifique

Le filtre d'exportation suivant exporte les journaux par défaut de l'ensemble de l'organisation Google Cloud, à l'exception d'un projet spécifique:

(log_id("dns.googleapis.com/dns_queries") OR
log_id("cloudaudit.googleapis.com/activity") OR
log_id("cloudaudit.googleapis.com/system_event")) AND
(NOT logName =~ "^projects/my-project-id/logs/.*$")

Exporter des métadonnées d'éléments Google Cloud vers Chronicle

Vous pouvez exporter vos métadonnées d'éléments Google Cloud vers Chronicle. Ces métadonnées d'éléments sont extraites de votre inventaire des éléments Google Cloud et comprennent des informations sur vos éléments, vos ressources et vos identités, y compris les éléments suivants:

  • Environnement
  • Emplacement
  • Zone
  • Modèles de matériel
  • Relations de contrôle des accès entre les ressources et les identités

Voici les types spécifiques de métadonnées d'éléments Google Cloud qui seront exportés vers votre compte Chronicle:

  • GCP_BIGQUERY_CONTEXT
  • GCP_CLOUD_FUNCTIONS_CONTEXT
  • GCP_COMPUTE_CONTEXT
  • GCP_IAM_CONTEXT
  • GCP_IAM_ANALYSIS
  • GCP_KUBERNETES_CONTEXT
  • GCP_NETWORK_CONNECTIVITY_CONTEXT
  • GCP_RESOURCE_MANAGER_CONTEXT
  • GCP_SQL_CONTEXT
  • GCP_STORAGE_CONTEXT

Voici quelques exemples de métadonnées d'éléments Google Cloud:

  • Nom de l'application : Google-iamSample/0.1
  • Nom du projet : projects/my-project

assetType, resource.data.name et resource.version sont des exemples de champs de journal de contexte Resource Manager.

Pour en savoir plus sur les types de ressources, consultez la page Types de ressources compatibles avec l'inventaire des éléments cloud.

Pour exporter vos métadonnées d'éléments Google Cloud vers Chronicle, activez l'option Métadonnées d'éléments cloud.

Activez les métadonnées d'éléments cloud.

Documentation de référence sur le mappage de champs et types de ressources compatibles

Le tableau suivant répertorie les analyseurs de contexte compatibles avec Chronicle, l'étiquette d'ingestion correspondante et les types de ressources acceptés.

Pour afficher la documentation de référence sur le mappage de l'analyseur de contexte, cliquez sur le nom de l'analyseur de contexte correspondant dans le tableau.

Nom du service Étiquette d'ingestion Types de ressources acceptés
BigQuery GCP_BIGQUERY_CONTEXT
Resource Manager GCP_RESOURCE_MANAGER_CONTEXT
Cloud SQL GCP_SQL_CONTEXT
Cloud Functions GCP_CLOUD_FUNCTIONS_CONTEXT
Identity and Access Management GCP_IAM_CONTEXT
Network Connectivity Center GCP_NETWORK_CONNECTIVITY_CONTEXT
Google Kubernetes Engine GCP_KUBERNETES_CONTEXT
Compute Engine GCP_COMPUTE_CONTEXT

Exporter les résultats de Security Command Center vers Chronicle

Vous pouvez exporter les résultats de Security Command Center Premium Event Threat Detection (ETD) et tous les autres résultats vers Chronicle.

Pour en savoir plus sur les résultats d'Event Threat Detection, consultez la présentation de Security Command Center.

Pour exporter vos résultats de niveau Premium de Security Command Center vers Chronicle, activez l'option Résultats Premium de Security Command Center.

Activer les résultats du niveau Premium de Security Command Center

Exporter les données de Sensitive Data Protection vers Chronicle

Pour ingérer les métadonnées d'éléments Sensitive Data Protection (DLP_CONTEXT), procédez comme suit:

  1. Activez l'ingestion de données Google Cloud en suivant la section précédente de ce document.
  2. Configurez la protection des données sensibles pour profiler les données.
  3. Configurez la configuration de l'analyse pour publier des profils de données dans Chronicle.

Pour en savoir plus sur la création de profils de données pour BigQuery, consultez la documentation sur la protection des données sensibles.

Désactiver l'ingestion de données Google Cloud

  1. Cochez la case I want to disconnect Chronicle and stop sending Google Cloud Logs into Chronicle (Je souhaite déconnecter Chronicle, puis arrêter d'envoyer des journaux Google Cloud à Chronicle).

  2. Cliquez sur Disconnect Chronicle (Déconnecter Chronicle).

    Déconnecter Chronicle.

Dépannage

  • Si les relations entre les ressources et les identités ne sont pas présentes sur votre système Chronicle, définissez l'option Export Cloud logs to Chronicle (Exporter les journaux Cloud vers Chronicle) sur désactivée, puis réactivez-la.
  • Les métadonnées des éléments sont régulièrement ingérées dans Chronicle. Un délai de plusieurs heures est nécessaire pour que les modifications soient visibles dans l'interface utilisateur et les API Chronicle.

Étapes suivantes

  • Ouvrez votre compte Chronicle à l'aide de l'URL spécifique au client fournie par votre représentant Chronicle.
  • Apprenez-en plus sur Chronicle