Faça a gestão manual do ficheiro de configuração do encaminhador

Compatível com:

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:

  1. Transfira os ficheiros de configuração através da IU.

  2. 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.

  3. 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.

  4. 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:

  1. Crie uma cópia do seu ficheiro de configuração existente.

  2. Guarde um ficheiro como o ficheiro FORWARDER_NAME.conf e elimine as credenciais de autorização do ficheiro.

  3. 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:

  1. Crie um ficheiro local para as suas credenciais do Splunk e atribua-lhe o nome creds.txt.

  2. Coloque o nome de utilizador na primeira linha e a palavra-passe na segunda linha:

    cat creds.txt
    
    myusername
    mypassword
    
  3. 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
    
  4. 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:

  1. Instale o Npcap no anfitrião do Microsoft Windows. Ative o modo de compatibilidade do WinPcap durante a instalação.

  2. Conceda privilégios de administrador ou de acesso root ao encaminhador para monitorizar a interface de rede.

  3. 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 de getmac.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 contentores
  • http://<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:
  • A verificação de disponibilidade é recebida de um programador de contentores ou de um orquestrador.
  • A verificação de estado é recebida de um balanceador de carga tradicional.
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.