Envoyer des données de Security Command Center à Splunk

Cette page explique comment envoyer automatiquement les résultats, les éléments, les journaux d'audit et les sources de sécurité de Security Command Center à Splunk. Elle décrit également comment gérer les données exportées. Splunk est une plate-forme de gestion des informations et des événements de sécurité (SIEM, Security Information and Event Management) qui ingère des données provenant d'une ou de plusieurs sources. Elle permet aux équipes de sécurité de gérer les réponses aux incidents et d'effectuer des analyses en temps réel.

Dans ce guide, vous allez vérifier que les services Security Command Center etGoogle Cloud requis sont correctement configurés, et autoriser Splunk à accéder aux résultats, aux journaux d'audit et aux informations sur les éléments de votre environnement Security Command Center.

Avant de commencer

Ce guide suppose que vous utilisez l'un des éléments suivants :

Configurer l'authentification et l'autorisation

Avant de vous connecter à Splunk, vous devez créer un compte de service IAM (Identity and Access Management) dans chaque organisation Google Cloud à laquelle vous souhaitez vous connecter, et lui attribuer à la fois les rôles IAM au niveau de l'organisation et du projet dont le module complémentaire Google SCC pour Splunk a besoin.

Créer un compte de service et attribuer des rôles

Les étapes suivantes utilisent la console Google Cloud . Pour découvrir d'autres méthodes, consultez les liens disponibles à la fin de cette section.

Suivez ces étapes pour chaque organisation Google Cloud depuis vous souhaitez importer des données Security Command Center.

  1. Dans le projet dans lequel vous créez vos sujets Pub/Sub, utilisez la page Comptes de service de la console Google Cloud pour créer un compte de service. Pour obtenir des instructions, consultez la page Créer et gérer des comptes de service.
  2. Attribuez le rôle suivant au compte de service :

    • Éditeur Pub/Sub (roles/pubsub.editor)
  3. Copiez le nom du compte de service que vous venez de créer.

  4. Utilisez le sélecteur de projet dans la console Google Cloud pour passer au niveau de l'organisation.

  5. Ouvrez la page IAM de l'organisation :

    Accéder à IAM

  6. Sur la page IAM, cliquez sur Accorder l'accès. Le panneau "Accorder l'accès" s'affiche.

  7. Dans le panneau Accorder l'accès, procédez comme suit :

    1. Dans la section Ajouter des comptes principaux du champ Nouveaux comptes principaux, collez le nom du compte de service.
    2. Dans la section Attribuer des rôles, utilisez le champ Rôle pour attribuer les rôles IAM suivants au compte de service :

    3. Éditeur administrateur du centre de sécurité (roles/securitycenter.adminEditor)
    4. Éditeur de configuration des notifications du centre de sécurité (roles/securitycenter.notificationConfigEditor)
    5. Lecteur de l'organisation (roles/resourcemanager.organizationViewer)
    6. Lecteur d'éléments Cloud (roles/cloudasset.viewer)
    7. Cliquez sur Enregistrer. Le compte de service s'affiche dans l'onglet Autorisations de la page IAM sous Afficher par compte principal.

      Par héritage, le compte de service devient également un compte principal dans tous les projets enfants de l'organisation. Les rôles applicables au niveau du projet sont listés en tant que rôles hérités.

Pour plus d'informations sur la création de comptes de service et l'attribution de rôles, consultez les rubriques suivantes :

Fournir les identifiants à Splunk

La procédure à suivre varie selon l'emplacement où vous hébergez Splunk.

Configurer les notifications

Suivez ces étapes pour chaque organisation Google Cloud à partir de laquelle vous souhaitez importer des données Security Command Center.

Pour configurer Splunk, vous aurez besoin des ID de votre organisation, des noms des sujets Pub/Sub et des noms des abonnements Pub/Sub de cette tâche.

Créer des sujets et des abonnements

Pour permettre à Splunk de récupérer les données, vous devez créer trois sujets Pub/Sub et un abonnement par extraction correspondant pour chacun d'eux.

  1. Créez un sujet et un abonnement pour les résultats.
  2. Créez un sujet et un abonnement pour les composants.
  3. Créez un sujet et un abonnement pour les journaux d'audit.

Pour savoir comment créer des sujets et des abonnements, consultez Gérer les sujets et les abonnements.

Configurer des notifications de recherche

  1. Activez l'API Security Command Center.
  2. Pour exporter les résultats Security Command Center vers le sujet Pub/Sub des résultats en fonction des filtres que vous spécifiez, créez un notificationConfig.

