Gérer manuellement le fichier de configuration du redirecteur
Cette page explique comment créer et modifier manuellement un fichier de configuration de redirecteur Google Security Operations. Pour configurer le redirecteur via l'interface utilisateur (recommandé), consultez Gérer les configurations de redirecteur via l'interface utilisateur Google SecOps.
Chaque transférateur Google SecOps déployé nécessite un fichier de configuration de transférateur. Un fichier de configuration du redirecteur spécifie les paramètres permettant de transférer les données vers votre instance Google SecOps.
Pour savoir comment installer et configurer le transmetteur Google SecOps, connaître la configuration système requise et obtenir des informations sur les paramètres de configuration, consultez Installer et configurer le transmetteur.
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és et les attributs clés 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 depuis l'interface utilisateur.
Enregistrez les deux fichiers dans le même répertoire en respectant la convention de dénomination 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 Définir des types de données dans votre fichier de configuration. Pour savoir comment personnaliser chaque attribut, comme la compression des données ou la mise en mémoire tampon sur disque, consultez Configurer les attributs clés dans le fichier de configuration.
Assurez-vous qu'il existe une entrée pour chaque entrée dans le fichier
FORWARDER_NAME
_auth.conf, même si l'entrée ne comporte pas de détails d'authentification correspondants. Ce paramètre est obligatoire pour mapper correctement les données.
Toutes les modifications apportées au fichier de configuration seront automatiquement appliquées par le transmetteur dans un délai de 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 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 n'importe quel système de gestion de configuration ouvert.
Vous pouvez stocker le fichier FORWARDER_NAME
_auth.conf directement dans la machine physique ou virtuelle exécutant le redirecteur.
L'exemple de code suivant montre le format des fichiers de configuration d'un redirecteur.
Le fichier FORWARDER_NAME.conf
output: url: {region}-chronicle.googleapis.com (for example: us-chronicle.googleapis.com) use_dataplane : true project_id: PROJECT_ID region: {region} (for example: {us}) 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 à fichier unique
output: url: us-chronicle.googleapis.com use_dataplane: true project_id: PROJECT_ID region: us 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
Passer d'un système à un fichier à un 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
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 non liées à l'autorisation du fichier. Vous pouvez utiliser l'exemple de configuration comme référence. Assurez-vous de 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 redirecteur Google SecOps pour ingérer différents types de données, qui sont transférées à l'instance Google SecOps.
Données Splunk
Vous pouvez configurer le transmetteur Google SecOps pour transférer vos données Splunk vers Google SecOps. Google Cloud configure le transmetteur 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).
Requêtes Splunk permettant de 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 redirecteur 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 le mot de passe sur la deuxième :
cat creds.txt myusername mypassword
Pour utiliser le transmetteur Google SecOps afin d'accéder à une instance Splunk, copiez le fichier
creds.txt
dans le répertoire de configuration (le même répertoire 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 redirecteur 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 qu'il transfère ses données au transmetteur Google SecOps. Vous pouvez contrôler les données que le serveur envoie au transitaire, qui peut ensuite les transférer vers Google SecOps.
Le fichier de configuration FORWARDER_NAME.conf
(fourni parGoogle Cloud) spécifie les ports à surveiller pour chaque type de données transférées (par exemple, le port 10514). Par défaut, le redirecteur Google SecOps accepte les connexions TCP et UDP.
Vous pouvez personnaliser la taille du tampon TCP. La taille de 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 du journal TCP :
dns.* @@192.168.0.12:10514
Trafic de journaux 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 redirecteur Google SecOps. Dans le fichier de configuration du redirecteur (FORWARDER_NAME
.conf), spécifiez l'emplacement de votre propre certificat et clé de certificat générés, comme indiqué 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 |
En vous basant sur l'exemple ci-dessus, modifiez le fichier de configuration du redirecteur (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 être 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 lié au conteneur Docker. Vous pouvez l'utiliser si vous souhaitez importer manuellement des journaux à partir d'un seul fichier journal.
Démarrez le transmetteur Google SecOps à partir du conteneur Docker pour mapper le volume de charge au 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 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.
En vous basant sur l'exemple, vous pouvez modifier la configuration du redirecteur 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 des 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 les nouvelles lignes de journaux en entrée. Si vous définissez cette valeur sur true
, toutes les lignes de journaux précédentes seront renvoyées lors des redémarrages du transmetteur. Cela entraîne la 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 redirecteur renvoie les lignes de journaux manquantes.
poll
(bool) : le collecteur de fichiers utilise la bibliothèque Tail pour vérifier les modifications apportées au système de fichiers. En définissant ce flag 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 paquets
Le transmetteur 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 sur Linux. Pour en savoir plus sur libcap, consultez la page de manuel libcap pour Linux.
Au lieu d'entrées de journaux, les paquets réseau bruts sont capturés et envoyés à Google SecOps. Cette capture est limitée à une interface locale. Pour activer la capture de paquets pour votre système, contactez l'assistance Google SecOps.
Google SecOps configure le redirecteur 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 Filtres de paquets Berkeley.
Systèmes Windows
Le transmetteur Google SecOps peut capturer des paquets à l'aide de Npcap sur les systèmes Windows.
Au lieu d'entrées de journaux, les paquets réseau bruts sont capturés et envoyés à Google SecOps. Cette capture est limitée à une interface locale. Pour configurer votre redirecteur Google SecOps pour la capture de paquets, contactez l'assistance Google SecOps.
Conditions requises pour un transmetteur PCAP de capture de paquets :
Installez Npcap sur l'hôte Microsoft Windows.
Accordez à l'agent de transfert Google SecOps des droits root ou d'administrateur pour surveiller l'interface réseau.
Lors de l'installation de Npcap, activez le mode de compatibilité WinPcap.
Pour configurer un redirecteur 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 redirecteur Google SecOps (serveur ou machine à l'écoute sur le port de span), puis envoyez le résultat à Google SecOps.
Vous pouvez également modifier le fichier de configuration. Localisez 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
Sortie 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 du transport commence par \Device\Tcpip
, tandis que la section pcap comparable commence par \Device\NPF
.
Données du sujet Kafka
Le transmetteur Google SecOps permet d'ingérer des données directement à partir de sujets Kafka. Vous pouvez déployer jusqu'à trois répartiteurs et extraire des données du même sujet Kafka en tirant parti du concept de groupes de consommateurs pour un traitement efficace et parallèle. Pour en savoir plus, consultez Kafka. Pour en savoir plus sur les groupes de consommateurs Kafka, consultez Consommateur Kafka.
La configuration du redirecteur suivante montre comment configurer le redirecteur pour ingérer les données des thèmes 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 transmetteur Google SecOps peut capturer les données WebProxy directement à partir d'une interface réseau.
Linux
Le transmetteur Google SecOps peut capturer les données WebProxy à l'aide de libcap sur Linux. Pour en savoir plus sur libcap, consultez la page de manuel libcap pour Linux. Pour activer la capture de données WebProxy pour votre système, contactez l'assistance Google SecOps.
Modifiez la configuration du redirecteur 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 redirecteur peut capturer les données WebProxy à l'aide de Npcap et les envoyer à Google Cloud.
Pour activer la capture de données WebProxy pour votre système, contactez l'assistance Google SecOps.
Avant d'exécuter un transmetteur 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 root ou d'administrateur au redirecteur 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 transmetteur 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 qui s'affiche après l'exécution degetmac.exe
.Modifiez le fichier de configuration du redirecteur 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 clés dans le fichier de configuration
Le tableau suivant répertorie les paramètres importants utilisés dans le fichier de configuration du transmetteur.
Paramètre | Description |
---|---|
data_type | Type de données de journaux 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 fichier ou le tampon de disque. |
write_to_disk_buffer_enabled | Si la valeur est true , la mémoire tampon de disque est utilisée à la place de la mémoire tampon. La valeur par défaut est false .
|
batch_n_bytes | Nombre maximal d'octets pouvant être cumulés par le collecteur avant le regroupement des donné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 regroupé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 Champs de configuration du transmetteur et Champs de configuration du collecteur.
Compression des données
Par défaut, la compression des journaux est désactivée. L'activation de 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 journaux.
Pour activer la compression des journaux, définissez le champ compression
sur true
dans le fichier de configuration du transfert Google SecOps, comme indiqué 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 sur disque
La mise en mémoire tampon sur disque vous permet de mettre en mémoire tampon les messages en attente sur le disque plutôt que dans la mémoire.
Vous pouvez configurer la mise en mémoire tampon automatique pour utiliser un tampon partagé de manière dynamique entre les collecteurs, ce qui permet de mieux gérer les pics de trafic. Pour activer le tampon partagé de manière dynamique, ajoutez les éléments suivants à la configuration de votre transmetteur :
auto_buffer: enabled: true target_memory_utilization: 80
Si la mise en mémoire tampon automatique du disque est activée, mais que target_memory_utilization
n'est pas défini, la valeur par défaut 70
est utilisée.
Si vous exécutez le transmetteur à 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 dans son propre répertoire ou volume pour éviter les conflits.
Exemple de configuration
La configuration suivante inclut la syntaxe permettant d'activer la mise en mémoire tampon sur 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'expressions régulières vous permettent de filtrer les journaux en faisant correspondre des modèles aux données brutes des journaux. 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 en cas de correspondance est block
. Vous pouvez spécifier des filtres avec le comportement allow
. Si vous spécifiez un filtre allow
, le transmetteur 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
sont prioritaires par rapport aux filtres allow
.
Lorsque des filtres sont définis, ils doivent être associés à un nom. Les noms des filtres actifs seront communiqués à Google SecOps via les métriques sur l'état du redirecteur. Les filtres définis à la racine de la configuration sont fusionnés avec ceux définis au niveau du collecteur. Les filtres au niveau du collecteur sont prioritaires en cas de noms conflictuels. Si aucun filtre n'est défini au niveau de la racine ou du collecteur, le comportement consiste à autoriser tous les journaux.
Exemple de configuration
Dans la configuration de transfert 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é le 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 un transmetteur entier ou dans un collecteur spécifique du transmetteur. Si les deux sont présents, les libellés au niveau du collecteur remplacent ceux au niveau du transmetteur si les clés se chevauchent.
Exemple de configuration
Dans la configuration de transfert 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 provenant de segments de réseau distincts et résoudre les conflits d'adresses IP qui se chevauchent. Tout espace de noms configuré pour le redirecteur s'affiche avec les composants associés dans l'interface utilisateur Google SecOps. Vous pouvez également rechercher des espaces de noms à l'aide de la fonctionnalité Recherche SecOps de Google.
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 de transfert 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 transmetteur. Ces options permettent de définir des durées de délai avant expiration et des codes d'état renvoyés en réponse aux vérifications de l'état de santé reçues dans les déploiements basés sur l'orchestration et le planificateur de conteneurs, ainsi que depuis 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 transmetteur.
http://<host:port>/meta/available
: vérifications de l'activité pour les planificateurs ou orchestrateurs de conteneurshttp://<host:port>/meta/ready
: Vérifications de l'état de préparation et vérifications d'état de l'équilibreur de charge
La configuration de redirecteur 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 transitaire renvoie une vérification de l'état/de la disponibilité incorrecte tout en acceptant de nouvelles connexions. Il s'agit également du temps 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 redirecteur du pool. |
server : drain_timeout | Durée pendant laquelle le redirecteur attend que les connexions actives se ferment d'elles-mêmes avant d'être fermées par le serveur. |
serveur : 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 elle est vide, la valeur par défaut est le système local (0.0.0.0). |
server : http : read_timeout | Permet de régler le serveur HTTP. En général, 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 de régler le serveur HTTP. En général, il n'est pas nécessaire de modifier le paramètre par défaut. Durée maximale autorisée pour la lecture des en-têtes de requête. Le délai de lecture de la connexion est réinitialisé après la lecture de l'en-tête. |
server : http : write_timeout | Permet de régler le serveur HTTP. En général, il n'est pas nécessaire de modifier le paramètre par défaut. Durée maximale autorisée pour l'envoi d'une réponse. Il est réinitialisé lorsqu'un nouvel en-tête de requête est lu. |
server : http : idle_timeout | Permet de régler le serveur HTTP. En général, 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 défini sur zéro, la valeur de read_timeout est utilisée. Si les deux sont nuls, le read_header_timeout est utilisé. |
routes : meta : ready_status | Code d'état renvoyé par le transitaire lorsqu'il est prêt à accepter le trafic dans l'une des situations suivantes :
|
routes : meta : unready_status | Code d'état renvoyé par le transitaire lorsqu'il n'est pas prêt à accepter le trafic. |
routes : meta : available_status | Code d'état renvoyé par le redirecteur lorsqu'une vérification d'activité est reçue et que le redirecteur est disponible. Les planificateurs ou orchestrateurs de conteneurs envoient souvent des vérifications de liveness. |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.