Faça a gestão manual do ficheiro de configuração do encaminhador
Esta página descreve como criar e modificar manualmente um ficheiro de configuração do encaminhador do Google Security Operations. Para configurar o encaminhador através da IU (recomendado), consulte o artigo Faça a gestão das configurações do encaminhador através da IU do Google SecOps.
Cada encaminhador do Google SecOps implementado requer um ficheiro de configuração do encaminhador. Um ficheiro de configuração do encaminhador especifica as definições para transferir os dados para a sua instância do Google SecOps.
Para obter informações sobre como instalar e configurar o encaminhador do Google SecOps, os requisitos do sistema e detalhes sobre as definições de configuração, consulte o artigo Instale e configure o encaminhador.
Antes de começar
Antes de criar o ficheiro de configuração, planeie a implementação compreendendo os tipos de dados que podem ser carregados e os atributos principais que tem de definir no ficheiro de configuração.
Crie o ficheiro de configuração
Para criar o ficheiro de configuração manualmente, siga estes passos:
Transfira os ficheiros de configuração através da IU.
Guarde os dois ficheiros no mesmo diretório com a seguinte convenção de nomenclatura:
FORWARDER_NAME
.conf: use este ficheiro para definir as definições de configuração relacionadas com o carregamento de registos.FORWARDER_NAME
_auth.conf: use este ficheiro para definir as credenciais de autorização.Modifique os ficheiros para incluir a configuração da sua instância de encaminhamento.
Para ver detalhes sobre as definições de cada tipo de mecanismo de carregamento, como o Splunk ou o Syslog, consulte o artigo Defina tipos de dados no seu ficheiro de configuração. Para ver detalhes sobre a personalização de cada atributo, como a compressão de dados ou o armazenamento em buffer no disco, consulte o artigo Configure atributos principais no ficheiro de configuração.
Certifique-se de que existe uma entrada para cada entrada no ficheiro
FORWARDER_NAME
_auth.conf, mesmo que a entrada não tenha detalhes de autenticação correspondentes. Isto é necessário para mapear os dados corretamente.
Todas as alterações feitas ao ficheiro de configuração são aplicadas automaticamente pelo encaminhador no prazo de cinco minutos.
Configurações de exemplo
Pode consultar os seguintes ficheiros de configuração como modelos para criar os seus próprios.
Configuração de exemplo de dois ficheiros
Este sistema de dois ficheiros armazena credenciais de autenticação num ficheiro separado para maior segurança. Pode armazenar o ficheiro FORWARDER_NAME
.conf
num repositório de controlo de versões ou em qualquer sistema de gestão de configuração aberto.
Pode armazenar o ficheiro
FORWARDER_NAME
_auth.conf diretamente na máquina física ou
virtual que executa o encaminhador.
O seguinte exemplo de código mostra o formato dos ficheiros de configuração de um encaminhador.
O ficheiro 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
O ficheiro 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"
Configuração de exemplo de ficheiro único
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
Converta de um sistema de ficheiro único para um sistema de dois ficheiros
Se estiver a usar um único ficheiro de configuração e quiser mudar para o sistema de dois ficheiros, faça o seguinte:
Crie uma cópia do seu ficheiro de configuração existente.
Guarde um ficheiro como o ficheiro
FORWARDER_NAME
.conf e elimine as credenciais de autorização do ficheiro.Guarde o outro ficheiro como
FORWARDER_NAME
_auth.conf e elimine todos os dados de não autorização do ficheiro. Pode usar a configuração de exemplo como referência. Certifique-se de que segue a convenção de nomenclatura e outras diretrizes mencionadas na secção Personalize as configurações.
Defina os tipos de dados no ficheiro de configuração
As secções seguintes ajudam a configurar o encaminhador do Google SecOps para carregar diferentes tipos de dados, que são encaminhados para a instância do Google SecOps.
Dados do Splunk
Pode configurar o encaminhador do Google SecOps para encaminhar os seus dados do Splunk para o Google SecOps. Google Cloud configura o encaminhador do Google SecOps com as seguintes informações para encaminhar os seus dados do Splunk:
URL da API REST do Splunk (por exemplo, https://10.0.113.15:8089).
Consultas do Splunk para gerar dados para cada um dos tipos de dados necessários (por exemplo, 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
- Disponibilize as credenciais da sua conta do Splunk ao encaminhador do Google SecOps. Pode fazê-lo criando um ficheiro
creds.txt
.
Para usar um ficheiro creds.txt
:
Crie um ficheiro local para as suas credenciais do Splunk e atribua-lhe o nome
creds.txt
.Coloque o nome de utilizador na primeira linha e a palavra-passe na segunda linha:
cat creds.txt myusername mypassword
Para usar o encaminhador do Google SecOps para aceder a uma instância do Splunk, copie o ficheiro
creds.txt
para o diretório de configuração (o mesmo diretório onde residem os ficheiros de configuração).Linux
cp creds.txt /opt/chronicle/config/creds.txt
Windows
cp creds.txt c:/opt/chronicle/config/creds.txt
Verifique se o ficheiro
creds.txt
está no diretório pretendido:Linux
ls /opt/chronicle/config
Windows
ls c:/opt/chronicle/config
Dados Syslog
Um encaminhador pode funcionar como um servidor Syslog. Pode configurar qualquer servidor que suporte o envio de dados Syslog através de uma ligação TCP ou UDP para encaminhar os respetivos dados para o encaminhador do Google SecOps. Pode controlar os dados que o servidor envia para o encaminhador e, em seguida, o encaminhador pode encaminhar os dados para o Google SecOps.
O ficheiro de configuração FORWARDER_NAME.conf
(fornecido por
Google Cloud) especifica as portas a monitorizar para cada tipo de
dados encaminhados (por exemplo, a porta 10514). Por predefinição, o encaminhador do Google SecOps aceita ligações TCP e UDP.
Pode personalizar o tamanho da memória intermédia TCP. O tamanho da memória intermédia TCP predefinido é de 64 KB. O valor predefinido e recomendado para connection_timeout
é de 60 segundos.
A ligação TCP é terminada se estiver inativa durante mais de 60 segundos.
Configure o rsyslog
Para configurar o rsyslog, tem de especificar um destino para cada porta (por exemplo, cada tipo de dados). Os exemplos seguintes ilustram a configuração do destino rsyslog:
Registar tráfego TCP:
dns.* @@192.168.0.12:10514
Tráfego de registo UDP:
dns.* @192.168.0.12:10514
Pode consultar a documentação do sistema para ver detalhes.
Ative o TLS para configurações do Syslog
Pode ativar o TLS para a ligação Syslog ao encaminhador do Google SecOps. No ficheiro de configuração do encaminhador
(FORWARDER_NAME
.conf), especifique a localização do seu próprio
certificado gerado e chave do certificado, conforme mostrado no exemplo seguinte.
Pode criar um diretório certs
no diretório configuration
e armazenar os ficheiros de certificado no mesmo.
Linux:
certificado | /opt/chronicle/external/certs/client_generated_cert.pem |
certificate_key | /opt/chronicle/external/certs/client_generated_cert.key |
Windows:
certificado | c:/opt/chronicle/external/certs/client_generated_cert.pem |
certificate_key | c:/opt/chronicle/external/certs/client_generated_cert.key |
Com base no exemplo apresentado, modifique o ficheiro de configuração do encaminhador (FORWARDER_NAME
.conf) da seguinte forma:
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"
A versão de TLS do pedido de entrada deve ser superior à versão mínima de TLS. A versão mínima do TLS deve ser um dos seguintes valores: TLSv1_0, TLSv1_1, TLSv1_2, TLSv1_3.
Dados de ficheiros
Um coletor de ficheiros foi concebido para obter registos de um ficheiro associado ao contentor do Docker. Pode usar esta opção se quiser carregar manualmente registos de um único ficheiro de registo.
Inicie o encaminhador do Google SecOps a partir do contentor do Docker para mapear o volume de carga para o contentor:
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
Pode adicionar várias portas através de várias opções ou vários intervalos. Por
exemplo: -p 3001:3000 -p 2023:2022
ou -p 7000-8000:7000-8000
.
Os números de portas fornecidos no exemplo de código são exemplos. Substitua os números das portas de acordo com o seu requisito.
Com base no exemplo, pode modificar a configuração do encaminhador do Google SecOps (ficheiro FORWARDER_NAME.conf
) da seguinte forma:
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:
O ficheiro sample.txt
deve estar presente na pasta /var/log/crowdstrike/falconhostclient
.
Configurações de sinalizações
skip_seek_to_end
(bool): esta flag está predefinida como false
e a entrada de ficheiro só envia novas linhas de registo como entrada. Se definir esta opção como true
, todas as linhas de registo anteriores são enviadas novamente durante os reinícios do encaminhador. Isto provoca a duplicação de registos. Definir esta flag como true
é útil em determinadas situações (por exemplo, durante interrupções), porque o reinício do encaminhador envia novamente as linhas de registo em falta.
poll
(bool): o coletor de ficheiros usa a biblioteca Tail para verificar se existem alterações no sistema de ficheiros. Se definir esta flag como true
, a biblioteca Tail usa o método de sondagem em vez do método de notificação predefinido.
Dados de pacotes
O encaminhador do Google SecOps pode capturar pacotes em vez de entradas de registo, diretamente a partir de uma interface de rede.
Sistemas Linux
O encaminhador do Google SecOps pode capturar pacotes através do libcap no Linux. Para mais informações sobre a libcap, consulte a página do manual do Linux da libcap.
Em vez de entradas de registo, os pacotes de rede não processados são capturados e enviados para o Google SecOps. Esta captura está limitada a uma interface local. Para ativar a captura de pacotes para o seu sistema, contacte o apoio técnico do Google SecOps.
O Google SecOps configura o encaminhador do Google SecOps com a expressão do filtro de pacotes de Berkeley (BPF) que é usada quando captura pacotes (por exemplo, a porta 53 e não o anfitrião local). Para mais informações, consulte o artigo Filtros de pacotes de Berkeley.
Sistemas Windows
O encaminhador do Google SecOps pode capturar pacotes através do Npcap em sistemas Windows.
Em vez de entradas de registo, os pacotes de rede não processados são capturados e enviados para o Google SecOps. Esta captura está limitada a uma interface local. Para configurar o encaminhador do Google SecOps para a captura de pacotes, contacte o apoio técnico do Google SecOps.
Requisitos para um encaminhador PCAP de captura de pacotes:
Instale o Npcap no anfitrião do Microsoft Windows.
Conceda privilégios de administrador ou raiz ao encaminhador do Google SecOps para monitorizar a interface de rede.
Na instalação do Npcap, ative o modo de compatibilidade do WinPcap.
Para configurar um encaminhador PCAP, Google Cloud precisa do GUID da interface
usada para capturar pacotes.
Execute getmac.exe
na máquina onde planeia instalar o
encaminhador do Google SecOps
(o servidor ou a máquina que está a ouvir na porta de intervalo) e envie o
resultado para o Google SecOps.
Em alternativa, pode modificar o ficheiro de configuração. Localize a secção PCAP e
substitua o valor GUID existente pelo GUID obtido através da execução de getmac.exe
.
Por exemplo, segue-se uma secção PCAP original:
- 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
Saída da execução de getmac.exe
:
C:\>getmac.exe
Physical Address Transport Name
===========================================================================
A4-73-9F-ED-E1-82 \Device\Tcpip_{2E0E9440-ABFF-4E5B-B43C-E188FCAD1234}
Secção PCAP revista com o novo 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
O resultado getmac.exe
para o nome do transporte começa com \Device\Tcpip
, enquanto a secção pcap comparável começa com \Device\NPF
.
Dados do tópico do Kafka
O encaminhador do Google SecOps suporta a ingestão de dados diretamente de tópicos do Kafka. Pode implementar até três encaminhadores e extrair dados do mesmo tópico do Kafka tirando partido do conceito de grupos de consumidores para um processamento eficiente e paralelo. Para mais informações, consulte o artigo Kafka. Para mais informações sobre os grupos de consumidores do Kafka, consulte o artigo Consumidor do Kafka.
A configuração do encaminhador seguinte mostra como configurar o encaminhador para carregar dados dos tópicos do Kafka.
Linux
O ficheiro 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
O ficheiro FORWARDER_NAME_auth.conf
collectors: - kafka: username: user password: password - syslog:
Windows
Ficheiro 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
Ficheiro FORWARDER_NAME_auth.conf
collectors: - kafka: username: user password: password - syslog:
Dados do WebProxy
O encaminhador do Google SecOps pode capturar dados do WebProxy diretamente a partir de uma interface de rede.
Linux
O encaminhador do Google SecOps pode capturar dados do WebProxy através do libcap no Linux. Para mais informações sobre a libcap, consulte a página do manual do Linux da libcap. Para ativar a captura de dados do WebProxy para o seu sistema, contacte o apoio técnico do Google SecOps.
Modifique a configuração do encaminhador do Google SecOps (ficheiro FORWARDER_NAME.conf
) da seguinte forma:
- 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
O encaminhador pode capturar dados do WebProxy através do Npcap e enviá-los para Google Cloud.
Para ativar a captura de dados do WebProxy para o seu sistema, contacte o apoio técnico do Google SecOps.
Antes de executar um encaminhador WebProxy, siga estes passos:
Instale o Npcap no anfitrião do Microsoft Windows. Ative o modo de compatibilidade do WinPcap durante a instalação.
Conceda privilégios de administrador ou de acesso root ao encaminhador para monitorizar a interface de rede.
Obtenha o GUID da interface usada para capturar os pacotes WebProxy.
Execute
getmac.exe
na máquina onde quer instalar o encaminhador do Google SecOps e envie o resultado para o Google SecOps. Em alternativa, pode modificar o ficheiro de configuração. Localize a secção WebProxy e substitua o GUID apresentado junto à interface pelo GUID apresentado após a execução degetmac.exe
.Modifique o ficheiro de configuração do encaminhador do Google SecOps (
FORWARDER_NAME.conf
) da seguinte forma:- 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
Configure os principais atributos no ficheiro de configuração
A tabela seguinte apresenta os parâmetros importantes usados no ficheiro de configuração do encaminhador.
Parâmetro | Descrição |
---|---|
data_type | O tipo de dados de registo que o coletor pode recolher e processar. |
metadados | Metadados, que substituem os metadados globais. |
max_file_buffer_bytes | Número máximo de bytes que podem ser acumulados no disco ou na memória intermédia de ficheiros.
O valor predefinido é 1073741824 , ou seja, 1 GB. |
max_memory_buffer_bytes | Número máximo de bytes que podem ser acumulados no buffer de memória. O valor predefinido é 1073741824 , que é 1 GB. |
write_to_disk_dir_path | O caminho a usar para o buffer de ficheiros ou de disco. |
write_to_disk_buffer_enabled | Se true , é usado o buffer de disco em vez do buffer de memória. O valor predefinido é false .
|
batch_n_bytes | Número máximo de bytes que o coletor pode acumular após o qual os dados são processados em lote. O valor predefinido é 1048576 , que é
1 MB. |
batch_n_seconds | O número de segundos após os quais os dados recolhidos pelo coletor são processados em lote. O valor predefinido é de 11 segundos. |
data_hint | Formato de dados que o coletor pode receber (normalmente, o cabeçalho do ficheiro de registo que descreve o formato). |
Para ver uma lista exaustiva dos parâmetros usados no ficheiro de configuração, consulte os campos de configuração do encaminhador e os campos de configuração do coletor.
Compressão de dados
Por predefinição, a compressão de registos está desativada. A ativação da compressão de registos pode reduzir o consumo de largura de banda. No entanto, a ativação da compressão de registos também pode aumentar a utilização da CPU. Avalie a compensação com base no seu ambiente e nos dados de registo.
Para ativar a compressão de registos, defina o campo compression
como
true
no ficheiro de configuração do encaminhador do Google SecOps, conforme mostrado no exemplo seguinte:
O ficheiro 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 ...
O ficheiro FORWARDER_NAME_auth.conf
output: identity: secret_key: | { "type": "service_account", ... }
Buffer de disco
O armazenamento em buffer no disco permite armazenar em buffer mensagens pendentes no disco em vez de na memória.
Pode configurar o armazenamento em buffer automático da memória para usar um buffer partilhado dinamicamente entre os coletores, o que lida melhor com os picos de tráfego. Para ativar o buffer partilhado dinamicamente, adicione o seguinte na configuração do encaminhador:
auto_buffer: enabled: true target_memory_utilization: 80
Se o armazenamento em buffer automático no disco estiver ativado, mas target_memory_utilization
não estiver definido, é usado um valor predefinido de 70
.
Se estiver a executar o encaminhador através do Docker, recomendamos que monte um volume separado do volume de configuração para fins de isolamento. Além disso, cada entrada deve ser isolada com o seu próprio diretório ou volume para evitar conflitos.
Configuração de exemplo
A configuração seguinte inclui a sintaxe para ativar o armazenamento em buffer no disco:
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
Filtros de expressões regulares
Os filtros de expressões regulares permitem-lhe filtrar registos fazendo corresponder padrões aos dados de registo não processados. Os filtros usam a sintaxe RE2. Os filtros têm de incluir uma expressão regular e, opcionalmente, definir um comportamento quando existe uma correspondência.
O comportamento predefinido numa correspondência é block
. Pode especificar filtros com allow
comportamento. Se especificar um filtro allow
, o encaminhador bloqueia todos os registos que não correspondam a, pelo menos, um filtro allow
.
É possível definir um número arbitrário de filtros. Os filtros Block
têm precedência sobre os filtros allow
.
Quando os filtros são definidos, têm de ter um nome atribuído. Os nomes dos filtros ativos são comunicados ao Google SecOps através de métricas de estado do encaminhador. Os filtros definidos na raiz da configuração são unidos aos filtros definidos ao nível do coletor. Os filtros ao nível do coletor têm precedência em casos de nomes em conflito. Se não forem definidos filtros ao nível da raiz ou do coletor, o comportamento é permitir todos os registos.
Configuração de exemplo
Na seguinte configuração de encaminhador, os registos WINEVTLOG
que não correspondem ao filtro de raiz (allow_filter
) são bloqueados. Dada a expressão regular, o filtro só permite registos com prioridades entre 0 e 99.
No entanto, todos os registos NIX_SYSTEM
que contenham "foo" ou "bar" são bloqueados,
apesar do allow_filter
. Isto acontece porque os filtros usam um OR lógico. Todos os registos são processados até ser acionado um 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
Etiquetas arbitrárias
As etiquetas são usadas para anexar metadados personalizados aos registos através de pares de chave-valor. Pode configurar etiquetas para um encaminhador completo ou num coletor específico do encaminhador. Se ambos estiverem presentes, as etiquetas ao nível do coletor substituem as etiquetas ao nível do encaminhador se as chaves se sobrepuserem.
Configuração de exemplo
Na seguinte configuração de encaminhamento, os pares de chave-valor "foo=bar" e "meow=mix" estão ambos anexados aos registos WINEVTLOG
, e os pares de chave-valor "foo=baz" e "meow=mix" estão anexados aos registos 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
Espaços de nomes
Pode usar etiquetas de espaço de nomes para identificar registos de segmentos de rede distintos e resolver conflitos de endereços IP sobrepostos. Qualquer espaço de nomes configurado para o encaminhador aparece com os recursos associados na interface do utilizador do Google SecOps. Também pode pesquisar espaços de nomes através da funcionalidade de pesquisa do Google SecOps.
Para obter informações sobre como ver espaços de nomes na interface do utilizador do Google SecOps, consulte Espaços de nomes de recursos.
Configuração de exemplo
Na configuração de encaminhamento seguinte, os registos WINEVTLOG
estão anexados ao espaço de nomes FORWARDER e os registos NIX_SYSTEM
estão anexados ao espaço de nomes 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
Opções de balanceamento de carga e alta disponibilidade
Pode configurar o servidor HTTP, o equilíbrio de carga e as opções de alta disponibilidade na secção do servidor do ficheiro de configuração do encaminhador. Estas opções suportam a definição de durações de limite de tempo e códigos de estado devolvidos em resposta a verificações de estado recebidas em implementações baseadas em orquestração e no programador de contentores, bem como de equilibradores de carga.
Use os seguintes caminhos de URL para verificações de funcionamento, disponibilidade e atividade.
Os valores de <host:port>
são definidos na configuração do encaminhador.
http://<host:port>/meta/available
: verificações de vitalidade para programadores ou orquestradores de contentoreshttp://<host:port>/meta/ready
: verificações de prontidão e verificações de funcionamento do equilibrador de carga
A configuração de encaminhador seguinte é um exemplo para o balanceamento de carga e a alta disponibilidade:
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
Caminho de configuração | Descrição |
---|---|
server : graceful_timeout | O período durante o qual o encaminhador devolve uma verificação de disponibilidade/estado de funcionamento incorreta e continua a aceitar novas ligações. Este é também o tempo de espera entre a receção de um sinal para parar e o início real do encerramento do próprio servidor. Isto permite que o balanceador de carga tenha tempo para remover o encaminhador do conjunto. |
server : drain_timeout | O tempo que o encaminhador aguarda que as ligações ativas sejam fechadas com êxito por si próprias antes de serem fechadas pelo servidor. |
server : http : port | O número da porta que o servidor HTTP escuta para verificações de funcionamento do balanceador de carga. Tem de ser um número entre 1024 e 65535. |
server : http : host | O endereço IP ou o nome do anfitrião que pode ser resolvido para endereços IP que o servidor deve ouvir. Se estiver vazio, o valor predefinido é o sistema local (0.0.0.0). |
server : http : read_timeout | Usado para ajustar o servidor HTTP. Normalmente, não precisa de ser alterado a partir da predefinição. O tempo máximo permitido para ler todo o pedido, tanto o cabeçalho como o corpo. Pode definir read_timeout e read_header_timeout. |
server : http : read_header_timeout | Usado para ajustar o servidor HTTP. Normalmente, não precisa de ser alterado a partir da predefinição. O tempo máximo permitido para ler os cabeçalhos do pedido. O prazo de leitura da ligação é reposto após a leitura do cabeçalho. |
server : http : write_timeout | Usado para ajustar o servidor HTTP. Normalmente, não precisa de ser alterado a partir da predefinição. O tempo máximo permitido para enviar uma resposta. É reposto quando é lido um novo cabeçalho de pedido. |
server : http : idle_timeout | Usado para ajustar o servidor HTTP. Normalmente, não precisa de ser alterado a partir da predefinição. O tempo máximo de espera pelo próximo pedido quando as ligações inativas estão ativadas. Se idle_timeout for zero, é usado o valor de read_timeout. Se ambos forem zero, é usado o read_header_timeout. |
routes : meta : ready_status | O código de estado devolvido pelo encaminhador quando está pronto para aceitar o tráfego
numa das seguintes situações:
|
routes : meta : unready_status | O código de estado devolvido pelo encaminhador quando não está pronto para aceitar tráfego. |
routes : meta : available_status | O código de estado devolvido pelo encaminhador quando é recebida uma verificação de atividade e o encaminhador está disponível. Os programadores ou os orquestradores de contentores enviam frequentemente verificações de atividade. |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.