Forwarder Chronicle per Windows su Docker
Questo documento descrive come installare e configurare il forwarding di Chronicle per Windows su Docker.
Requisiti di sistema
Di seguito sono riportati alcuni consigli generali. Per suggerimenti specifici per il tuo sistema, contatta l'assistenza di Chronicle.
- Versione Windows Server: il forwarding di Chronicle è supportato su Microsoft Windows Server 2022.
- RAM: 1,5 GB per ogni tipo di log raccolto. Ad esempio, il rilevamento e la risposta degli endpoint (EDR), DNS e DHCP sono tutti tipi di log separati. Avrai bisogno di 4,5 GB di RAM per raccogliere i dati per questi tre elementi. Per un elenco dei parser predefiniti e dei tipi di log supportati, consulta Analizzatori predefiniti supportati.
- CPU: 2 CPU sono sufficienti per gestire meno di 10.000 eventi al secondo (EPS) in tutti i tipi di dati. Se prevedi di inviare più di 10.000 EPS, sono necessarie da 4 a 6 CPU.
Disco: 100 MB di spazio su disco sono sufficienti, indipendentemente dalla quantità di dati gestita dal forwarding Chronicle. Puoi eseguire il buffer del disco aggiungendo i parametri
write_to_disk_buffer_enabled
ewrite_to_disk_dir_path
nel file di configurazione.Ad esempio:
- <collector>: common: ... write_to_disk_buffer_enabled: true write_to_disk_dir_path: directory_path ...
Intervalli di indirizzi IP di Google
Potrebbe essere necessario aprire l'intervallo di indirizzi IP durante la configurazione di una configurazione del forwarding di Chronicle, ad esempio durante la configurazione della configurazione per il firewall. Google non può fornire un elenco specifico di indirizzi IP. Tuttavia, puoi ottenere intervalli di indirizzi IP di Google.
Verifica la configurazione del firewall
Se sono presenti firewall o proxy autenticati tra il container di forwarding Chronicle e internet, sono necessarie regole per consentire l'accesso ai seguenti host Google Cloud:
Tipo di connessione | Destinazione | Port (Porta) |
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 | 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 |
Puoi verificare la connettività di rete a Google Cloud seguendo questa procedura:
Avvia Windows PowerShell con i privilegi di amministratore (fai clic su Start, digita
PowerShell
, fai clic con il tasto destro del mouse su Windows PowerShell e fai clic su Esegui come amministratore).Esegui questo comando.
C:\> test-netconnection <host> -port <port>
Il comando restituisce che
TcpTestSucceeded
ètrue
.Ad esempio:
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
Installa Docker su Microsoft Windows
Questa sezione descrive come installare Docker su Microsoft Windows utilizzando l'interfaccia a riga di comando e PowerShell.
Vantaggi dell'inoltro di Chronicle utilizzando un container:
- Maggiore sicurezza grazie all'isolamento:
- L'ambiente e i requisiti del cliente non influiscono sul forwarding di Chronicle.
- L'ambiente e i requisiti del mittente di Chronicle non influiscono sul cliente.
- Il meccanismo di distribuzione del container esiste già e può essere privato e separato per Google Cloud e per i clienti. Per saperne di più, consulta Artifact Registry.
Completa i seguenti passaggi su Microsoft Windows Server Core 2022.
Attiva la funzionalità contenitore di Microsoft Windows.
Install-WindowsFeature containers -Restart
Esegui questo comando in modalità Amministratore PowerShell per installare 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
Testa l'interfaccia a riga di comando di Docker eseguendo il comando
docker ps
, che restituisce un elenco dei container in esecuzione. Se il comando non elenca i container in esecuzione, l'installazione è riuscita. Se Docker non è installato correttamente, viene visualizzato un errore.Per saperne di più, consulta la Guida introduttiva: preparazione di Windows per i contenitori.
Per i deployment aziendali, installa Mirantis Container Runtime, noto anche come Docker EE.
Configura il forwarding di Chronicle
Per configurare il forwarding di Chronicle per Windows su Docker, vedi Gestire le configurazioni del forwarding tramite l'interfaccia utente di Chronicle.
Quando configuri il forwarding di Chronicle, assicurati che tutti i percorsi nel forwarding inizino con il prefisso "c:".
Eventuali modifiche apportate al file di configurazione verranno applicate automaticamente dal forwarding di Chronicle entro 5 minuti.
Per raccogliere i dati dei pacchetti utilizzando il forwarding Chronicle per Windows su Docker, consulta Raccogliere dati dei pacchetti.
Esegui il forwarding di Chronicle all'interno del container Docker
Se esegui l'upgrade del forwarding di Chronicle, inizia a ripulire le esecuzioni Docker precedenti. Nell'esempio seguente, il nome del container Docker è
cfps
.docker stop cfps docker rm cfps
Ottieni l'immagine Docker più recente da Google Cloud utilizzando questo comando pull Docker.
docker pull gcr.io/chronicle-container/cf_production_stable_windows
Avvia il forwarding di Chronicle dal container Docker.
docker run ` --detach ` --name cfps ` --restart=always ` --log-opt max-size=100m ` --log-opt max-file=10 ` -p 10514:10514 ` -v C:\config\:C:/opt/chronicle/external ` gcr.io/chronicle-container/cf_production_stable_windows
Puoi aggiungere più porte utilizzando più opzioni o intervalli multipli. Ad esempio:
-p 3001:3000 -p 2023:2022
o-p 7000-8000:7000-8000
Visualizza i log del forwarding
Per visualizzare i log del forwarding di Chronicle, esegui questo comando:
sudo docker logs cfps
Per visualizzare il percorso del file in cui sono archiviati i log, esegui questo comando:
docker inspect --format='{{.LogPath}}' CONTAINER_NAME
Per visualizzare i log in esecuzione in tempo reale, esegui questo comando:
sudo docker logs cfps -f
Per archiviare i log in un file, esegui questo comando:
sudo docker logs cfps &> logs.txt
Disinstallare il forwarding di Chronicle
I seguenti comandi Docker consentono di interrompere e disinstallare o rimuovere il forwarding di Chronicle.
Questo comando interrompe il container di forwarding di Chronicle:
docker stop cfps
Questo comando rimuove il container di forwarding di Chronicle:
docker rm cfps
Esegui l'upgrade dell'inoltro di Chronicle
Il forwarding di Chronicle per Windows su Docker viene costantemente aggiornato utilizzando uno script shell nell'immagine Docker, quindi non è necessario fornire eseguibili per questo.
Raccogli i dati
Le sezioni seguenti ti aiutano a configurare il forwarding di Chronicle per importare diversi tipi di dati, che vengono inoltrati all'istanza di Chronicle.
Non configurare un valore superiore a 1 MB per batch_n_bytes
. Se configuri un valore superiore a 1 MB, il valore verrà reimpostato automaticamente su 1 MB.
Raccogli dati Splunk
Puoi configurare il forwarding di Chronicle in modo che inoltri i dati di Splunk a Chronicle. Google Cloud configura il forwarding di Chronicle con le seguenti informazioni per inoltrare i tuoi dati da Splunk:
URL per l'API REST Splunk (ad esempio,
https://10.0.113.15:8089
).Query Splunk per generare dati per ciascuno dei tipi di dati richiesti (ad esempio,
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
- Rendi le credenziali del tuo account Splunk disponibili al gestore di Chronicle. Puoi farlo creando un file
creds.txt
.
Per utilizzare un file creds.txt
:
Crea un file locale per le tue credenziali Splunk e assegnagli il nome
creds.txt
.Inserisci il tuo nome utente nella prima riga e la password nella seconda riga:
cat creds.txt myusername mypassword
Per utilizzare il forwarding di Chronicle per accedere a un'istanza Splunk, copia il file
creds.txt
nella directory di configurazione (la stessa in cui si trovano i file di configurazione). Ad esempio:cp creds.txt c:/opt/chronicle/config/creds.txt
Verifica che il file
creds.txt
si trovi nella posizione corretta:ls c:/opt/chronicle/config
Raccogli dati syslog
Il forwarding di Chronicle può funzionare come server syslog. Puoi configurare qualsiasi appliance o server che supporti l'invio di dati syslog su una connessione TCP o UDP per inoltrarne i dati al forwarding di Chronicle. Puoi controllare i dati esatti che l'appliance o il server invia al server di inoltro di Chronicle. Lo spedizioniere di Chronicle può quindi inoltrare i dati a Chronicle.
Il file di configurazione FORWARDER_NAME.conf
(fornito da Google Cloud) specifica le porte da monitorare per ogni tipo di dati inoltrati (ad esempio, la porta 10514). Per impostazione predefinita, il forwarding
di Chronicle accetta sia connessioni TCP che UDP.
Configura rsyslog
Per configurare rsyslog, devi specificare una destinazione per ogni porta (ad esempio, ogni tipo di dati). Consulta la documentazione del sistema per la sintassi corretta. I seguenti esempi illustrano la configurazione di destinazione rsyslog:
Traffico dei log TCP:
dns.* @@192.168.0.12:10514
Traffico dei log UDP:
dns.* @192.168.0.12:10514
Abilita TLS per le configurazioni syslog
Puoi abilitare TLS per la connessione syslog al forwarding Chronicle. Nel file di configurazione del forwarding di Chronicle (FORWARDER_NAME.conf
), specifica la posizione del tuo certificato generato e della chiave del certificato come mostrato nell'esempio seguente:
certificato | c:/opt/chronicle/external/certs/client_generated_cert.pem |
certificate_key | c:/opt/chronicle/external/certs/client_generated_cert.key |
In base all'esempio mostrato, modifica il file di configurazione dell'inoltro di Chronicle (FORWARDER_NAME.conf
) come segue:
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"
Alcuni punti importanti da notare:
Puoi configurare la dimensione del buffer TCP. La dimensione predefinita del buffer TCP è 64 kB.
Il valore predefinito e consigliato per
connection_timeout
è 60 secondi. Se la connessione è inattiva per un determinato periodo di tempo, la connessione TCP viene interrotta.La versione TLS minima viene verificata in base alla versione TLS della richiesta di input. La versione TLS della richiesta di input deve essere superiore alla versione TLS minima. La versione TLS minima deve essere uno dei seguenti valori:
TLSv1_0
,TLSv1_1
,TLSv1_2
,TLSv1_3
.
Puoi creare una directory dei certificati nella directory di configurazione e archiviare i file dei certificati.
Raccogli i dati dei file
Un raccoglitore di file è progettato per recuperare i log da un file. Il file deve essere associato al container Docker.
Utilizza questa opzione se vuoi caricare manualmente i log da un singolo file di log. Può essere utilizzata per eseguire il backfill dei log per un determinato file di log.
Avvia il forwarding di Chronicle dal container Docker:
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/falconhoseclient:c:/opt/chronicle/edr ` gcr.io/chronicle-container/cf_production_stable
Puoi aggiungere più porte utilizzando più opzioni o intervalli multipli. Ad esempio: -p 3001:3000 -p 2023:2022
o -p 7000-8000:7000-8000
Questo comando docker run
è fondamentale per mappare il volume di carico al container.
In base a questo esempio, devi modificare la configurazione del forwarding di
Chronicle (file FORWARDER_NAME.conf
) come segue.
Il file sample.txt
dovrebbe essere presente nella
cartella /var/log/crowdstrike/falconhostclient
.
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/output/sample.txt filter:
Configurazioni di flag
skip_seek_to_end
(bool): questo flag è impostato su false
per impostazione predefinita e l'input del file invia solo nuove righe di log come input. Se questo criterio viene impostato su true
, tutte le righe di log precedenti vengono inviate di nuovo durante i riavvii dell'inoltro. Questo causa la duplicazione dei log. L'impostazione di questo flag su true
è utile in determinate
situazioni (ad esempio, durante un'interruzione), perché il riavvio del forwarding comporta di nuovo
l'invio delle righe di log mancanti.
poll
(bool): il raccoglitore file utilizza la libreria Tail per verificare la presenza di eventuali modifiche
nel file system. Se imposti questo flag su true
, la libreria tail utilizza il metodo di polling anziché il metodo di notifica predefinito.
Raccogli i dati del pacchetto
Il forwarding di Chronicle può acquisire i pacchetti direttamente da un'interfaccia di rete utilizzando Npcap sui sistemi Windows.
I pacchetti vengono acquisiti e inviati a Google Cloud anziché alle voci di log. L'acquisizione viene eseguita solo da un'interfaccia locale.
Contatta l'assistenza di Chronicle per aggiornare il file di configurazione del forwarding di Chronicle in modo da supportare l'acquisizione dei pacchetti.
Per eseguire un forwarding per l'acquisizione di pacchetti (PCAP), devi disporre di quanto segue:
Installare Npcap sull'host Microsoft Windows.
Concedi ai privilegi amministratore o root dell'inoltro Chronicle per monitorare l'interfaccia di rete.
Non sono necessarie opzioni della riga di comando.
Nell'installazione di Npcap, abilita la modalità di compatibilità di WinPcap.
Per configurare un forwarding PCAP, Google Cloud ha bisogno del GUID dell'interfaccia utilizzata per acquisire i pacchetti.
Esegui getmac.exe
sulla macchina su cui prevedi di installare il forwarding di Chronicle
(il server o la macchina in ascolto sulla porta span) e invia l'output a Chronicle.
In alternativa, puoi modificare il file di configurazione. Individua la sezione PCAP e sostituisci il valore GUID mostrato accanto all'interfaccia con il GUID visualizzato durante l'esecuzione di getmac.exe.
Ad esempio, ecco una sezione PCAP originale:
- 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
Ecco l'output dall'esecuzione di getmac.exe
:
C:\>getmac.exe
Physical Address Transport Name
===========================================================================
A4-73-9F-ED-E1-82 \Device\Tcpip_{2E0E9440-ABFF-4E5B-B43C-E188FCAD1234}
Infine, ecco la sezione PCAP rivista con il nuovo 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
Raccogli dati da un argomento Kafka
Puoi importare i dati dagli argomenti Kafka proprio come fai in syslog. I gruppi consumer vengono utilizzati per consentirti di eseguire il deployment di un massimo di tre server di inoltro di Chronicle e di estrarre dati dallo stesso argomento Kafka. Per ulteriori informazioni, consulta Kafka.
Per ulteriori informazioni sui gruppi di consumatori Kafka, consulta l'articolo sui gruppi di consumatori Kafka.
Configurazione di esempio: input Kafka
La seguente configurazione del forwarding di Chronicle mostra come configurare il forwarding di Chronicle per importare i dati dagli argomenti Kafka.
File 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
File FORWARDER_NAME_auth.conf
collectors: - kafka: username: user password: password - syslog:
Raccogli dati WebProxy
Il forwarding Chronicle può acquisire i dati WebProxy direttamente da un'interfaccia di rete utilizzando Npcap e inviarli a Google Cloud.
Per attivare l'acquisizione dei dati WebProxy per il tuo sistema, contatta l'assistenza di Chronicle.
Prima di eseguire un server di inoltro WebProxy, procedi nel seguente modo:
Installare Npcap sull'host Microsoft Windows. Abilita la modalità di compatibilità di WinPcap durante l'installazione.
Concedi i privilegi root o amministratore al forwarding Chronicle per monitorare l'interfaccia di rete.
Per configurare un server proxy web, Google Cloud ha bisogno del GUID dell'interfaccia utilizzata per acquisire i pacchetti del proxy web.
Esegui
getmac.exe
sulla macchina su cui vuoi installare il forwarding di Chronicle e inviare l'output a Chronicle. In alternativa, puoi modificare il file di configurazione. Individua la sezione WebProxy e sostituisci il GUID visualizzato accanto all'interfaccia con il GUID visualizzato dopo l'esecuzione digetmac.exe
.Modifica il file di configurazione dell'inoltro di Chronicle (
FORWARDER_NAME.conf
) come segue:- 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
Personalizza configurazioni
La seguente tabella elenca i parametri importanti utilizzati nel file di configurazione dell'inoltro.
Parametro | Descrizione |
---|---|
data_type | Il tipo di dati di log che il raccoglitore può raccogliere ed elaborare. |
metadati | I metadati, che sostituiscono i metadati globali. |
max_file_buffer_bytes | Numero massimo di byte che possono essere accumulati nel buffer del disco o del file. Il valore predefinito è 1073741824 , ovvero 1 GB. |
max_memory_buffer_bytes | Numero massimo di byte che possono essere accumulati nel buffer di memoria. Il
valore predefinito è 1073741824 , ovvero 1 GB. |
write_to_disk_dir_path | Il percorso da utilizzare per il buffer del file o del disco. |
write_to_disk_buffer_enabled | Se true , viene utilizzato il buffer del disco anziché il buffer di memoria. Il valore predefinito è false .
|
batch_n_bytes | Numero massimo di byte che possono essere accumulati dal raccoglitore dopo i quali i dati vengono raggruppati. Il valore predefinito è 1048576 , ovvero
1 MB. |
batch_n_seconds | Il numero di secondi dopo i quali vengono raggruppati i dati raccolti dal raccoglitore. Il valore predefinito è 11 secondi. |
data_hint | Formato dei dati che il raccoglitore può ricevere (di solito l'intestazione del file di log che descrive il formato). |
Per un elenco completo dei parametri utilizzati nel file di configurazione, consulta Campi di configurazione del forwarding e Campi di configurazione del raccoglitore.
Attiva/disattiva compressione dei dati
La compressione dei log riduce il consumo di larghezza di banda di rete durante il trasferimento dei log su Chronicle. Tuttavia, la compressione potrebbe causare un aumento dell'utilizzo della CPU. Il compromesso tra l'utilizzo della CPU e la larghezza di banda dipende da molti fattori, tra cui il tipo di dati di log, la comprimibilità di questi dati, la disponibilità di cicli della CPU sull'host che esegue il forwarding Chronicle e la necessità di ridurre il consumo di larghezza di banda di rete.
Ad esempio, i log basati su testo si comprimono bene e possono garantire un sostanziale risparmio di larghezza di banda con un utilizzo ridotto della CPU. Tuttavia, i payload crittografati dei pacchetti non elaborati non si comprimono bene e comportano un maggiore utilizzo della CPU.
Per impostazione predefinita, la compressione dei log è disattivata. L'abilitazione della compressione dei log potrebbe ridurre il consumo di larghezza di banda. Tuttavia, l'abilitazione della compressione dei log potrebbe aumentare l'utilizzo della CPU. Fai attenzione ai compromessi.
Per attivare la compressione dei log, imposta il campo compression
su true
nel file di configurazione dell'inoltro di Chronicle, come mostrato nell'esempio seguente:
File 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 ...
Il file FORWARDER_NAME_auth.conf
output: identity: secret_key: | { "type": "service_account", ... }
Configura il buffering del disco
Il buffering del disco consente di eseguire il buffer dei messaggi in backlog su disco anziché in memoria. I messaggi in backlog possono essere archiviati in caso di arresto anomalo del forwarding di Chronicle o dell'host sottostante. Tieni presente che l'abilitazione del buffering del disco può influire sulle prestazioni.
Se il buffering del disco è disattivato, il forwarding di Chronicle utilizza 1 GB di memoria (RAM) per ogni tipo di log (ad esempio, per ogni connettore). Specifica il parametro di configurazione max_memory_buffer_bytes
. La memoria massima consentita è 4 GB.
Puoi configurare il buffering automatico del disco in modo da utilizzare un buffer condiviso dinamicamente tra i collettori, in modo da gestire meglio i picchi di traffico. Per abilitare il buffer condiviso dinamicamente, aggiungi quanto segue nella configurazione del forwarding:
auto_buffer: enabled: true target_memory_utilization: 80
Se il buffering automatico del disco è abilitato, ma target_memory_utilization
non è definito, viene utilizzato il valore predefinito 70
.
Se esegui il forwarding di Chronicle utilizzando Docker, Google consiglia di montare un volume separato dal volume di configurazione per scopi di isolamento. Inoltre, ogni input deve essere isolato con la propria directory o il proprio volume per evitare conflitti.
Configurazione di esempio: buffering del disco
La seguente configurazione include la sintassi per abilitare il buffering del disco:
collectors: - syslog: common: write_to_disk_buffer_enabled: true # c:/buffers/NIX_SYSTEM
is part of the external mounted volume for the forwarder write_to_disk_dir_path: c:/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
Imposta filtri espressioni regolari
I filtri tramite espressioni regolari consentono di filtrare i log in base a corrispondenze di espressioni regolari con log non elaborati.
I filtri utilizzano la syntax RE2.
I filtri devono includere un'espressione regolare e, facoltativamente, definire un comportamento in caso di corrispondenza. Il comportamento predefinito di una corrispondenza è il blocco (puoi anche configurarlo esplicitamente come blocco).
In alternativa, puoi specificare i filtri con il comportamento allow
. Se specifichi dei filtri allow
, il forwarding di Chronicle blocca tutti i log che non corrispondono ad almeno un filtro allow
.
È possibile definire un numero arbitrario di filtri. I filtri di blocco hanno la precedenza sui filtri allow
.
Quando vengono definiti i filtri, è necessario assegnare loro un nome. I nomi dei filtri attivi verranno segnalati a Chronicle utilizzando le metriche di integrità del forwarding. I filtri definiti all'origine della configurazione vengono uniti ai filtri definiti a livello di raccoglitore. I filtri a livello di raccoglitore hanno la precedenza in caso di nomi in conflitto. Se non vengono definiti filtri a livello di directory principale o di raccoglitore, il comportamento consente di consentire tutti.
Configurazione di esempio: filtri delle espressioni regolari
Nella seguente configurazione del forwarding di Chronicle, i log WINEVTLOG
che
non corrispondono al filtro principale (allow_filter
) sono bloccati. Data l'espressione regolare, il filtro consente solo i log con priorità comprese tra 0 e 99.
Tuttavia, qualsiasi log NIX_SYSTEM
contenente "foo" o "bar" viene bloccato, nonostante allow_filter
. Questo perché i filtri utilizzano un operatore logico OR. Tutti
i log vengono elaborati fino all'attivazione di un filtro.
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
Configura etichette arbitrarie
Le etichette vengono utilizzate per collegare metadati arbitrari ai log utilizzando coppie chiave-valore. Le etichette possono essere configurate per un intero inoltro di Chronicle o all'interno di un raccoglitore specifico di un inoltro di Chronicle. Se vengono fornite entrambe, le etichette vengono unite alle chiavi del raccoglitore che hanno la precedenza su quelle del forwarding di Chronicle se le chiavi si sovrappongono.
Configurazione di esempio: etichette arbitrarie
Nella seguente configurazione del forwarding di Chronicle, le coppie chiave e valore
foo=bar
e meow=mix
sono collegate ai log WINEVTLOG
, mentre le coppie chiave-valore foo=baz
e
meow=mix
sono collegate ai log 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
Configura spazi dei nomi
Utilizza le etichette dello spazio dei nomi per identificare i log di segmenti di rete distinti e annullare i conflitti di indirizzi IP sovrapposti. Puoi configurare un'etichetta dello spazio dei nomi per un intero forwarding di Chronicle o all'interno di un raccoglitore specifico del forwarding di Chronicle. Se sono inclusi entrambi, lo spazio dei nomi del raccoglitore specifico ha la precedenza.
Qualsiasi spazio dei nomi configurato per il forwarding di Chronicle viene visualizzato con gli asset associati nell'interfaccia utente di Chronicle. Puoi anche cercare gli spazi dei nomi utilizzando la funzionalità Chronicle Search.
Per informazioni su come visualizzare gli spazi dei nomi nell'interfaccia utente di Chronicle, visita questa pagina.
Configurazione di esempio: spazi dei nomi
Nella seguente configurazione del forwarding di Chronicle, i log WINEVTLOG
sono collegati allo spazio dei nomi FORWARDER, mentre i log NIX_SYSTEM
sono collegati allo spazio dei nomi 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
Configura il bilanciamento del carico e le opzioni ad alta disponibilità
È possibile eseguire il deployment del forwarding di Chronicle per Windows su Docker in un ambiente in cui è installato un bilanciatore del carico di livello 4 tra l'origine dati e le istanze del forwarding di Chronicle. In questo modo puoi distribuire la raccolta dei log tra più forwarding di Chronicle o inviare i log a un forwarding di Chronicle diverso in caso di errore. Questa funzionalità è supportata solo con il tipo di raccolta syslog.
Il forwarding Chronicle per Windows su Docker include un server HTTP integrato che risponde ai controlli di integrità HTTP dal bilanciatore del carico. Il server HTTP contribuisce anche a garantire che i log non vadano persi durante l'avvio o l'arresto di un forwarding di Chronicle.
Configura il server HTTP, il bilanciamento del carico e le opzioni ad alta disponibilità nella sezione server
del file di configurazione del forwarding di Chronicle. Queste opzioni supportano l'impostazione di durate dei timeout e codici di stato restituiti in risposta ai controlli di integrità ricevuti nei deployment basati sull'orchestrazione e dello scheduler dei container, nonché dai bilanciatori del carico convenzionali.
Utilizza i seguenti percorsi URL per i controlli di integrità, idoneità e attività.
I valori <host:port>
sono definiti nella configurazione del forwarding di Chronicle.
http://<host:port>/meta/available
: controlli di attività per scheduler/orchestratori di container, come Kubernetes.http://<host:port>/meta/ready
: controlli di idoneità e controlli di integrità tradizionali del bilanciatore del carico.
La seguente configurazione del forwarding di Chronicle è un esempio per il bilanciamento del carico e l'alta 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
Percorso di configurazione | Descrizione |
---|---|
server: | Il periodo di tempo in cui il forwarding di Chronicle restituisce un controllo di idoneità/integrità non valido e accetta ancora nuove connessioni. Questo è anche il tempo di attesa tra la ricezione di un segnale di arresto e l'inizio effettivo dell'arresto del server stesso. In questo modo, il bilanciatore del carico può rimuovere il forwarding di Chronicle dal pool. |
Server : scarico_timeout | Il tempo di attesa in cui il forwarding di Chronicle attende la chiusura automatica delle connessioni attive prima di essere chiuse dal server. |
server : http : porta | Il numero di porta su cui il server HTTP rimane in ascolto per i controlli di integrità provenienti dal bilanciatore del carico. Il valore deve essere compreso tra 1024-65535. |
server : http : host | L'indirizzo IP, o nome host, che può essere risolto in indirizzi IP, che il server deve ascoltare. Se vuoto, il valore predefinito è sistema locale (0.0.0.0). |
server : http : read_timeout | Utilizzato per ottimizzare il server HTTP. In genere, non è necessario modificare l'impostazione predefinita. La quantità massima di tempo consentita per leggere l'intera richiesta, sia l'intestazione che il corpo. Puoi impostare sia read_timeout che read_header_timeout. |
server : http : read_header_timeout | Utilizzato per ottimizzare il server HTTP. In genere, non è necessario modificare l'impostazione predefinita. La quantità massima di tempo consentita per leggere le intestazioni delle richieste. La lettura della connessione, la scadenza viene reimpostata dopo la lettura dell'intestazione. |
server : http : write_timeout | Utilizzato per ottimizzare il server HTTP. In genere, non è necessario modificare l'impostazione predefinita. Il tempo massimo consentito per inviare una risposta. Viene reimpostata quando viene letta una nuova intestazione di richiesta. |
server : http : inattivo_timeout | Utilizzato per ottimizzare il server HTTP. In genere, non è necessario modificare l'impostazione predefinita. Il tempo massimo di attesa per la richiesta successiva quando sono abilitate le connessioni inattive. Se inattivo_timeout è pari a zero, viene utilizzato il valore di read_timeout. Se entrambi sono zero, viene usato read_header_timeout. |
route : meta : ready_status | Il codice di stato restituito dal server di inoltro di Chronicle quando è pronto ad accettare il traffico
in una delle seguenti situazioni:
|
route : meta : unready_status | Il codice di stato restituito dal server di inoltro di Chronicle quando non è pronto ad accettare il traffico. |
route : meta : available_status | Il codice di stato restituito dall'inoltro di Chronicle quando viene ricevuto un controllo di attività e il forwarding di Chronicle è disponibile. Gli scheduler/orchestratori di container come Kubernetes spesso inviano controlli di attività. |