Installer et configurer le redirecteur

Compatible avec :

Ce document explique comment installer et configurer le transpondeur Google Security Operations sur des systèmes Linux et Windows à l'aide de Docker.

Le forwarder est un composant logiciel que vous pouvez installer sur une machine ou un appareil, comme un serveur, sur votre réseau. Il collecte les données de journal et les transmet à votre instance Google SecOps.

Vous pouvez utiliser le redirecteur pour envoyer des journaux directement depuis votre environnement vers Google SecOps, sans avoir besoin de buckets cloud ni d'API tierces pour les types de journaux non compatibles. Le forwarder sert de solution prête à l'emploi, ce qui élimine la nécessité d'une intégration manuelle avec l'API d'ingestion.

Google SecOps fournit un conteneur Docker pour le redirecteur sécurisé le déploiement. Vous pouvez exécuter et gérer le conteneur Docker sur des machines physiques ou virtuelles.

Configuration requise

Vous trouverez ci-dessous des recommandations générales. Pour obtenir des recommandations spécifiques à votre système, contactez l'assistance Google SecOps.

Système Linux

Il est compatible avec diverses distributions Linux, telles que Debian, Ubuntu, Red Hat et Suse. Pour des performances optimales, nous vous recommandons d'utiliser Docker version 20.10.21 ou ultérieure.

  • RAM : 1 Go de RAM est requis pour chaque type de données collectées accepté par Google SecOps pour l'ingestion. Par exemple, si vous spécifiez quatre collecteurs différents, ont besoin de 4 Go de RAM pour collecter des données pour les quatre.

  • Processeur: deux processeurs suffisent pour gérer jusqu'à 10 000 événements par seconde (BPA) pour tous les types de données. Si vous prévoyez que votre intermédiaire traitera plus de 10 000 EPS, allouez quatre à six CPU.

  • Disque: 20 Go d'espace disque sont recommandés, quelle que soit la quantité de données et les poignées de transfert.

Système Windows

Le redirecteur est compatible avec Microsoft Windows Server 2022. Pour des performances optimales, il est recommandé d'utiliser Docker version 20.10.21 ou ultérieure.

  • RAM: 1,5 Go de RAM sont requis pour chaque type de données collectées qui Google SecOps accepte pour l'ingestion. Par exemple, si vous spécifiez quatre collecteurs différents, ont besoin de 6 Go de RAM pour collecter les données des quatre.

  • CPU : deux CPU suffisent à gérer jusqu'à 10 000 événements par seconde (EPS) pour tous les types de données. Si vous pensez que votre redirecteur traiterait plus de 10 000 EPS, allouez quatre à six processeurs.

  • Disque: 20 Go d'espace disque recommandé, quelle que soit la quantité de données les poignées du redirecteur.

Avant de commencer

Avant de commencer l'implémentation de votre forwarder, tenez compte des points suivants.

Plages d'adresses IP utilisées par Google

Lors de la configuration du redirecteur, vous devrez peut-être ajuster les paramètres du pare-feu qui nécessitent de spécifier des plages d'adresses IP. Les plages d'adresses IP de domaine par défaut utilisées par les API et les services Google sont allouées de manière dynamique et changent fréquemment. Pour en savoir plus, consultez la section Obtenir des plages d'adresses IP Google.

Vérifier la configuration du pare-feu

Si votre conteneur de transfert se trouve derrière des pare-feu ou des proxys authentifiés, vous devrez ouvrir l'accès aux hôtes suivants :

Type de connexion Destination Port
TCP malachiteingestion-pa.googleapis.com 443
TCP asia-northeast1-malachiteingestion-pa.googleapis.com 443
TCP asia-south1-malachiteingestion-pa.googleapis.com 443
TCP asia-southeast1-malachiteingestion-pa.googleapis.com 443
TCP australia-southeast1-malachiteingestion-pa.googleapis.com 443
TCP europe-malachiteingestion-pa.googleapis.com 443
TCP europe-west2-malachiteingestion-pa.googleapis.com 443
TCP europe-west3-malachiteingestion-pa.googleapis.com 443
TCP europe-west6-malachiteingestion-pa.googleapis.com 443
TCP europe-west12-malachiteingestion-pa.googleapis.com 443
TCP me-central1-malachiteingestion-pa.googleapis.com 443
TCP me-central2-malachiteingestion-pa.googleapis.com 443
TCP me-west1-malachiteingestion-pa.googleapis.com 443
TCP northamerica-northeast2-malachiteingestion-pa.googleapis.com 443
TCP accounts.google.com 443
TCP gcr.io 443
TCP oauth2.googleapis.com 443
TCP storage.googleapis.com 443

