Gérer manuellement le fichier de configuration du forwarder
Cette page explique comment créer et modifier manuellement un fichier de configuration de transfert Google Security Operations. Pour configurer le forwarder via l'UI (recommandé), consultez la section Gérer les configurations du forwarder via l'UI Google SecOps.
Chaque forwarder Google SecOps déployé nécessite un fichier de configuration de forwarder. Un fichier de configuration de transfert spécifie les paramètres pour transférer les données vers votre instance Google SecOps.
Pour savoir comment installer et configurer le forwarder Google SecOps, connaître les exigences système et obtenir des informations sur les paramètres de configuration, consultez Installer et configurer le forwarder.
Avant de commencer
Avant de créer le fichier de configuration, planifiez votre implémentation en comprenant les types de données pouvant être ingérées et les principaux attributs que vous devez définir dans le fichier de configuration.
Créer le fichier de configuration
Pour créer manuellement le fichier de configuration, procédez comme suit:
Téléchargez les fichiers de configuration via l'interface utilisateur.
Enregistrez les deux fichiers dans le même répertoire en suivant la convention d'attribution de noms suivante:
FORWARDER_NAME
.conf : utilisez ce fichier pour définir les paramètres de configuration liés à l'ingestion des journaux.FORWARDER_NAME
_auth.conf : utilisez ce fichier pour définir les identifiants d'autorisation.Modifiez les fichiers pour inclure la configuration de votre instance de transfert.
Pour en savoir plus sur les paramètres de chaque type de mécanisme d'ingestion, comme Splunk ou Syslog, consultez la section Définir des types de données dans votre fichier de configuration. Pour en savoir plus sur la personnalisation de chaque attribut, comme la compression de données ou la mise en mémoire tampon de disque, consultez la section Configurer les attributs clés dans le fichier de configuration.
Assurez-vous qu'une entrée existe pour chaque entrée dans le fichier
FORWARDER_NAME
_auth.conf, même si l'entrée ne comporte pas les informations d'authentification correspondantes. Cela est nécessaire pour cartographier correctement les données.
Toutes les modifications apportées au fichier de configuration seront automatiquement appliquées par le transpondeur dans les cinq minutes.
Exemples de configurations
Vous pouvez utiliser les fichiers de configuration suivants comme modèles pour créer les vôtres.
Exemple de configuration à deux fichiers
Ce système de fichiers en deux parties stocke les identifiants d'authentification dans un fichier distinct pour renforcer la sécurité. Vous pouvez stocker le fichier FORWARDER_NAME
.conf dans un dépôt de contrôle des versions ou dans un système de gestion de configuration ouvert.
Vous pouvez stocker le fichier FORWARDER_NAME
_auth.conf directement sur la machine physique ou virtuelle exécutant le forwarder.
L'exemple de code suivant montre le format des fichiers de configuration d'un forwarder.
Le fichier FORWARDER_NAME.conf
output: url: malachiteingestion-pa.googleapis.com:443 identity: identity: collector_id: COLLECTOR_ID \ customer_id: CUSTOMER_ID \ collectors: - syslog: common: enabled: true data_type: "WINDOWS_DHCP" data_hint: batch_n_seconds: 10 batch_n_bytes: 1048576 tcp_address: 0.0.0.0:10514 udp_address: 0.0.0.0:10514 connection_timeout_sec: 60 tcp_buffer_size: 524288 - syslog: common: enabled: true data_type: "WINDOWS_DNS" data_hint: batch_n_seconds: 10 batch_n_bytes: 1048576 tcp_address: 0.0.0.0:10515 connection_timeout_sec: 60 tcp_buffer_size: 524288
Le fichier FORWARDER_NAME_auth.conf
output: identity: secret_key: | { "type": "service_account", "project_id": "PROJECT_ID" \, "private_key_id": "PRIVATE_KEY_ID" \, "private_key": "-----BEGIN PRIVATE KEY-----\\"PRIVATE_KEY" \n-----END PRIVATE KEY-----\n", "client_email": "CLIENT_EMAIL" \, "client_id": "CLIENT_ID" \, "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/example-account-1%40example-account.iam.gserviceaccount.com" } collectors: - syslog: - syslog: certificate: "../forwarder/inputs/testdata/localhost.pem" certificate_key: "../forwarder/inputs/testdata/localhost.key"
Exemple de configuration dans un seul fichier
output: url: malachiteingestion-pa.googleapis.com:443 identity: identity: collector_id: "COLLECTOR_ID" \ customer_id: "CUSTOMER_ID" \ secret_key: | { "type": "service_account", "project_id": "PROJECT_ID" \, "private_key_id": "PRIVATE_KEY_ID" \, "private_key": "-----BEGIN PRIVATE KEY-----\ "PRIVATE_KEY" \n-----END PRIVATE KEY-----\n", "client_email": "CLIENT_EMAIL" \, "client_id": "CLIENT_ID" \, "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/malachite-test-1%40malachite-test.iam.gserviceaccount.com" } collectors: - syslog: common: enabled: true data_type: "WINDOWS_DHCP" data_hint: batch_n_seconds: 10 batch_n_bytes: 1048576 tcp_address: 0.0.0.0:10514 udp_address: 0.0.0.0:10514 connection_timeout_sec: 60 tcp_buffer_size: 524288 - syslog: common: enabled: true data_type: "WINDOWS_DNS" data_hint: batch_n_seconds: 10 batch_n_bytes: 1048576 tcp_address: 0.0.0.0:10515 connection_timeout_sec: 60 certificate: "../forwarder/inputs/testdata/localhost.pem" certificate_key: "../forwarder/inputs/testdata/localhost.key" tcp_buffer_size: 524288
Convertir un fichier unique en système à deux fichiers
Si vous utilisez un seul fichier de configuration et que vous souhaitez passer au système à deux fichiers, procédez comme suit:
Créez une copie de votre fichier de configuration existant.
Enregistrez un fichier sous le nom de fichier
FORWARDER_NAME
.conf et supprimez les identifiants d'autorisation du fichier.Enregistrez l'autre fichier sous le nom
FORWARDER_NAME
_auth.conf et supprimez toutes les données de non-autorisation du fichier. Vous pouvez utiliser l'exemple de configuration pour référence. Veillez à respecter la convention d'attribution de noms et les autres consignes mentionnées dans la section Personnaliser les configurations.
Définir des types de données dans votre fichier de configuration
Les sections suivantes vous aident à configurer le transpondeur Google SecOps pour ingérer différents types de données, qui sont transférés vers l'instance Google SecOps.
Données Splunk
Vous pouvez configurer le transpondeur Google SecOps pour transférer vos données Splunk vers Google SecOps. Google Cloud configure le forwarder Google SecOps avec les informations suivantes pour transférer vos données depuis Splunk:
URL de l'API REST Splunk (par exemple, https://10.0.113.15:8089).
Splunk interroge les données pour générer des données pour chacun des types de données requis (par exemple, index=dns).
FORWARDER_NAME.conf output: collectors: - splunk: common: enabled: true data_type: WINDOWS_DNS data_hint: "#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p proto trans_id query qclass qclass_name" batch_n_seconds: 10 batch_n_bytes: 819200 url: https://127.0.0.1:8089 is_ignore_cert: true minimum_window_size: 10s maximum_window_size: 30s query_string: search index=* sourcetype=dns query_mode: realtime
- Mettez les identifiants de votre compte Splunk à la disposition du forwarder Google SecOps. Pour ce faire, créez un fichier
creds.txt
.
Pour utiliser un fichier creds.txt
:
Créez un fichier local pour vos identifiants Splunk et nommez-le
creds.txt
.Placez votre nom d'utilisateur sur la première ligne et votre mot de passe sur la deuxième:
cat creds.txt myusername mypassword
Pour utiliser le forwarder Google SecOps pour accéder à une instance Splunk, copiez le fichier
creds.txt
dans le répertoire de configuration (le même répertoire que celui où se trouvent les fichiers de configuration).Linux
cp creds.txt /opt/chronicle/config/creds.txt
Windows
cp creds.txt c:/opt/chronicle/config/creds.txt
Vérifiez que le fichier
creds.txt
se trouve dans le répertoire prévu:Linux
ls /opt/chronicle/config
Windows
ls c:/opt/chronicle/config
Données Syslog
Un forwarder peut fonctionner comme un serveur Syslog. Vous pouvez configurer n'importe quel serveur compatible avec l'envoi de données Syslog via une connexion TCP ou UDP pour transférer ses données vers le transpondeur Google SecOps. Vous pouvez contrôler les données que le serveur envoie au transpondeur, qui peut ensuite les transmettre à Google SecOps.
Le fichier de configuration FORWARDER_NAME.conf
(fourni par Google Cloud) spécifie les ports à surveiller pour chaque type de données transférées (par exemple, le port 10514). Par défaut, le transpondeur Google SecOps accepte à la fois les connexions TCP et UDP.
Vous pouvez personnaliser la taille du tampon TCP. La taille de la mémoire tampon TCP par défaut est de 64 Ko. La valeur par défaut et recommandée pour connection_timeout
est de 60 secondes.
La connexion TCP est interrompue si elle est inactive pendant plus de 60 secondes.
Configurer rsyslog
Pour configurer rsyslog, vous devez spécifier une cible pour chaque port (par exemple, chaque type de données). Les exemples suivants illustrent la configuration de la cible rsyslog:
Trafic de journalisation TCP:
dns.* @@192.168.0.12:10514
Trafic de journalisation UDP:
dns.* @192.168.0.12:10514
Pour en savoir plus, consultez la documentation de votre système.
Activer TLS pour les configurations Syslog
Vous pouvez activer TLS pour la connexion Syslog au transpondeur Google SecOps. Dans le fichier de configuration du forwarder (FORWARDER_NAME
.conf), spécifiez l'emplacement de votre propre certificat et de votre clé de certificat, comme illustré dans l'exemple suivant.
Vous pouvez créer un répertoire certs
sous le répertoire configuration
et y stocker les fichiers de certificat.
Linux :
certificat | /opt/chronicle/external/certs/client_generated_cert.pem |
certificate_key | /opt/chronicle/external/certs/client_generated_cert.key |
Windows :
certificat | c:/opt/chronicle/external/certs/client_generated_cert.pem |
certificate_key | c:/opt/chronicle/external/certs/client_generated_cert.key |
Sur la base de l'exemple présenté, modifiez le fichier de configuration du forwarder (FORWARDER_NAME
.conf) comme suit:
Linux :
collectors: - syslog: common: enabled: true data_type: WINDOWS_DNS data_hint: batch_n_seconds: 10 batch_n_bytes: 1048576 tcp_address: 0.0.0.0:10515 tcp_buffer_size: 65536 connection_timeout_sec: 60 certificate: "/opt/chronicle/external/certs/client_generated_cert.pem" certificate_key: "/opt/chronicle/external/certs/client_generated_cert.key" minimum_tls_version: "TLSv1_3"
Windows :
collectors: - syslog: common: enabled: true data_type: WINDOWS_DNS data_hint: batch_n_seconds: 10 batch_n_bytes: 1048576 tcp_address: 0.0.0.0:10515 tcp_buffer_size: 65536 connection_timeout_sec: 60 certificate: "c:/opt/chronicle/external/certs/client_generated_cert.pem" certificate_key: "c:/opt/chronicle/external/certs/client_generated_cert.key" minimum_tls_version: "TLSv1_3"
La version TLS de la requête d'entrée doit être supérieure à la version TLS minimale. La version TLS minimale doit correspondre à l'une des valeurs suivantes: TLSv1_0, TLSv1_1, TLSv1_2 ou TLSv1_3.
Données des fichiers
Un collecteur de fichiers est conçu pour extraire les journaux d'un fichier associé au conteneur Docker. Vous pouvez l'utiliser si vous souhaitez importer manuellement des journaux à partir d'un seul fichier journal.
Démarrez le transpondeur Google SecOps à partir du conteneur Docker pour mapper le volume de charge sur le conteneur:
Linux
docker run
--detach
--name cfps
--log-opt max-size=100m
--log-opt max-file=10
--net=host
-v /opt/chronicle/config:/opt/chronicle/external
-v /var/log/crowdstrike/falconhostclient:/opt/chronicle/edr
gcr.io/chronicle-container/cf_production_stable
Windows
docker run ` --name cfps ` --log-opt max-size=100m ` --log-opt max-file=10 ` -p 10514:10514 ` -v c:/opt/chronicle/config:c:/opt/chronicle/external ` -v c:/var/log/crowdstrike/falconhostclient:c:/opt/chronicle/edr ` gcr.io/chronicle-container/cf_production_stable_windows
Vous pouvez ajouter plusieurs ports à l'aide de plusieurs options ou de plusieurs plages. Par exemple: -p 3001:3000 -p 2023:2022
ou -p 7000-8000:7000-8000
.
Les numéros de port fournis dans l'exemple de code sont des exemples. Remplacez les numéros de port selon vos besoins.
Sur la base de l'exemple, vous pouvez modifier la configuration du forwarder Google SecOps (fichier FORWARDER_NAME.conf
) comme suit:
Linux
collectors: - file: common: enabled: true data_type: CS_EDR data_hint: batch_n_seconds: 10 batch_n_bytes: 1048576 file_path: /opt/chronicle/edr/sample.txt filter:
Windows
collectors: - file: common: enabled: true data_type: CS_EDR data_hint: batch_n_seconds: 10 batch_n_bytes: 1048576 file_path: c:/opt/chronicle/edr/sample.txt filter:
Le fichier sample.txt
doit être présent dans le dossier /var/log/crowdstrike/falconhostclient
.
Configurations d'indicateurs
skip_seek_to_end
(bool): cette option est définie sur false
par défaut, et l'entrée de fichier n'envoie que de nouvelles lignes de journal en entrée. Si vous définissez cette valeur sur true
, toutes les lignes de journal précédentes sont renvoyées lors des redémarrages du forwarder. Cela entraîne une duplication des journaux. Définir cet indicateur sur true
est utile dans certaines situations (par exemple, en cas de panne), car le redémarrage du forwarder réenvoie les lignes de journal manquantes.
poll
(bool): le collecteur de fichiers utilise la bibliothèque Tail pour rechercher toute modification dans le système de fichiers. En définissant cet indicateur sur true
, la bibliothèque Tail utilise la méthode d'interrogation au lieu de la méthode de notification par défaut.
Données de paquet
Le forwarder Google SecOps peut capturer des paquets au lieu d'entrées de journal, directement à partir d'une interface réseau.
Systèmes Linux
Le redirecteur Google SecOps peut capturer des paquets à l'aide de libcap sous Linux. Pour en savoir plus sur libcap, consultez la page libcap - Linux manual page.
Au lieu d'entrées de journal, des paquets réseau bruts sont capturés et envoyés à Google Cloud. Cette capture est limitée à une interface locale. Pour activer la capture de paquets pour votre système, contactez l'assistance Google SecOps.
Google Cloud configure le forwarder Google SecOps avec l'expression Berkeley Packet Filter (BPF) utilisée lors de la capture de paquets (par exemple, le port 53 et non localhost). Pour en savoir plus, consultez la section Filtres de paquets Berkeley.
Systèmes Windows
Le forwarder Google SecOps peut capturer des paquets à l'aide de Npcap sur les systèmes Windows.
Au lieu d'entrées de journal, des paquets réseau bruts sont capturés et envoyés à Google Cloud. Cette capture est limitée à une interface locale. Pour configurer votre forwarder Google SecOps pour la capture de paquets, contactez l'assistance Google SecOps.
Exigences concernant un forwarder PCAP de capture de paquets:
Installez Npcap sur l'hôte Microsoft Windows.
Accordez des droits d'administrateur ou d'utilisateur racine au forwarder Google SecOps pour surveiller l'interface réseau.
Lors de l'installation de Npcap, activez le mode de compatibilité WinPcap.
Pour configurer un transfert PCAP, Google Cloud a besoin du GUID de l'interface utilisée pour capturer les paquets.
Exécutez getmac.exe
sur la machine sur laquelle vous prévoyez d'installer le forwarder Google SecOps (le serveur ou la machine à l'écoute sur le port span) et envoyez la sortie à Google SecOps.
Vous pouvez également modifier le fichier de configuration. Recherchez la section PCAP et remplacez la valeur GUID existante par le GUID obtenu en exécutant getmac.exe
.
Par exemple, voici une section PCAP d'origine:
- pcap:
common:
enabled: true
data_type: PCAP_DNS
batch_n_seconds: 10
batch_n_bytes: 1048576
interface: \Device\NPF_{1A7E7C8B-DD7B-4E13-9637-0437AB1A12FE}
bpf: udp port 53
Résultat de l'exécution de getmac.exe
:
C:\>getmac.exe
Physical Address Transport Name
===========================================================================
A4-73-9F-ED-E1-82 \Device\Tcpip_{2E0E9440-ABFF-4E5B-B43C-E188FCAD1234}
Section PCAP révisée avec le nouveau GUID:
- pcap:
common:
enabled: true
data_type: PCAP_DNS
batch_n_seconds: 10
batch_n_bytes: 1048576
interface: \Device\NPF_{2E0E9440-ABFF-4E5B-B43C-E188FCAD9734}
bpf: udp port 53
La sortie getmac.exe
pour le nom de transport commence par \Device\Tcpip
, tandis que la section pcap comparable commence par \Device\NPF
.
Données du sujet Kafka
Le transfert Google Security Operations permet d'ingérer des données directement à partir de sujets Kafka. Vous pouvez déployer jusqu'à trois transmetteurs et extraire des données du même sujet Kafka en exploitant le concept de groupes de consommateurs pour un traitement efficace et parallèle. Pour en savoir plus, consultez la section Kafka. Pour en savoir plus sur les groupes de consommateurs Kafka, consultez Consommateur Kafka.
La configuration du forwarder suivante montre comment configurer le forwarder pour qu'il ingère les données des sujets Kafka.
Linux
Le fichier FORWARDER_NAME.conf
collectors: - kafka: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:NIX_SYSTEM
enabled: true topic: example-topic group_id: chronicle-forwarder timeout: 60s brokers: ["broker-1:9092", "broker-2:9093"] tls: insecureSkipVerify: true certificate: "/path/to/cert.pem" certificate_key: "/path/to/cert.key" - syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:WINEVTLOG
enabled: true tcp_address: 0.0.0.0:30001 connection_timeout_sec: 60
Le fichier FORWARDER_NAME_auth.conf
collectors: - kafka: username: user password: password - syslog:
Windows
Fichier FORWARDER_NAME.conf
collectors: - kafka: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:NIX_SYSTEM
enabled: true topic: example-topic group_id: chronicle-forwarder timeout: 60s brokers: ["broker-1:9092", "broker-2:9093"] tls: insecureSkipVerify: true certificate: "c:/path/to/cert.pem" certificate_key: "c:/path/to/cert.key" - syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:WINEVTLOG
enabled: true tcp_address: 0.0.0.0:30001 connection_timeout_sec: 60
Fichier FORWARDER_NAME_auth.conf
collectors: - kafka: username: user password: password - syslog:
Données WebProxy
Le transpondeur Google SecOps peut capturer des données WebProxy directement à partir d'une interface réseau.
Linux
Le transpondeur Google SecOps peut capturer des données WebProxy à l'aide de libcap sur Linux. Pour en savoir plus sur libcap, consultez la page libcap - Linux manual page. Pour activer la capture de données WebProxy pour votre système, contactez l'assistance Google SecOps.
Modifiez la configuration du forwarder Google SecOps (fichier FORWARDER_NAME.conf
) comme suit:
- webproxy:
common:
enabled : true
data_type: <Your LogType>
batch_n_seconds: 10
batch_n_bytes: 1048576
interface: any
bpf: tcp and dst port 80
Windows
Le forwarder peut capturer les données WebProxy à l'aide de Npcap et les envoyer à Google Cloud.
Pour activer la capture des données WebProxy pour votre système, contactez l'assistance Google SecOps.
Avant d'exécuter un transfert WebProxy, procédez comme suit:
Installez Npcap sur l'hôte Microsoft Windows. Activez le mode de compatibilité WinPcap lors de l'installation.
Accordez des droits racine ou d'administrateur au forwarder pour surveiller l'interface réseau.
Obtenez le GUID de l'interface utilisée pour capturer les paquets WebProxy.
Exécutez
getmac.exe
sur la machine sur laquelle vous souhaitez installer le transpondeur Google SecOps et envoyez la sortie à Google SecOps. Vous pouvez également modifier le fichier de configuration. Recherchez la section "WebProxy" et remplacez le GUID affiché à côté de l'interface par celui affiché après l'exécution degetmac.exe
.Modifiez le fichier de configuration du forwarder Google SecOps (
FORWARDER_NAME.conf
) comme suit:- webproxy: common: enabled : true data_type: <Your LogType> batch_n_seconds: 10 batch_n_bytes: 1048576 interface: \Device\NPF_{2E0E9440-ABFF-4E5B-B43C-E188FCAD9734} bpf: tcp and dst port 80
Configurer les attributs de clé dans le fichier de configuration
Le tableau suivant répertorie les paramètres importants utilisés dans le fichier de configuration du forwarder.
Paramètre | Description |
---|---|
data_type | Type de données de journal que le collecteur peut collecter et traiter. |
métadonnées | Métadonnées, qui remplacent les métadonnées globales. |
max_file_buffer_bytes | Nombre maximal d'octets pouvant être accumulés dans le tampon de disque ou de fichier.
La valeur par défaut est 1073741824 , soit 1 Go. |
max_memory_buffer_bytes | Nombre maximal d'octets pouvant être accumulés dans le tampon de mémoire. La valeur par défaut est 1073741824 , soit 1 Go. |
write_to_disk_dir_path | Chemin d'accès à utiliser pour le tampon de fichier ou de disque. |
write_to_disk_buffer_enabled | Si la valeur est true , la mémoire tampon de disque est utilisée au lieu de la mémoire tampon de mémoire. La valeur par défaut est false .
|
batch_n_bytes | Nombre maximal d'octets pouvant être accumulés par le collecteur après quoi les données sont groupées. La valeur par défaut est 1048576 , soit 1 Mo. |
batch_n_seconds | Nombre de secondes après lesquelles les données collectées par le collecteur sont groupées. La valeur par défaut est de 11 secondes. |
data_hint | Format de données que le collecteur peut recevoir (généralement l'en-tête du fichier journal qui décrit le format). |
Pour obtenir une liste complète des paramètres utilisés dans le fichier de configuration, consultez les sections Champs de configuration du forwarder et Champs de configuration du collecteur.
Compression des données
Par défaut, la compression des journaux est désactivée. Activer la compression des journaux peut réduire la consommation de bande passante. Toutefois, l'activation de la compression des journaux peut également augmenter l'utilisation du processeur. Évaluez le compromis en fonction de votre environnement et des données de journal.
Pour activer la compression des journaux, définissez le champ compression
sur true
dans le fichier de configuration du forwarder Google SecOps, comme illustré dans l'exemple suivant:
Le fichier FORWARDER_NAME.conf
output: compression: true url: malachiteingestion-pa.googleapis.com:443 identity: identity: collector_id: 10479925-878c-11e7-9421-10604b7cb5c1 customer_id: ebdc4bb9-878b-11e7-8455-10604b7cb5c1 ...
Le fichier FORWARDER_NAME_auth.conf
output: identity: secret_key: | { "type": "service_account", ... }
Mise en mémoire tampon de disque
La mise en mémoire tampon sur disque vous permet de mettre en mémoire tampon les messages en attente sur disque plutôt que dans la mémoire.
Vous pouvez configurer la mise en mémoire tampon automatique pour utiliser un tampon partagé dynamiquement entre les collecteurs, ce qui permet de mieux gérer les pics de trafic. Pour activer le tampon partagé dynamiquement, ajoutez ce qui suit dans la configuration du forwarder:
auto_buffer: enabled: true target_memory_utilization: 80
Si la mise en mémoire tampon automatique sur disque est activée, mais que target_memory_utilization
n'est pas défini, la valeur par défaut est 70
.
Si vous exécutez le forwarder à l'aide de Docker, nous vous recommandons de monter un volume distinct de votre volume de configuration à des fins d'isolation. De plus, chaque entrée doit être isolée avec son propre répertoire ou son propre volume pour éviter les conflits.
Exemple de configuration
La configuration suivante inclut une syntaxe permettant d'activer la mise en mémoire tampon de disque:
collectors: - syslog: common: write_to_disk_buffer_enabled: true # /buffers/NIX_SYSTEM
is part of the external mounted volume for the forwarder write_to_disk_dir_path: /buffers/NIX_SYSTEM
max_file_buffer_bytes: 1073741824 batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:NIX_SYSTEM
enabled: true tcp_address: 0.0.0.0:30000 connection_timeout_sec: 60 - syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:WINEVTLOG
enabled: true tcp_address: 0.0.0.0:30001 connection_timeout_sec: 60
Filtres d'expressions régulières
Les filtres d'expression régulière vous permettent de filtrer les journaux en faisant correspondre des formats aux données de journal 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.
Le comportement par défaut d'une correspondance est block
. Vous pouvez spécifier des filtres avec un comportement allow
. Si vous spécifiez un filtre allow
, le transpondeur bloque tous les journaux qui ne correspondent pas à au moins un filtre allow
.
Vous pouvez définir un nombre arbitraire de filtres. Les filtres Block
ont la priorité sur les filtres allow
.
Lorsque vous définissez des filtres, vous devez leur attribuer un nom. Les noms des filtres actifs seront signalés à Google SecOps via les métriques de santé du transpondeur. Les filtres définis à la racine de la configuration sont fusionnés avec les filtres définis au niveau du collecteur. Les filtres au niveau du collecteur sont prioritaires en cas de noms en conflit. Si aucun filtre n'est défini au niveau de la racine ou du collecteur, tous les journaux sont autorisés.
Exemple de configuration
Dans la configuration du forwarder suivante, les journaux WINEVTLOG
qui ne correspondent pas au filtre racine (allow_filter
) sont bloqués. Compte tenu de l'expression régulière, le filtre n'autorise que les journaux dont la priorité est comprise entre 0 et 99.
Toutefois, tous les journaux NIX_SYSTEM
contenant "foo" ou "bar" sont bloqués, malgré allow_filter
. En effet, les filtres utilisent un OU logique. Tous les journaux sont traités jusqu'à ce qu'un filtre soit déclenché.
regex_filters: allow_filter: regexp: ^<[1-9][0-9]?$>.*$ behavior_on_match: allow collectors: - syslog: common: regex_filters: block_filter_1: regexp: ^.*foo.*$ behavior_on_match: block block_filter_2: regexp: ^.*bar.*$ batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:NIX_SYSTEM
enabled: true tcp_address: 0.0.0.0:30000 connection_timeout_sec: 60 - syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:WINEVTLOG
enabled: true tcp_address: 0.0.0.0:30001 connection_timeout_sec: 60
Libellés arbitraires
Les libellés 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 libellés au niveau du collecteur remplacent les libellés au niveau du forwarder si les clés se chevauchent.
Exemple de configuration
Dans la configuration du forwarder suivante, les paires clé/valeur "foo=bar" et "meow=mix" sont toutes deux associées aux journaux WINEVTLOG
, et les paires clé/valeur "foo=baz" et "meow=mix" sont associées aux journaux NIX_SYSTEM
.
metadata: labels: foo: bar meow: mix collectors: syslog: common: metadata: labels: foo: baz meow: mix batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:NIX_SYSTEM
enabled: true tcp_address: 0.0.0.0:30000 connection_timeout_sec: 60 syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:WINEVTLOG
enabled: true tcp_address: 0.0.0.0:30001 connection_timeout_sec: 60
Espaces de noms
Vous pouvez utiliser des libellés d'espace de noms pour identifier les journaux de segments réseau distincts et résoudre les conflits d'adresses IP qui se chevauchent. Tout espace de noms configuré pour le transpondeur s'affiche avec les composants associés dans l'interface utilisateur de Google SecOps. Vous pouvez également rechercher des espaces de noms à l'aide de la fonctionnalité de recherche Google SecOps.
Pour savoir comment afficher les espaces de noms dans l'interface utilisateur Google SecOps, consultez Espaces de noms des composants.
Exemple de configuration
Dans la configuration du forwarder suivante, les journaux WINEVTLOG
sont associés à l'espace de noms FORWARDER et les journaux NIX_SYSTEM
sont associés à l'espace de noms CORPORATE.
metadata: namespace: FORWARDER collectors: - syslog: common: metadata: namespace: CORPORATE batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:NIX_SYSTEM
enabled: true tcp_address: 0.0.0.0:30000 connection_timeout_sec: 60 - syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:WINEVTLOG
enabled: true tcp_address: 0.0.0.0:30001 connection_timeout_sec: 60
Options d'équilibrage de charge et de haute disponibilité
Vous pouvez configurer le serveur HTTP, l'équilibrage de charge et les options de haute disponibilité dans la section "server" du fichier de configuration du forwarder. Ces options permettent de définir les durées de délai avant expiration et les codes d'état renvoyés en réponse aux vérifications de l'état reçues dans le planificateur de conteneurs et les déploiements basés sur l'orchestration, ainsi que par les équilibreurs de charge.
Utilisez les chemins d'URL suivants pour les vérifications d'état, d'aptitude et d'activité.
Les valeurs <host:port>
sont définies dans la configuration du forwarder.
http://<host:port>/meta/available
: vérifications de l'activité pour les planificateurs ou les orchestrateurs de conteneurshttp://<host:port>/meta/ready
: vérifications de préparation et vérifications d'état de l'équilibreur de charge
La configuration du forwarder suivante est un exemple d'équilibrage de charge et de haute disponibilité:
collectors: - syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:NIX_SYSTEM
enabled: true tcp_address: 0.0.0.0:30000 connection_timeout_sec: 60 - syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:WINEVTLOG
enabled: true tcp_address: 0.0.0.0:30001 connection_timeout_sec: 60 server: graceful_timeout: 15s drain_timeout: 10s http: port: 8080 host: 0.0.0.0 read_timeout: 3s read_header_timeout: 3s write_timeout: 3s idle_timeout: 3s routes: - meta: available_status: 204 ready_status: 204 unready_status: 503
Chemin de configuration | Description |
---|---|
server : graceful_timeout | Durée pendant laquelle le forwarder renvoie une mauvaise vérification de l'état/de la préparation et accepte toujours de nouvelles connexions. 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 permet à l'équilibreur de charge de supprimer le forwarder du pool. |
server : drain_timeout | Durée pendant laquelle le forwarder attend que les connexions actives se ferment automatiquement avant d'être fermées par le serveur. |
server : http : port | Numéro de port sur lequel le serveur HTTP écoute les vérifications d'état de l'équilibreur de charge. Doit être compris entre 1 024 et 65 535. |
server : http : host | Adresse IP ou nom d'hôte pouvant être résolu en adresses IP que le serveur doit écouter. Si ce champ est vide, la valeur par défaut est le système local (0.0.0.0). |
server : http : read_timeout | 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 lire l'intégralité de la requête, à la fois l'en-tête et le corps. Vous pouvez définir à la fois read_timeout et read_header_timeout. |
server : http : read_header_timeout | 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 lire les en-têtes de requête. La limite de délai de lecture de la connexion est réinitialisée après la lecture de l'en-tête. |
server : http : write_timeout | 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 envoyer une réponse. Il est réinitialisé lorsqu'un nouvel en-tête de requête est lu. |
server : http : idle_timeout | 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 idle_timeout est nul, la valeur de read_timeout est utilisée. Si les deux sont nuls, read_header_timeout est utilisé. |
routes : meta : ready_status | Code d'état renvoyé par le transpondeur lorsqu'il est prêt à accepter le trafic dans l'une des situations suivantes:
|
routes : meta : unready_status | Code d'état renvoyé par le forwarder lorsqu'il n'est pas prêt à accepter le trafic. |
routes : meta : available_status | Code d'état renvoyé par le transpondeur lorsqu'une vérification d'activité est reçue et que le transpondeur est disponible. Les planificateurs ou orchestrateurs de conteneurs envoient souvent des vérifications de l'état. |