Configurer des flux de composants

  1. Activez l'API Cloud Asset pour votre projet.
  2. Pour envoyer des notifications de modification des composants au sujet Pub/Sub des composants, créez des flux pour vos composants. Vous devez créer deux flux dans le même thème :
    • Pour les ressources, utilisez le filtre content-type=resource.
    • Pour les stratégies IAM, utilisez le filtre content-type=iam-policy AND asset-types="cloudresourcemanager.googleapis.com/Project".

Configurer l'exportation des journaux d'audit

  1. Créez un récepteur de destination pour vos journaux d'audit. Utilisez le sujet Pub/Sub des journaux d'audit comme destination.
  2. Pour n'exporter que les journaux d'audit pertinents, utilisez un filtre qui inclut les types de journaux d'audit compatibles :

    • Activité d'administration
    • Accès aux données
    • Événements système
    • Refus de règles

    Par exemple, vous pouvez utiliser le filtre suivant pour votre récepteur :

    log_id("cloudaudit.googleapis.com/activity") OR
    log_id("cloudaudit.googleapis.com/data_access") OR
    log_id("cloudaudit.googleapis.com/system_event") OR
    log_id("cloudaudit.googleapis.com/policy")
    

Installer les applications

Dans cette section, vous allez installer l'application Google SCC pour Splunk et le module complémentaire Google SCC pour Splunk. Ces applications, qui sont gérées par Security Command Center, automatisent le processus de planification des appels d'API Security Command Center, récupèrent régulièrement les données de Security Command Center à utiliser dans Splunk et configurent les tableaux de bord qui vous permettent d'afficher les données de Security Command Center dans Splunk.

L'installation d'une application nécessite l'accès à l'interface Web de Splunk.

Si vous disposez d'un déploiement Splunk distribué, installez les applications comme suit :

  • Installez l'application Google SCC pour Splunk sur le redirecteur lourd Splunk et les têtes de recherche Splunk.
  • Installez le module complémentaire Google SCC pour Splunk sur les têtes de recherche Splunk.

Pour effectuer l'installation, procédez comme suit :

  1. Dans l'interface Web Splunk, accédez à l'icône en forme de roue dentée Apps (Applications).

  2. Sélectionnez Gérer les applications > Parcourir plus d'applications.

  3. Recherchez et installez les applications suivantes :

    • Module complémentaire Google SCC pour Splunk
    • Application Google SCC pour Splunk

Les deux applications apparaissent dans votre liste d'applications. Accédez à Associer Splunk à Google Cloud pour configurer les applications.

Mettre à niveau les applications

  1. Désactivez toutes les entrées existantes :

    1. Dans l'interface Web de Splunk, cliquez sur Applications > Module complémentaire Google SCC pour Splunk.

    2. Sélectionnez l'onglet Inputs (Entrées).

    3. Pour chaque entrée, cliquez sur Action > Désactiver.

  2. Supprimez les données indexées de Security Command Center. Vous pouvez utiliser la commande de nettoyage de la CLI Splunk pour supprimer les données indexées d'une application avant de supprimer celle-ci.

  3. Effectuez la mise à niveau :

    1. Dans l'interface Web Splunk, accédez à l'icône en forme de roue dentée Apps (Applications).

    2. Sélectionnez Gérer les applications > Parcourir plus d'applications.

    3. Recherchez et mettez à niveau les applications suivantes :

      • Module complémentaire Google SCC pour Splunk
      • Application Google SCC pour Splunk
    4. Si vous y êtes invité, redémarrez Splunk.

  4. Pour chaque nouvelle organisation Google Cloud , remplissez la section Connecter Splunk à Google Cloud.

  5. Créez les nouvelles entrées, comme décrit dans Ajouter les entrées de données de Security Command Center.

Connecter Splunk à Google Cloud

Vous devez disposer de la fonctionnalité admin_all_objects dans Splunk pour effectuer cette tâche.

Conditions requises pour les déploiements AWS ou Azure

Si vous avez installé Splunk sur Amazon Web Services ou Microsoft Azure, procédez comme suit avant de configurer votre compte dans l'interface Web Splunk :

  1. Ouvrez une fenêtre de terminal.

  2. Accédez au répertoire de l'application Google SCC pour Splunk :

    cd $SPLUNK_HOME/etc/apps/TA_GoogleSCC/local/
    
  3. Ouvrez ta_googlescc_settings.conf dans un éditeur de texte :

    sudo vim ta_googlescc_settings.conf
    
  4. Ajoutez les lignes suivantes à la fin du fichier :

    [additional_parameters]
    scheme = http
    
  5. Enregistrez et fermez le fichier.

  6. Redémarrez la plate-forme Splunk.