Planifier l'implémentation

Avant de commencer à configurer le transfert, planifiez votre implémentation. Cela permettra vous aident à aligner vos sources de données et attributs de configuration sur vos objectifs, capacités d'infrastructure et exigences d'évolutivité.

Déterminer les données à ingérer

Identifiez les sources de données les plus pertinentes pour votre redirecteur parmi les éléments suivants options:

  • Splunk: idéal si vous utilisez déjà Splunk pour la gestion des journaux.

  • Syslog: permet d'accéder aux journaux système et d'application de divers appareils.

  • Fichier: flexible pour ingérer n'importe quel fichier journal.

  • Packet: offre une grande visibilité sur le réseau en capturant le trafic brut.

  • Kafka : idéal pour l'agrégation de journaux à fort volume et en temps réel à partir de systèmes distribués.

  • WebProxy: idéal pour obtenir des informations sur le trafic Web et le comportement des utilisateurs.

Déterminer la configuration

Avant d'installer le forwarder, déterminez les attributs clés suivants pour garantir une implémentation réussie.

Compression des données

La compression des données ou des journaux réduit la consommation de bande passante réseau lors du transfert les journaux à Google SecOps. Toutefois, cela peut entraîner une augmentation de l'utilisation du processeur. L'équilibre optimal entre les économies de bande passante et l'utilisation du processeur dépend de plusieurs facteurs, tels que le type de journal, la compressibilité des données, les ressources de processeur disponibles et les contraintes de bande passante réseau.

Par exemple, les journaux textuels sont généralement bien compressés et peuvent fournir de bande passante avec une faible utilisation du processeur, tandis que les données chiffrées ou binaires peuvent ne pas être compressés efficacement et entraîner une utilisation plus élevée du processeur.

Par défaut, la compression des journaux est désactivée. Évaluez le compromis en fonction de vos un environnement spécifique et la nature de vos données de journaux.

Mise en mémoire tampon de disque

Nous vous recommandons d'activer la mise en mémoire tampon du disque. La mise en mémoire tampon du disque vous permet de mettre en mémoire tampon les messages en attente sur le disque mémoire, ce qui protège contre la perte de données en cas de plantage du redirecteur ou de l'hôte. Toutefois, l'activation de la mise en mémoire tampon sur disque peut avoir un impact sur les performances.

Si la mise en mémoire tampon du disque est désactivée, le redirecteur alloue 1 Go de mémoire (RAM) à chaque type de journal (par exemple, par connecteur). Mémoire maximale autorisée pour le disque est de 4 Go.

Filtres d'expressions régulières

Les filtres d'expression régulière vous permettent de filtrer les journaux en fonction des formats correspondants par rapport aux données de journaux brutes. Les filtres utilisent la syntaxe RE2. Les filtres doivent inclure une expression régulière et, éventuellement, définir un comportement en cas de correspondance.

Libellés arbitraires

Les étiquettes permettent d'associer des métadonnées personnalisées aux journaux à l'aide de paires clé/valeur. Vous pouvez configurer des libellés pour l'ensemble d'un forwarder ou dans un collecteur spécifique du forwarder. Si les deux sont présents, les étiquettes au niveau du collecteur remplacent le redirecteur des étiquettes de niveau supérieur si les clés se chevauchent.

Espaces de noms

Vous pouvez utiliser des étiquettes d'espace de noms pour identifier les journaux provenant de segments réseau distincts et pour résoudre les conflits d'adresses IP qui se chevauchent. Vous pouvez configurer une étiquette d'espace de noms pour l'ensemble du redirecteur ou dans un collecteur spécifique du redirecteur. Si les deux sont présents, l'espace de noms au niveau du collecteur remplace l'espace de noms au niveau du forwarder.

Type de journal

Google SecOps est compatible avec divers types de journaux. Pour obtenir la liste complète, consultez la section Ensembles de données compatibles.

Options d'équilibrage de charge et de haute disponibilité

L'équilibrage de charge n'est disponible que pour le type de collecte syslog.

Le redirecteur peut être déployé dans des environnements où un équilibreur de charge de couche 4 est installé entre les instances de source de données et de redirecteur. Cela vous permet répartissent la collecte de journaux entre plusieurs redirecteurs, ce qui améliore la fiabilité redirigeant les journaux vers un autre redirecteur en cas d'échec.

