Optimiser le volume d'ingestion

Ce guide explique comment optimiser le volume d'ingestion en se concentrant sur la configuration des pipelines de traitement des données Google Security Operations. Cette fonctionnalité permet de filtrer, de transformer et de masquer les données de manière unifiée avant leur ingestion complète, quelle que soit la source. Cette méthode améliore la qualité des données et l'efficacité de la détection des menaces.

Ce guide s'adresse aux ingénieurs en sécurité, aux analystes Google SecOps et aux administrateurs cloud qui gèrent l'ingestion de journaux dans Google SecOps.

Ingérer de grands volumes de journaux non filtrés peut mettre à rude épreuve votre budget et vos ressources. Cela entraîne une augmentation des coûts, un ralentissement des capacités de recherche et d'analyse, et un risque accru que les analystes de sécurité manquent des alertes critiques au milieu d'un déluge de données non pertinentes. Un filtrage efficace est essentiel pour un déploiement Google SecOps rentable et efficace.

Avant de commencer

Assurez-vous de disposer des éléments suivants :

  • Un rôle Identity and Access Management (IAM) : soit le rôle prédéfini Admin de l'API Chronicle (roles/chronicle.admin), soit un rôle personnalisé contenant l'une des autorisations suivantes :
    • chronicle.logProcessingPipelines.*
    • chronicle.logTypes.get
    • chronicle.logTypes.list
    • chronicle.feeds.get
    • chronicle.feeds.list
    • chronicle.logs.list
  • Version de Bindplane : vous devez disposer de la version 1.96.4 ou ultérieure de la console Bindplane Server.
  • Pour Bindplane Cloud, la fédération d'identité de charge de travail (WIF) est compatible avec l'authentification. Les déploiements Bindplane auto-hébergés nécessitent des identifiants de clé JSON de compte de service.
  • Accès à la console de gestion Bindplane ou aux API Google SecOps Data Pipeline pour configurer les nœuds de processeur.
  • Identifiez les champs, les types de journaux et les conditions précis nécessaires pour configurer les processeurs Filtrer, Transformer et Masquer afin de réduire le volume.
  • Définissez les entrées du flux de pipeline en faisant correspondre les types de journaux, les ID de collecteur (pour les sources Bindplane) ou les noms de flux (pour les flux de données) spécifiques associés à vos méthodes d'ingestion.
  • Si vous ingérez des journaux Google Cloud , définissez les filtres d'exportation Logging requis pour implémenter le filtrage en amont afin de maximiser les économies avant que les données n'atteignent le pipeline SecOps.
  • Comprendre vos données de journaux :
    • Identifiez les journaux à volume élevé ou à faible valeur : analysez vos métriques d'ingestion actuelles pour identifier les types et les sources de journaux qui contribuent le plus au volume et au coût. Pour en savoir plus, consultez la présentation des métriques d'ingestion.
    • Déterminez les critères de filtrage : identifiez les champs, valeurs, modèles (expressions régulières) ou conditions spécifiques qui permettent d'identifier de manière fiable les journaux à supprimer, transformer ou masquer.
    • Connaissez vos méthodes d'ingestion : comprenez comment chaque source de journaux cible est ingérée (directement, via Bindplane, via un flux ou via une API), car cela a une incidence sur la façon dont vous configurez le flux du pipeline.

Terminologie clé

  • Pipelines de traitement des données : fonctionnalité permettant de filtrer, transformer et masquer les données de journaux à leur arrivée, avant qu'elles ne soient stockées et indexées.
  • Filtre/Filtrage : fonctionnalité principale d'optimisation du volume, qui définit des conditions permettant de supprimer sélectivement les événements qui ne sont pas nécessaires à l'analyse de sécurité.
  • Transformer : fonctionnalité permettant de modifier les formats de journaux pour une meilleure facilité d'utilisation, par exemple en supprimant les noms de domaine complets ou en supprimant les champs détaillés dans les événements.
  • Redact : fonctionnalité permettant de masquer ou de supprimer complètement les informations sensibles des journaux avant leur stockage, ce qui contribue à la conformité et à la confidentialité.
  • Agent Bindplane : méthode d'ingestion des journaux collectés à partir de systèmes sur site ou d'autres systèmes cloud.
  • Flux : méthode d'ingestion des données provenant de sources telles que Cloud Storage, Amazon S3 ou des API tierces.
  • API d'ingestion : méthode permettant d'envoyer des données de journaux personnalisées, qui permet le filtrage côté serveur à l'aide de pipelines de traitement de données.
  • Filtrage en amont : la bonne pratique recommandée consiste à filtrer les journaux Google Cloud à la source à l'aide des filtres d'exportation de journaux pour optimiser les économies.
  • Flux : flux de données spécifique, défini par le type de journal et la source d'ingestion (comme un flux ou une API), qui sert d'entrée à un pipeline de traitement des données.
  • Nœud de processeur : composant d'un pipeline contenant un ou plusieurs processeurs (actions de filtrage, de transformation ou de masquage) qui manipulent les données de manière séquentielle.
  • Destination : point de terminaison du pipeline de traitement des données, généralement l'instance Google SecOps où les données traitées sont envoyées pour ingestion et analyse finales.