Ajouter votre compte Google SCC dans Splunk

  1. Dans l'interface Web de Splunk, accédez à Applications > Module complémentaire Google SCC pour Splunk > Configuration, sélectionnez l'onglet Configuration, puis cliquez sur Ajouter.

  2. Dans la boîte de dialogue "Ajouter un compte", fournissez vos identifiants en procédant comme suit, en fonction du champ qui s'affiche :

    • Si le champ Service Account JSON (Fichier JSON du compte de service) s'affiche, accédez au fichier JSON contenant la clé du compte de service.

    • Si le champ Credential Configuration (Configuration des identifiants) s'affiche, accédez au fichier de configuration des identifiants que vous avez téléchargé lors de la configuration de la fédération d'identité de charge de travail.

    Si vous avez déployé Splunk dans Google Cloud ou que vous avez rempli les conditions préalables pour les déploiements AWS ou Azure, la configuration du compte de service est automatiquement détectée.

  3. Dans le champ Organisation, ajoutez votre ID d'organisation Google Cloud .

  4. Si vous utilisez un serveur proxy pour connecter Splunk à Google Cloud, procédez comme suit :

    1. Cliquez sur l'onglet Proxy.
    2. Sélectionnez Activer.
    3. Sélectionnez votre type de proxy (HTTPS, SOCKS4 ou SOCKS5).
    4. Ajoutez le nom d'hôte et le port du proxy, et éventuellement le nom d'utilisateur et le mot de passe.
  5. Dans l'onglet Logging (Journalisation), sélectionnez le niveau de journalisation du module complémentaire.

  6. Cliquez sur Enregistrer.

Créez des entrées de données pour vos organisations Google Cloud , comme décrit dans Ajouter les entrées de données de Security Command Center.