Le forwarder dispose d'un serveur HTTP intégré qui répond aux vérifications de l'état des équilibreurs de charge et empêche la perte de journaux lors du démarrage et de l'arrêt. Vous pouvez configurer le serveur HTTP, l'équilibrage de charge et les options de haute disponibilité pour spécifier le délai avant expiration des durées et des codes d'état pour les vérifications d'état. Cette configuration est compatible à la fois avec les déploiements basés sur des conteneurs et les équilibreurs de charge.

Paramètre Description
Délai progressif Durée pendant laquelle les nouvelles connexions sont acceptées après que le transpondeur a renvoyé un état unready en réponse à une vérification de l'état. Il s'agit également du délai d'attente entre la réception d'un signal d'arrêt et le début de l'arrêt du serveur lui-même. Cela donne le temps à l'équilibreur de charge de supprimer le forwarder du pool.

Les valeurs valides sont exprimées en secondes. Par exemple, pour spécifier 10 secondes, saisissez 10.. Les valeurs décimales ne sont pas autorisées.

Valeur par défaut:15 secondes
Délai avant expiration du drainage Durée pendant laquelle le forwarder attend que les connexions actives se ferment d'elles-mêmes avant d'être fermées par le serveur. Par exemple, pour spécifier cinq secondes, saisissez 5.. Les valeurs décimales ne sont pas autorisées.

Valeur par défaut : 10 secondes
Port Numéro de port sur lequel le serveur HTTP écoute les vérifications d'état de l'équilibreur de charge. La valeur doit être comprise entre 1 024 et 65 535.

Par défaut : 8080
Adresse IP ou nom d'hôte Adresse IP ou nom d'hôte pouvant être résolu en adresse IP, que le serveur doit écouter.

Par défaut:0.0.0.0 (le système local)
Délai avant expiration de la lecture Permet d'ajuster le serveur HTTP. En règle générale, il n'est pas nécessaire de modifier le paramètre par défaut. Durée maximale autorisée pour la lecture l'ensemble de la requête, à la fois l'en-tête et le corps. Vous pouvez définir à la fois le champ timeout de lecture et le champ timeout de l'en-tête de lecture.

Par défaut : 3 secondes
Délai de lecture de l'en-tête Utilisé pour régler le serveur HTTP. En règle générale, il n'est pas nécessaire de modifier du paramètre par défaut. Durée maximale autorisée pour lire les en-têtes de requête. L'échéance de lecture de la connexion est réinitialisée après la lecture de l'en-tête.

Par défaut:3 secondes
Délai avant expiration de l'écriture Utilisé pour régler le serveur HTTP. En règle générale, il n'est pas nécessaire de modifier du paramètre par défaut. Durée maximale autorisée pour l'envoi une réponse. Il est réinitialisé lorsqu'un nouvel en-tête de requête est lu.

Par défaut:3 secondes
Délai d'inactivité Permet d'ajuster le serveur HTTP. En règle générale, il n'est pas nécessaire de modifier le paramètre par défaut. Durée maximale d'attente de la prochaine requête lorsque les connexions inactives sont activées. Si le champ timeout d'inactivité est défini sur zéro, la valeur du champ timeout de lecture est utilisée. Si les deux valeurs sont nulles, le champ Expiration de l'en-tête de lecture est utilisé.

Par défaut:3 secondes
Code d'état disponible Code d'état renvoyé par le transpondeur lorsqu'une vérification de l'état de fonctionnement est reçue et que le transpondeur est disponible. Les planificateurs de conteneurs les orchestrateurs envoient souvent des vérifications de l'activité.

Par défaut : 204
Code d'état "Prêt" Code d'état renvoyé par le redirecteur lorsqu'il est prêt à accepter du trafic dans l'une des situations suivantes:
  • Une vérification de l'aptitude est reçue d'un planificateur ou d'un orchestrateur de conteneur.
  • Un équilibreur de charge envoie une vérification de l'état.
Valeur par défaut : 204
Code d'état "non prêt" Code d'état renvoyé par le forwarder lorsqu'il n'est pas prêt à accepter le trafic.

Par défaut:503

Étape 1 : Définissez la configuration du transfert