Utiliser des pipelines de traitement des données pour l'optimisation

Les pipelines de traitement des données dans Google SecOps offrent un contrôle robuste et pré-analytique sur votre processus d'ingestion de données. Elles vous permettent de définir des règles et des actions qui sont appliquées aux journaux à leur arrivée, avant qu'ils ne soient stockés et indexés. Pour en savoir plus, consultez Configurer et gérer des pipelines de traitement de données.

Fonctionnalités clés

  • Filtre : il s'agit de l'objectif principal de l'optimisation du volume. Vous pouvez définir des conditions à l'aide du contenu brut des journaux, des attributs ou des expressions régulières pour supprimer de manière sélective les événements qui ne sont pas nécessaires à l'analyse de la sécurité. C'est essentiel pour réduire le bruit et les coûts.
  • Transformer : modifiez les formats de journaux pour une meilleure facilité d'utilisation ou pour supprimer les données inutiles dans les événements. Par exemple, en supprimant les noms de domaine complets des noms d'hôte, en analysant et en restructurant les charges utiles JSON, ou en supprimant les champs détaillés, mais non pertinents.
  • Censure : masquez ou supprimez complètement les informations sensibles, telles que les informations permettant d'identifier personnellement l'utilisateur, des journaux avant qu'ils ne soient stockés. Cela vous aidera à respecter les exigences de conformité et de confidentialité.

Applicabilité universelle

L'un des principaux avantages des pipelines de traitement des données est qu'ils peuvent être appliqués aux données provenant de n'importe quelle méthode d'ingestion. Cela fournit une couche de filtrage cohérente pour :

  • Journaux intégrés deGoogle Cloud
  • Journaux collectés à l'aide de l'agent Bindplane
  • Données importées via des flux
  • Journaux personnalisés envoyés via les API d'ingestion

Pour en savoir plus, consultez la section Stratégies de filtrage spécifiques à la méthode de ce guide.

Implémenter le filtrage avec des pipelines de traitement de données

Étape 1 : Configurez votre pipeline

Vous pouvez configurer et gérer des pipelines de traitement des données via la console de gestion Bindplane ou à l'aide des API publiques Google SecOps Data Pipeline. Ils vous permettent de définir des flux (entrées), de configurer des nœuds de processeur (filtrer, transformer, masquer) et de gérer le déploiement du pipeline.

Pour obtenir des instructions de configuration complètes, consultez Configurer et gérer des pipelines de traitement des données.

Étape 2 : Configurez les processeurs pour le filtrage

Dans un pipeline, vous pouvez ajouter des processeurs à un nœud. Pour réduire le volume, vous devez principalement utiliser des processeurs de filtres. Vous pouvez configurer ces processeurs pour qu'ils suppriment les journaux en fonction de conditions ou d'expressions régulières. Vous configurez des conditions et des instructions de pipeline personnalisées à l'aide de la syntaxe OTTL (OpenTelemetry Transformation Language).

  • Conditions : évaluation des champs ou des attributs dans les données du journal.
  • Expressions régulières : modèles de correspondance dans le message de journal brut.
  • Exemple d'OTTL : une instruction peut être set(attributes["labels.myLabel.value"], "myValue").

Bien que le filtrage soit essentiel, vous pouvez également envisager d'utiliser des processeurs de transformation pour supprimer les champs volumineux et inutiles des journaux que vous conservez, et des processeurs de masquage pour annuler les données sensibles.

Étape 3 : Stratégies de filtrage spécifiques à la méthode

Les sections suivantes expliquent comment aborder le filtrage avec des pipelines de traitement des données pour chaque type d'ingestion principal.

Journaux Google Cloud

  • Filtrage en amont (bonne pratique recommandée) : pour optimiser les économies, Google recommande de filtrer les journaux Google Cloud à la source à l'aide des filtres d'exportation Cloud Logging. Cela permet d'éviter que des journaux indésirables soient envoyés à Google SecOps. Si nécessaire, vous pouvez utiliser des pipelines de traitement des données pour appliquer un filtrage supplémentaire. Pour en savoir plus, consultez le guide sur l'ingestion de données Google Cloud , en particulier la section Personnaliser les paramètres de filtre d'exportation.

  • Application de pipeline : configurez un pipeline de traitement de données en sélectionnant le type de journal Google Cloud et la méthode d'ingestion appropriés, Direct ou Cloud Native. Définissez des processeurs de filtres pour supprimer les journaux indésirables en fonction de leur contenu.