Ajouter les entrées de données de Security Command Center

  1. Dans l'interface Web de Splunk, cliquez sur Applications > Module complémentaire Google SCC pour Splunk.

  2. Sélectionnez l'onglet Inputs (Entrées).

  3. Cliquez sur Create New Input (Créer une entrée).

  4. Sélectionnez l'une des entrées :

    • Entrée source
    • Entrée résultats
    • Entrée élément
    • Entrée journaux d'audit
  5. Cliquez sur l'icône de modification.

  6. Saisissez les informations suivantes :

    Champ Description
    Input name (Nom de l'entrée) Nom par défaut de votre entrée de données
    Intervalle Délai d'attente (en secondes) entre les appels de données
    Index Index Splunk vers lequel les données de Security Command Center sont dirigées
    Assets Subscription Id (ID d'abonnement des éléments) Nom de l'abonnement Pub/Sub pour les ressources (seulement pour les entrées élément)
    Audit Logs Subscription Id (ID d'abonnement des journaux d'audit) Nom de l'abonnement Pub/Sub pour les journaux d'audit (seulement pour l'entrée journaux d'audit)
    Findings Subscription Id (ID d'abonnement des résultats) Nom de l'abonnement Pub/Sub pour les résultats (seulement pour l'entrée résultats)
    Maximum Fetching (Récupération maximale) Nombre maximal d'éléments à récupérer lors d'un appel

  7. Cliquez sur Update (Mettre à jour).

  8. Répétez les étapes 3 à 7 pour chaque entrée que vous souhaitez ajouter.

  9. Répétez les étapes 3 à 8 pour chaque organisation Google Cloud que vous souhaitez intégrer.

  10. Sur la ligne Status (État), activez les entrées de données que vous souhaitez transférer vers Splunk.

Mettre à jour l'index Splunk

Effectuez cette tâche si vous n'utilisez pas l'index principal Splunk :

  1. Dans l'interface Web de Splunk, cliquez sur Settings > Advanced Search > Search macros (Paramètres > Recherche avancée > Rechercher des macros).
  2. Sélectionnez Google SCC App for Splunk (Application Google SCC pour Splunk).
  3. Sélectionnez googlescc_index.
  4. Mettez à jour index=main pour utiliser votre index.
  5. Cliquez sur Enregistrer.

Afficher les données de Security Command Center dans Splunk

  1. Dans l'interface Web de Splunk, cliquez sur Applications > Module complémentaire Google SCC pour Splunk.

  2. Sélectionnez l'onglet Search (Rechercher).

  3. Définissez votre requête de recherche, par exemple index="main".

  4. Sélectionnez la période.

  5. Cliquez sur l'icône Rechercher.

  6. Filtrez les données par type de source (sources, éléments, journaux d'audit, éléments IAM ou résultats), le cas échéant.

Afficher les tableaux de bord

L'application Google SCC pour Splunk vous permet de visualiser les données de Security Command Center. Elle comprend cinq tableaux de bord : Présentation, Sources, Résultats, Éléments, Journaux d'audit et Recherche.

Vous pouvez accéder à ces tableaux de bord dans l'interface Web de Splunk à partir de la page Applications > Application Google SCC pour Splunk.

Tableau de bord Overview (Vue d'ensemble)

Le tableau de bord Overview (Vue d'ensemble) contient une série de graphiques qui affichent le nombre total de résultats dans votre organisation par niveau de gravité, catégorie et état. Les résultats sont compilés à partir des services intégrés de Security Command Center, tels que Security Health Analytics, Web Security Scanner, Event Threat Detection et Container Threat Detection, ainsi que de tous les services intégrés que vous activez.

Pour filtrer le contenu, vous pouvez définir la période et l'ID de l'organisation.

D'autres graphiques indiquent les catégories, les projets et les éléments qui génèrent le plus de résultats.

Tableau de bord Assets (Éléments)

Le tableau de bord Assets (Éléments) affiche un tableau des 1 000 éléments Google Cloud les plus récemment créés ou modifiés. Le tableau indique le nom de l'élément, son type, le propriétaire de la ressource et les date et heure de la dernière mise à jour.

Vous pouvez filtrer les données d'élément par période, ID d'organisation et type d'élément. Si vous cliquez sur Afficher dans la colonne Redirection vers SCC, vous êtes redirigé vers la page Éléments de Security Command Center dans la console Google Cloud , où s'affichent des informations détaillées sur l'élément sélectionné.

Tableau de bord Audit logs (Journaux d'audit)

Le tableau de bord Journaux d'audit affiche une série de graphiques et de tableaux présentant les informations des journaux d'audit. Les journaux d'audit inclus dans le tableau de bord sont l'activité d'administration, l'accès aux données, les événements système et les journaux d'audit de refus de règles. Le tableau indique l'horodatage, le nom du journal, la gravité, le nom du service, ainsi que le nom et le type de la ressource.

Vous pouvez filtrer les données par période, ID d'organisation et nom de journal.

Tableau de bord Findings (Résultats)

Le tableau de bord Findings (Résultats) inclut un tableau des 1 000 résultats les plus récents. Les colonnes du tableau spécifient des éléments tels que la catégorie, le nom de l'élément, le nom de la source, les marques de sécurité, la classe de résultat et la gravité.

Vous pouvez filtrer les données par période, ID de l'organisation, catégorie, gravité, nom de la source, nom de l'élément, nom du projet ou classe de résultat. En outre, dans la colonne Update Status (État d'actualisation), vous pouvez actualiser l'état d'un résultat. Pour indiquer que vous examinez activement un résultat, cliquez sur Mark as ACTIVE (Marquer comme actif). Si vous n'examinez pas activement un résultat, cliquez sur Mark as INACTIVE (Marquer comme inactif).

Si vous cliquez sur le nom d'un résultat, vous êtes redirigé vers la page Résultats de Security Command Center dans la console Google Cloud , sur laquelle vous pouvez voir les détails du résultat sélectionné.

Tableau de bord Sources

Le tableau de bord Sources affiche un tableau de toutes vos sources de sécurité. Les colonnes de la table incluent le nom, le nom à afficher et la description.

Pour filtrer le contenu, vous pouvez définir la période.

Désinstaller les applications

Désinstallez les applications lorsque vous ne souhaitez plus récupérer les données de Security Command Center pour Splunk.

  1. Dans l'interface Web de Splunk, accédez à Applications > Gérer les applications.

  2. Recherchez Google SCC App for Splunk.

  3. Dans la colonne Status (État), cliquez sur Disable (Désactiver).

  4. Recherchez Google SCC Add-on for Splunk.

  5. Dans la colonne Status (État), cliquez sur Disable (Désactiver).

  6. Vous pouvez également supprimer les données indexées de Security Command Center. Vous pouvez utiliser la commande de nettoyage de la CLI Splunk pour supprimer les données indexées d'une application avant de supprimer celle-ci.

  7. Dans un environnement Splunk autonome, procédez comme suit :

    1. Ouvrez un terminal et connectez-vous à Splunk.

    2. Supprimez les applications et leurs répertoires dans $SPLUNK_HOME/etc/apps/APPNAME :

      ./splunk remove app APPNAME -auth USERNAME:PASSWORD
      

      Remplacez APPNAME par GoogleSCCAppforSplunk ou TA_GoogleSCC.

    3. Répétez l'étape b pour l'autre application.

    4. Vous pouvez également supprimer les répertoires spécifiques à l'utilisateur en supprimant les fichiers identifiés dans $SPLUNK_HOME/etc/users/*/GoogleSCCAppforSplunk et $SPLUNK_HOME/etc/users/*/TA_GoogleSCC.

    5. Redémarrez la plate-forme Splunk.

  8. Dans un environnement Splunk distribué, procédez comme suit :

    1. Connectez-vous au gestionnaire de déploiement.
    2. Supprimez les applications et leurs répertoires dans $SPLUNK_HOME/etc/apps/APPNAME :

      ./splunk remove app APPNAME -auth USERNAME:PASSWORD
      

      Remplacez APPNAME par GoogleSCCAppforSplunk ou TA_GoogleSCC.

    3. Répétez l'étape b pour l'autre application.

    4. Exécutez la commande splunk apply shcluster-bundle :

      splunk apply shcluster-bundle -target URI:MANAGEMENT_PORT -auth USERNAME:PASSWORD
      

Dépannage

Cette section explique comment résoudre les problèmes courants liés à l'intégration de Splunk.

La page de configuration ou de saisie ne se charge pas

Si la page de configuration ou d'entrée ne se charge pas, recherchez les erreurs dans le journal du daemon Splunk : $SPLUNK_HOME/var/log/splunk/splunkd.log

Les données ne s'affichent pas dans Splunk ni dans les tableaux de bord

Si vous avez configuré le compte et les entrées, mais que les données n'apparaissent pas dans Splunk, essayez ce qui suit :

  • Vérifiez les journaux : consultez le fichier journal pour identifier l'entrée spécifique qui échoue : $SPLUNK_HOME/var/log/splunk/ta_googlescc_INPUT_NAME.log

    Remplacez INPUT_NAME par findings, assets ou audit_logs.

  • Activer la journalisation du débogage : pour obtenir des journaux plus détaillés, accédez à Module complémentaire Google SCC pour Splunk > Configuration > Journalisation, puis définissez le niveau de journalisation sur DEBUG. Ensuite, pour collecter à nouveau les données, désactivez l'entrée, puis réactivez-la.

  • Vérifiez les données Pub/Sub : assurez-vous que les données parviennent à vos abonnements Pub/Sub dans Google Cloud. Vous pouvez essayer d'extraire manuellement les messages de l'abonnement dans la consoleGoogle Cloud .

  • Mettez à jour la macro d'index : si vous utilisez un index Splunk personnalisé, mettez à jour la macro de recherche googlescc_index. Accédez à Settings> Advanced Search> Search macros, puis sélectionnez Google SCC App for Splunk. Pour pointer vers votre index, mettez à jour googlescc_index.

  • Activer les recherches enregistrées : accédez à Paramètres > Recherches, rapports et alertes, puis sélectionnez Application Google SCC pour Splunk. Activez googlescc_finding_state_lookup et googlescc_update_owner_lookup_from_index si elles sont désactivées.

L'état du résultat ne se met pas à jour

Si le fait de cliquer sur Mark as ACTIVE (Marquer comme actif) ou Mark as INACTIVE (Marquer comme inactif) ne met pas à jour l'état du résultat, essayez ce qui suit :

  • Consultez le journal des actions utilisateur : $SPLUNK_HOME/var/log/splunk/ta_googlescc_update_findings_status.log

  • Vérifiez que vous avez activé le KV Store dans Splunk. L'intégration s'appuie sur le KV Store pour conserver les états des résultats.

Splunk ne détecte pas les instances cloud

Si vous hébergez Splunk sur AWS ou Azure et que l'interface utilisateur du module complémentaire ne détecte pas automatiquement l'instance, vérifiez la configuration :

  1. Modifiez le fichier suivant : $SPLUNK_HOME/etc/apps/TA_GoogleSCC/local/ta_googlescc_settings.conf.
  2. Assurez-vous que les lignes suivantes sont présentes :

    [additional_parameters]
    scheme = http
    
  3. Redémarrez Splunk.

  4. Vérifiez que vous avez activé le KV Store.

Étapes suivantes