Chaque redirecteur déployé nécessite un fichier de configuration de système de transfert. Un fichier de configuration de transfert spécifie les paramètres pour transférer les données vers votre instance Google SecOps. Nous vous recommandons de générer un fichier de configuration pour chaque hôte afin de distinguer clairement les collecteurs associés à chacun d'eux.

Google Cloud personnalise ces fichiers de configuration avec des métadonnées spécifiques pour chaque instance du redirecteur. Vous pouvez modifier ces fichiers pour les faire correspondre à à des exigences spécifiques et à intégrer des informations sur les types de journaux que vous souhaitez à ingérer.

Vous pouvez générer un fichier de configuration de redirecteur soit via l'interface utilisateur, soit via via l'API, ou manuellement.

  • L'UI fournit une interface graphique permettant de configurer redirecteurs. Il s'agit de la méthode recommandée pour créer une configuration de redirecteur. Il s'agit de la méthode la plus simple pour démarrer. Elle ne nécessite aucune programmation. Télécharger le fichier de configuration à l'aide du profil utilisateur Google SecOps consultez la section Gérer les configurations du système de transfert via le UI Google SecOps.

  • L'API fournit un moyen programmatique de configurer les redirecteurs. Pour télécharger la configuration du transfert de manière programmatique, consultez la section API de gestion du transfert.

  • Vous pouvez créer le fichier de configuration manuellement et y ajouter les options de configuration. Nous vous recommandons d'utiliser la méthode de l'UI pour générer le fichier de configuration afin de garantir la précision et de minimiser les erreurs potentielles. Pour générer le fichier manuellement, consultez Gérer manuellement le fichier de configuration du forwarder.

Étape 2 : Installez Docker

Cette section explique comment installer Docker sur votre système.

Système Linux

Docker est Open Source. Toute la documentation nécessaire est disponible dans le de la communauté Docker Open Source. Pour obtenir des instructions sur l'installation de Docker, consultez la page Installer Docker Engine.

Pour vérifier si Docker est correctement installé sur votre système, exécutez la commande suivante (nécessite des droits élevés) :

   docker ps
  

La réponse suivante indique que Docker a été installé correctement:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

Système Windows

Démarrez Windows PowerShell avec des droits d'administrateur et vérifiez la connectivité réseau à Google Cloud en procédant comme suit :

  1. Cliquez sur Démarrer.

  2. Saisissez PowerShell, puis effectuez un clic droit sur Windows PowerShell.

  3. Cliquez sur Exécuter en tant qu'administrateur.

  4. Exécutez la commande suivante :

    C:\> test-netconnection <host> -port <port>
    

    La sortie de la commande indique que l'état de TcpTestSucceeded est true.

    Exemple :

    C:\> test-netconnection malachiteingestion-pa.googleapis.com -port 443
    ComputerName     :  malachiteingestion-pa.googleapis.com
    RemoteAddress    : 198.51.100.1
    RemotePort       : 443
    InterfaceAlias   : Ethernet
    SourceAddress    : 203.0.113.1
    TcpTestSucceeded : True
    

Pour installer Docker, procédez comme suit sur votre serveur Windows :

  1. Activez la fonctionnalité de conteneur Microsoft Windows:

    Install-WindowsFeature containers -Restart
    
  2. Exécutez la commande suivante en mode Administrateur PowerShell pour installer Docker CE :

    Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/Windows-Containers/Main/helpful_tools/Install-DockerCE/install-docker-ce.ps1" -o install-docker-ce.ps1
    
    .\install-docker-ce.ps1
    
    
  3. Testez l'interface de ligne de commande Docker en exécutant la commande docker ps, qui renvoie la liste des conteneurs en cours d'exécution. Si Docker n'est pas correctement installé, une erreur s'affiche.

    Pour en savoir plus, consultez la section Premiers pas : préparer Windows pour les conteneurs.

    Pour les déploiements en entreprise, installez l'environnement d'exécution de conteneurs Mirantis, également appelé Docker EE.

Étape 3 : Installez le transfert

Cette section explique comment installer le redirecteur à l'aide d'un conteneur Docker.

Étape 3a : Déplacez les fichiers de configuration vers le répertoire du forwarder

La première étape du processus d'installation du redirecteur consiste à placer les fichiers de configuration nécessaires dans le répertoire du redirecteur désigné.

Système Linux