Agent Bindplane

Les journaux collectés par l'agent Bindplane, à partir de systèmes sur site ou d'autres systèmes cloud, peuvent être filtrés à l'aide d'un pipeline de traitement des données. Configurez le flux pour qu'il corresponde aux types de journaux et aux ID de collecteur associés à vos sources Bindplane. Pour en savoir plus, consultez Utiliser Bindplane avec Google SecOps.

Flux de données

Pour les données ingérées à l'aide de flux (par exemple, depuis Cloud Storage, Amazon S3 ou des API tierces), vous pouvez appliquer des filtres de pipeline de traitement des données en sélectionnant le nom du flux et le type de journal lors de la configuration du flux de pipeline. Pour en savoir plus, consultez le guide Utiliser des flux.

Méthodes d'ingestion de l'API Chronicle

Si vous envoyez des données à l'aide des méthodes d'ingestion de l'API Chronicle, vous pouvez toujours exploiter les pipelines de traitement des données. Configurez le flux de pipeline pour qu'il corresponde au type de journal que vous utilisez dans vos appels d'API. Cela permet de filtrer côté serveur vos flux de journaux personnalisés. Pour en savoir plus, consultez le guide Méthodes d'ingestion de l'API Chronicle.

Bonnes pratiques

  • Filtrer en amont lorsque cela est possible : comme indiqué pour Google Cloud, filtrez toujours les journaux au plus près de la source. Il s'agit de l'approche la plus économique, car elle réduit les frais généraux de transfert et de traitement des données.
  • Soyez précis : commencez par des filtres précis et bien définis pour exclure les journaux connus à fort volume et à faible valeur. Évitez les filtres trop larges qui pourraient supprimer accidentellement des données utiles.
  • Itérer et affiner : vérifiez régulièrement l'efficacité de vos filtres. Capturent-ils les bons événements ? Y a-t-il de nouveaux bruits à filtrer ?
  • Documentez vos filtres : conservez une trace des filtres en place et de leur raison d'être, en particulier pour les expressions régulières complexes ou la logique conditionnelle.

Validation et tests

  • Tests : vous devez d'abord tester vos filtres dans un environnement hors production ou avec un petit sous-ensemble de données.
  • Validez les filtres : utilisez les fonctionnalités de test de l'éditeur de pipeline de la console Bindplane. Cela vous permet de saisir des exemples de journaux et d'afficher le résultat après l'application de vos processeurs, ce qui confirme que vos filtres fonctionnent comme prévu.
  • Surveiller l'ingestion : après avoir déployé des pipelines, surveillez vos tableaux de bord d'ingestion dans Google SecOps pour observer l'impact sur le volume de données et les coûts. Pour en savoir plus, consultez la présentation des métriques d'ingestion.
  • Afficher les configurations : vous pouvez afficher toutes les configurations dans l'interface utilisateur Google SecOps sous Paramètres du SIEM > Traitement des données.
  • Gestion externe : vous pouvez rechercher des configurations et cliquer sur Ouvrir dans Bindplane pour accéder directement à la console Bindplane et bénéficier d'une gestion avancée.

Limites

  • Limites de service : des expressions régulières trop complexes ou un grand nombre de processeurs par pipeline peuvent avoir un impact sur les performances ou être soumis à des limites. Consultez les limites de Google SecOps dans Limites de service.
  • Packages Google SecOps : assurez-vous de connaître les fonctionnalités et les capacités de votre package Google SecOps. Pour en savoir plus, consultez Packages Google SecOps.
  • Réutilisabilité : bien qu'elle soit puissante, une configuration de pipeline pour un type ou une source de journaux peut ne pas être directement réutilisable pour un autre sans ajustements.
  • Nombre maximal de processeurs : définissez un maximum de 10 processeurs par pipeline.
  • Performances des expressions régulières : évitez les correspondances excessives d'expressions régulières, car elles peuvent entraîner l'échec de la création ou du déploiement du pipeline en raison de délais d'inactivité. Il est préférable d'analyser les données au format JSON et de les filtrer par champ spécifique.
  • Contrainte d'association de flux : bien qu'il soit possible de créer différents pipelines pour différents flux du même type de journaux, la définition exacte du même flux (par exemple, le même flux ou le même type de journaux génériques) ne peut pas être associée à plusieurs pipelines actifs. Si vous définissez un type de journal sur Toutes les méthodes d'ingestion, cela agira comme un paramètre général et vous empêchera de configurer d'autres pipelines pour des flux spécifiques de ce type de journal.

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