Placez les fichiers de configuration dans le répertoire du forwarder en procédant comme suit :

  1. Connectez-vous à l'hôte de redirecteur Linux à l'aide du terminal.

  2. Remplacez le répertoire par le répertoire d'accueil qui exécute Docker. conteneur.

  3. Créez un répertoire pour stocker les fichiers de configuration du redirecteur.

      mkdir /opt/chronicle/'CONFIG'
    

    Vous pouvez remplacer le nom du répertoire, CONFIG, par le nom de votre choix. Ensure que vous utilisez le même nom de répertoire lorsque vous exécutez la commande docker run.

  4. Changez de répertoire.

      cd /opt/chronicle/config
    

  5. Une fois les fichiers transférés, assurez-vous que les fichiers de configuration se trouvent dans le répertoire /opt/chronicle/config.

      ls -l
    

Système Windows

Créez un dossier C:\config et placez-y les fichiers de configuration. Vous pouvez Remplacez le nom du dossier, config, par le nom de votre choix. Assurez-vous d'utiliser le même nom de dossier lorsque vous exécutez la commande docker run.

Étape 3b: Exécuter le redirecteur

Une fois les fichiers de configuration placés dans le répertoire de transfert désigné, vous pouvez démarrer le transfert ou passer à la dernière version du conteneur Google SecOps.

Si vous mettez à niveau le conteneur, nettoyez toutes les exécutions Docker précédentes en exécutant en exécutant les commandes suivantes.

      docker stop 'cfps'
    

      docker rm 'cfps'
    

Dans l'exemple, le nom du conteneur Docker est cfps.

Pour démarrer le redirecteur pour la première fois ou pour passer à la dernière version conteneur Google SecOps:

  1. Procurez-vous la dernière image Docker à partir de Google Cloud:

    Système Linux:

        docker pull gcr.io/chronicle-container/cf_production_stable
    

    Système Windows:

      docker pull gcr.io/chronicle-container/cf_production_stable_windows
    
  2. Démarrez le redirecteur à partir du conteneur Docker:

    Système Linux :

      docker run \
        --detach \
        --name cfps \
        --restart=always \
        --log-opt max-size=100m \
        --log-opt max-file=10 \
        --net=host \
        -v /opt/chronicle/config:/opt/chronicle/external \
        gcr.io/chronicle-container/cf_production_stable
    

    Système Windows:

      docker run `
        --detach `
        --name cfps `
        --restart=always `
        --log-opt max-size=100m `
        --log-opt max-file=10 `
        -p 0.0.0.0:10515-10520:10515-10520/udp `
        -v C:\config\:C:/opt/chronicle/external `
        gcr.io/chronicle-container/cf_production_stable_windows
    

Les options --log-opt sont disponibles depuis Docker 1,13. Ces options limitent la taille des fichiers journaux du conteneur doit être utilisé tant que sa version de Docker le permet.

Gérer le redirecteur

Les sections suivantes fournissent des conseils pour gérer votre forwarder.

Afficher les journaux du redirecteur

  • Pour afficher les journaux du redirecteur, exécutez la commande suivante:

    docker logs cfps
    
  • Pour afficher le chemin d'accès au fichier dans lequel les journaux sont stockés, exécutez la la commande suivante:

    docker inspect --format='{{.LogPath}}' CONTAINER_NAME
    
  • Pour afficher les journaux en cours d'exécution, exécutez la commande suivante :

    docker logs cfps -f
    
  • Pour stocker les journaux dans un fichier, exécutez la commande suivante:

    docker logs cfps &> logs.txt
    

Désinstaller le redirecteur

Les commandes Docker suivantes vous aident à arrêter, désinstaller ou supprimer le transpondeur.

  • Pour arrêter ou désinstaller le conteneur du redirecteur, exécutez la commande suivante:

    docker stop cfps
    
  • Pour supprimer le conteneur de redirecteur, exécutez la commande suivante:

    docker rm cfps
    

Mettre à jour le redirecteur

Le redirecteur est constitué de deux composants, chacun étant associé à un processus de mise à jour, comme suit:

  • Forwarder Bundle: ce composant est mis à jour automatiquement, ce qui élimine la nécessité d’un redémarrage.

  • Image Docker du forwarder : les mises à jour de ce composant sont effectuées manuellement. Vous devez arrêter l'instance de transfert actuelle et en démarrer une autre, comme décrit à l'étape 3b.

Guides d'ingestion du système de transfert pour des ensembles de données spécifiques

Pour savoir comment un ensemble de données spécifique est ingéré à l'aide des redirecteurs, consultez la suivantes: