Administra el archivo de configuración del reenviador de forma manual

Se admite en los siguientes países:

En esta página, se describe cómo crear y modificar un archivo de configuración de reenvío de Google Security Operations manualmente. Para configurar el reenviador a través de la IU (recomendado), consulta Cómo administrar la configuración del reenviador a través de la IU de Google SecOps.

Cada reenviador de Google SecOps implementado requiere un archivo de configuración de reenviador. Un archivo de configuración de reenvío especifica la configuración para transferir los datos a tu instancia de Google SecOps.

Para obtener información sobre cómo instalar y configurar el reenviador de Google SecOps, los requisitos del sistema y los detalles sobre la configuración, consulta Cómo instalar y configurar el reenviador.

Antes de comenzar

Antes de crear el archivo de configuración, planifica tu implementación. Para ello, comprende los tipos de datos que se pueden transferir y los atributos clave que debes definir en el archivo de configuración.

Cree el archivo de configuración

Para crear el archivo de configuración de forma manual, sigue estos pasos:

  1. Descarga los archivos de configuración a través de la IU.

  2. Guarda los dos archivos en el mismo directorio con la siguiente convención de nombres:

    FORWARDER_NAME.conf: Usa este archivo para definir la configuración relacionada con la transferencia de registros.

    FORWARDER_NAME_auth.conf: Usa este archivo para definir las credenciales de autorización.

  3. Modifica los archivos para incluir la configuración de tu instancia de reenvío.

    Para obtener detalles sobre la configuración de cada tipo de mecanismo de transferencia, como Splunk o Syslog, consulta Define los tipos de datos en tu archivo de configuración. Para obtener detalles sobre cómo personalizar cada atributo, como la compresión de datos o el almacenamiento en búfer en el disco, consulta Cómo configurar atributos clave en el archivo de configuración.

  4. Asegúrate de que exista una entrada para cada entrada en el archivo FORWARDER_NAME_auth.conf, incluso si la entrada no tiene los detalles de autenticación correspondientes. Esto es necesario para asignar los datos correctamente.

El reenviador aplicará automáticamente cualquier cambio que se realice en el archivo de configuración en un plazo de cinco minutos.

Configuraciones de muestra

Puedes consultar los siguientes archivos de configuración como plantillas para crear los tuyos.

Configuración de muestra de dos archivos

Este sistema de archivos de dos niveles almacena las credenciales de autenticación en un archivo independiente para mejorar la seguridad. Puedes almacenar el archivo FORWARDER_NAME.conf en un repositorio de control de versión o en cualquier sistema de administración de configuración abierta. Puedes almacenar el archivo FORWARDER_NAME_auth.conf directamente en la máquina física o virtual que ejecuta el reenviador.

En la siguiente muestra de código, se muestra el formato de los archivos de configuración de un reenviador.

El archivo FORWARDER_NAME.conf

output:
  url: malachiteingestion-pa.googleapis.com:443
  identity:
    identity:
    collector_id: COLLECTOR_ID \
    customer_id: CUSTOMER_ID \

collectors:
  - syslog:
      common:
        enabled: true
        data_type: "WINDOWS_DHCP"
        data_hint:
        batch_n_seconds: 10
        batch_n_bytes: 1048576
      tcp_address: 0.0.0.0:10514
      udp_address: 0.0.0.0:10514
      connection_timeout_sec: 60
      tcp_buffer_size: 524288
  - syslog:
      common:
        enabled: true
        data_type: "WINDOWS_DNS"
        data_hint:
        batch_n_seconds: 10
        batch_n_bytes: 1048576
      tcp_address: 0.0.0.0:10515
      connection_timeout_sec: 60
      tcp_buffer_size: 524288

El archivo 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"

Configuración de muestra de un solo archivo

output:
  url: malachiteingestion-pa.googleapis.com:443
  identity:
    identity:
    collector_id: "COLLECTOR_ID" \
    customer_id: "CUSTOMER_ID" \
    secret_key: |
      {
        "type": "service_account",
        "project_id": "PROJECT_ID" \,
        "private_key_id": "PRIVATE_KEY_ID" \,
        "private_key": "-----BEGIN PRIVATE KEY-----\ "PRIVATE_KEY" \n-----END PRIVATE KEY-----\n",
        "client_email": "CLIENT_EMAIL" \,
        "client_id": "CLIENT_ID" \,
        "auth_uri": "https://accounts.google.com/o/oauth2/auth",
        "token_uri": "https://oauth2.googleapis.com/token",
        "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
        "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/malachite-test-1%40malachite-test.iam.gserviceaccount.com"
      }

collectors:
  - syslog:
      common:
        enabled: true
        data_type: "WINDOWS_DHCP"
        data_hint:
        batch_n_seconds: 10
        batch_n_bytes: 1048576
      tcp_address: 0.0.0.0:10514
      udp_address: 0.0.0.0:10514
      connection_timeout_sec: 60
      tcp_buffer_size: 524288
  - syslog:
      common:
        enabled: true
        data_type: "WINDOWS_DNS"
        data_hint:
        batch_n_seconds: 10
        batch_n_bytes: 1048576
      tcp_address: 0.0.0.0:10515
      connection_timeout_sec: 60
      certificate: "../forwarder/inputs/testdata/localhost.pem"
      certificate_key: "../forwarder/inputs/testdata/localhost.key"
      tcp_buffer_size: 524288

Convierte un solo archivo en un sistema de dos archivos

Si usas un solo archivo de configuración y deseas cambiar al sistema de dos archivos, haz lo siguiente:

  1. Crea una copia de tu archivo de configuración existente.

  2. Guarda un archivo como FORWARDER_NAME.conf y borra las credenciales de autorización del archivo.

  3. Guarda el otro archivo como FORWARDER_NAME_auth.conf y borra todos los datos de no autorización del archivo. Puedes usar la configuración de muestra como referencia. Asegúrate de seguir la convención de nombres y otros lineamientos que se mencionan en la sección Cómo personalizar los parámetros de configuración.

Define los tipos de datos en tu archivo de configuración

En las siguientes secciones, se te ayudará a configurar el reenviador de Google SecOps para transferir diferentes tipos de datos, que se reenvían a la instancia de Google SecOps.

Datos de Splunk

Puedes configurar el reenviador de Google SecOps para que reenvíe tus datos de Splunk a Google SecOps. Google Cloud configura el reenviador de Google SecOps con la siguiente información para reenviar tus datos desde Splunk:

  • Es la URL de la API de REST de Splunk (por ejemplo, https://10.0.113.15:8089).

  • Splunk realiza consultas para generar datos para cada uno de los tipos de datos requeridos (por ejemplo, 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
  • Haz que las credenciales de tu cuenta de Splunk estén disponibles para el reenviador de SecOps de Google. Para ello, crea un archivo creds.txt.

Para usar un archivo creds.txt, haz lo siguiente:

  1. Crea un archivo local para tus credenciales de Splunk y asígnale el nombre creds.txt.

  2. Coloca tu nombre de usuario en la primera línea y la contraseña en la segunda:

    cat creds.txt
    
    myusername
    mypassword
    
  3. Para usar el reenviador de SecOps de Google y acceder a una instancia de Splunk, copia el archivo creds.txt en el directorio de configuración (el mismo directorio en el que residen los archivos de configuración).

    Linux

    cp creds.txt /opt/chronicle/config/creds.txt
    

    Windows

    cp creds.txt c:/opt/chronicle/config/creds.txt
    
  4. Verifica que el archivo creds.txt esté en el directorio deseado:

    Linux

      ls /opt/chronicle/config
    

    Windows

    ls c:/opt/chronicle/config
    

Datos de Syslog

Un reenviador puede funcionar como un servidor Syslog. Puedes configurar cualquier servidor que admita el envío de datos de Syslog a través de una conexión TCP o UDP para que reenvíe sus datos al reenviador de Google SecOps. Puedes controlar los datos que el servidor envía al redireccionamiento, y el redireccionamiento puede desviarlos a Google SecOps.

El archivo de configuración FORWARDER_NAME.conf (que proporciona Google Cloud) especifica qué puertos se deben supervisar para cada tipo de datos reenviados (por ejemplo, el puerto 10514). De forma predeterminada, el reenviador de SecOps de Google acepta conexiones TCP y UDP.

Puedes personalizar el tamaño del búfer de TCP. El tamaño predeterminado del búfer de TCP es de 64 KB. El valor predeterminado y recomendado para connection_timeout es de 60 segundos. La conexión TCP se finaliza si está inactiva durante más de 60 segundos.

Configura rsyslog

Para configurar rsyslog, debes especificar un destino para cada puerto (por ejemplo, cada tipo de datos). En los siguientes ejemplos, se ilustra la configuración de destino de rsyslog:

  • Tráfico de registro de TCP: dns.* @@192.168.0.12:10514

  • Tráfico de registro UDP: dns.* @192.168.0.12:10514

Consulta la documentación del sistema para obtener más detalles.

Habilita TLS para las configuraciones de Syslog

Puedes habilitar TLS para la conexión de Syslog al reenviador de SecOps de Google. En el archivo de configuración del reenviador (FORWARDER_NAME.conf), especifica la ubicación de tu certificado y clave generados, como se muestra en el siguiente ejemplo. Puedes crear un directorio certs en el directorio configuration y almacenar los archivos de certificado en él.

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

En función del ejemplo que se muestra, modifica el archivo de configuración del reenviador (FORWARDER_NAME.conf) de la siguiente manera:

Linux:

 collectors:
- syslog:
   common:
     enabled: true
     data_type: WINDOWS_DNS
     data_hint:
     batch_n_seconds: 10
     batch_n_bytes: 1048576
   tcp_address: 0.0.0.0:10515
   tcp_buffer_size: 65536
   connection_timeout_sec: 60
   certificate: "/opt/chronicle/external/certs/client_generated_cert.pem"
   certificate_key: "/opt/chronicle/external/certs/client_generated_cert.key"
   minimum_tls_version: "TLSv1_3"

Windows:

  collectors:
- syslog:
    common:
      enabled: true
      data_type: WINDOWS_DNS
      data_hint:
      batch_n_seconds: 10
      batch_n_bytes: 1048576
    tcp_address: 0.0.0.0:10515
    tcp_buffer_size: 65536
    connection_timeout_sec: 60
    certificate: "c:/opt/chronicle/external/certs/client_generated_cert.pem"
    certificate_key: "c:/opt/chronicle/external/certs/client_generated_cert.key"
    minimum_tls_version: "TLSv1_3"

La versión de TLS de la solicitud de entrada debe ser superior a la versión mínima de TLS. La versión mínima de TLS debe ser uno de los siguientes valores: TLSv1_0, TLSv1_1, TLSv1_2, TLSv1_3.

Datos de archivos

Un recopilador de archivos está diseñado para recuperar registros de un archivo que está vinculado al contenedor de Docker. Puedes usar esta opción si deseas subir registros de forma manual desde un solo archivo de registro.

Inicia el reenviador de Google SecOps desde el contenedor de Docker para asignar el volumen de carga al contenedor:

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

Puedes agregar varios puertos con varias opciones o varios rangos. Por ejemplo, -p 3001:3000 -p 2023:2022 o -p 7000-8000:7000-8000. Los números de puerto proporcionados en el código de muestra son ejemplos. Reemplaza los números de puerto según tus requisitos.

En función del ejemplo, puedes modificar la configuración del reenviador de Google SecOps (archivo FORWARDER_NAME.conf) de la siguiente manera:

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:

El archivo sample.txt debe estar presente en la carpeta /var/log/crowdstrike/falconhostclient.

Configuraciones de marcas

skip_seek_to_end (booleano): Esta marca se establece en false de forma predeterminada, y la entrada de archivo solo envía líneas de registro nuevas como entrada. Si estableces este valor en true, se volverán a enviar todas las líneas de registro anteriores durante los reinicios del reenviador. Esto provoca la duplicación de registros. Configurar esta marca en true es útil en ciertas situaciones (por ejemplo, durante interrupciones), ya que reiniciar el reenviador vuelve a enviar las líneas de registro faltantes.

poll (booleano): El recopilador de archivos usa la biblioteca Tail para verificar si hay cambios en el sistema de archivos. Si configuras esta marca en true, la biblioteca de Tail usa el método de sondeo en lugar del método de notificación predeterminado.

Datos de paquetes

El reenviador de SecOps de Google puede capturar paquetes en lugar de entradas de registro directamente desde una interfaz de red.

Sistemas Linux

El reenviador de SecOps de Google puede capturar paquetes con libcap en Linux. Para obtener más información sobre libcap, consulta libcap: Página de manual de Linux.

En lugar de entradas de registro, se capturan y envían paquetes de red sin procesar a Google Cloud. Esta captura se limita a una interfaz local. Para habilitar la captura de paquetes en tu sistema, comunícate con el equipo de asistencia de SecOps de Google.

Google Cloud configura el reenviador de SecOps de Google con la expresión del filtro de paquetes (BPF) de Berkeley que se usa cuando se capturan paquetes (por ejemplo, el puerto 53 y no localhost). Para obtener más información, consulta Filtros de paquetes de Berkeley.

Sistemas Windows

El reenviador de SecOps de Google puede capturar paquetes con Npcap en sistemas Windows.

En lugar de entradas de registro, se capturan y envían paquetes de red sin procesar a Google Cloud. Esta captura se limita a una interfaz local. Para configurar tu reenviador de Google SecOps para la captura de paquetes, comunícate con la asistencia de Google SecOps.

Requisitos para un reenviador de PCAP de captura de paquetes:

  • Instala Npcap en el host de Microsoft Windows.

  • Otorga privilegios de administrador o raíz al reenviador de Google SecOps para supervisar la interfaz de red.

  • En la instalación de Npcap, habilita el modo de compatibilidad de WinPcap.

Para configurar un reenviador de PCAP, Google Cloud necesita el GUID de la interfaz que se usa para capturar paquetes. Ejecuta getmac.exe en la máquina en la que planeas instalar el reenviador de Google SecOps (ya sea el servidor o la máquina que escucha en el puerto de intervalo) y envía el resultado a Google SecOps.

Como alternativa, puedes modificar el archivo de configuración. Busca la sección PCAP y reemplaza el valor de GUID existente por el GUID que se obtuvo de la ejecución de getmac.exe.

Por ejemplo, esta es una sección 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

Resultado de la ejecución de getmac.exe:

C:\>getmac.exe
  Physical Address    Transport Name
  ===========================================================================
  A4-73-9F-ED-E1-82   \Device\Tcpip_{2E0E9440-ABFF-4E5B-B43C-E188FCAD1234}

Sección PCAP revisada con el nuevo GUID:

- pcap:
      common:
        enabled: true
        data_type: PCAP_DNS
        batch_n_seconds: 10
        batch_n_bytes: 1048576
      interface: \Device\NPF_{2E0E9440-ABFF-4E5B-B43C-E188FCAD9734}
      bpf: udp port 53

La salida getmac.exe para el nombre de transporte comienza con \Device\Tcpip, mientras que la sección pcap comparable comienza con \Device\NPF.

Datos del tema de Kafka

El reenviador de Google Security Operations admite la transferencia directa de datos desde los temas de Kafka. Puedes implementar hasta tres reenviadores y extraer datos del mismo tema de Kafka aprovechando el concepto de grupos de consumidores para un procesamiento eficiente y en paralelo. Para obtener más información, consulta Kafka. Para obtener más información sobre los grupos de consumidores de Kafka, consulta Consumidor de Kafka.

En la siguiente configuración del reenviador, se muestra cómo configurarlo para transferir datos de los temas de Kafka.

Linux

El archivo 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
   

El archivo FORWARDER_NAME_auth.conf

   collectors:
   - kafka:
         username: user
         password: password
   - syslog:
   

Windows

Archivo 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

Archivo FORWARDER_NAME_auth.conf

collectors:
- kafka:
      username: user
      password: password
- syslog:

Datos de WebProxy

El reenviador de SecOps de Google puede capturar datos de WebProxy directamente desde una interfaz de red.

Linux

El reenviador de Google SecOps puede capturar datos de WebProxy con libcap en Linux. Para obtener más información sobre libcap, consulta libcap: Página de manual de Linux. Para habilitar la captura de datos de WebProxy en tu sistema, comunícate con el equipo de Asistencia de Google SecOps.

Modifica la configuración del reenviador de Google SecOps (archivo FORWARDER_NAME.conf) de la siguiente manera:

   - 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

El reenviador puede capturar datos de WebProxy con Npcap y enviarlos a Google Cloud.

Para habilitar la captura de datos de WebProxy en tu sistema, comunícate con el equipo de asistencia de SecOps de Google.

Antes de ejecutar un reenviador de WebProxy, sigue estos pasos:

  1. Instala Npcap en el host de Microsoft Windows. Habilita el modo de compatibilidad de WinPcap durante la instalación.

  2. Otorga privilegios de raíz o administrador al reenviador para supervisar la interfaz de red.

  3. Obtén el GUID de la interfaz que se usa para capturar los paquetes de WebProxy.

    Ejecuta getmac.exe en la máquina en la que deseas instalar el reenviador de Google SecOps y envía el resultado a Google SecOps. Como alternativa, puedes modificar el archivo de configuración. Busca la sección WebProxy y reemplaza el GUID que se muestra junto a la interfaz por el que se muestra después de ejecutar getmac.exe.

    Modifica el archivo de configuración del reenviador de Google SecOps (FORWARDER_NAME.conf) de la siguiente manera:

      - 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
    

Configura los atributos de clave en el archivo de configuración

En la siguiente tabla, se indican los parámetros importantes que se usan en el archivo de configuración del reenviador.

Parámetro Descripción
data_type Es el tipo de datos de registro que el recopilador puede recopilar y procesar.
metadatos Metadatos, que anula los metadatos globales.
max_file_buffer_bytes Es la cantidad máxima de bytes que se pueden acumular en el búfer de disco o de archivo. El valor predeterminado es 1073741824, que es 1 GB.
max_memory_buffer_bytes Es la cantidad máxima de bytes que se pueden acumular en el búfer de memoria. El valor predeterminado es 1073741824, que es 1 GB.
write_to_disk_dir_path Es la ruta que se usará para el búfer de archivos o discos.
write_to_disk_buffer_enabled Si es true, se usa el búfer de disco en lugar del búfer de memoria. El valor predeterminado es false.
batch_n_bytes Es la cantidad máxima de bytes que puede acumular el recopilador después de que los datos se agrupan. El valor predeterminado es 1048576, que es 1 MB.
batch_n_seconds Es la cantidad de segundos después de los cuales se agrupan los datos recopilados por el recopilador. El valor predeterminado es 11 segundos.
data_hint Es el formato de datos que puede recibir el recopilador (por lo general, el encabezado del archivo de registro que describe el formato).

Para obtener una lista extensa de los parámetros que se usan en el archivo de configuración, consulta Campos de configuración del reenviador y Campos de configuración del recopilador.

Compresión de datos

De forma predeterminada, la compresión de registros está inhabilitada. Habilitar la compresión de registros podría reducir el consumo de ancho de banda. Sin embargo, habilitar la compresión de registros también podría aumentar el uso de la CPU. Evalúa la compensación en función de tu entorno y los datos de registro.

Para habilitar la compresión de registros, establece el campo compression en true en el archivo de configuración del reenviador de SecOps de Google, como se muestra en el siguiente ejemplo:

El archivo 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
...

El archivo FORWARDER_NAME_auth.conf

output:
  identity:
    secret_key: |
    {
     "type": "service_account",
...
    }

Almacenamiento en búfer de disco

El almacenamiento en búfer en el disco te permite almacenar en búfer los mensajes pendientes en el disco en lugar de la memoria.

Puedes configurar el almacenamiento en búfer automático de la memoria para usar un búfer compartido de forma dinámica entre los recopiladores, lo que permite controlar mejor los aumentos repentinos del tráfico. Para habilitar el búfer compartido de forma dinámica, agrega lo siguiente en la configuración del reenviador:

auto_buffer:
  enabled: true
  target_memory_utilization: 80

Si el almacenamiento en búfer automático en el disco está habilitado, pero no se define target_memory_utilization, se usa un valor predeterminado de 70.

Si ejecutas el reenviador con Docker, te recomendamos que actives un volumen independiente del volumen de configuración para el aislamiento. Además, cada entrada debe estar aislada con su propio directorio o volumen para evitar conflictos.

Configuración de ejemplo

La siguiente configuración incluye sintaxis para habilitar el almacenamiento en búfer en el 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 expresiones regulares

Los filtros de expresiones regulares te permiten filtrar registros haciendo coincidir patrones con los datos de registro sin procesar. Los filtros emplean la sintaxis RE2. Los filtros deben incluir una expresión regular y, de forma opcional, definir un comportamiento cuando haya una coincidencia.

El comportamiento predeterminado de una coincidencia es block. Puedes especificar filtros con comportamiento allow. Si especificas un filtro allow, el reenviador bloquea todos los registros que no coincidan con al menos un filtro allow.

Es posible definir una cantidad arbitraria de filtros. Los filtros Block tienen prioridad sobre los filtros allow.

Cuando se definen los filtros, se les debe asignar un nombre. Los nombres de los filtros activos se informarán a Google SecOps a través de las métricas de estado del reenviador. Los filtros definidos en la raíz de la configuración se combinan con los filtros definidos a nivel del recopilador. Los filtros a nivel del colector tienen prioridad en los casos de nombres en conflicto. Si no se definen filtros en el nivel raíz ni en el del recopilador, el comportamiento es permitir todos los registros.

Configuración de ejemplo

En la siguiente configuración del reenviador, se bloquean los registros WINEVTLOG que no coinciden con el filtro raíz (allow_filter). Dada la expresión regular, el filtro solo permite registros con prioridades entre 0 y 99. Sin embargo, se bloquean todos los registros de NIX_SYSTEM que contengan "foo" o "bar", a pesar de allow_filter. Esto se debe a que los filtros usan un operador OR lógico. Todos los registros se procesan hasta que se activa 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

Etiquetas arbitrarias

Las etiquetas se usan para adjuntar metadatos personalizados a los registros con pares clave-valor. Puedes configurar etiquetas para un reenviador completo o dentro de un recopilador específico del reenviador. Si ambas están presentes, las etiquetas a nivel del recopilador anulan las etiquetas a nivel del reenviador si las claves se superponen.

Configuración de ejemplo

En la siguiente configuración del reenviador, los pares clave-valor "foo=bar" y "meow=mix" se adjuntan a los registros WINEVTLOG, y los pares clave-valor "foo=baz" y "meow=mix" se adjuntan a los registros 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

Espacios de nombres

Puedes usar etiquetas de espacio de nombres para identificar registros de segmentos de red distintos y resolver conflictos de direcciones IP superpuestas. Cualquier espacio de nombres configurado para el reenviador aparece con los recursos asociados en la interfaz de usuario de Google SecOps. También puedes buscar espacios de nombres con la función de búsqueda de SecOps de Google.

Para obtener información sobre cómo ver los espacios de nombres en la interfaz de usuario de Google SecOps, consulta Espacios de nombres de los activos.

Configuración de ejemplo

En la siguiente configuración del reenviador, los registros WINEVTLOG se adjuntan al espacio de nombres FORWARDER y los registros NIX_SYSTEM se adjuntan al espacio de nombres 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

Opciones de balanceo de cargas y alta disponibilidad

Puedes configurar el servidor HTTP, el balanceo de cargas y las opciones de alta disponibilidad en la sección del servidor del archivo de configuración del reenviador. Estas opciones admiten la configuración de duraciones de tiempo de espera y códigos de estado que se muestran en respuesta a las verificaciones de estado recibidas en el programador de contenedores y las implementaciones basadas en la orquestación, así como desde los balanceadores de cargas.

Usa las siguientes rutas de URL para las verificaciones de estado, preparación y actividad. Los valores de <host:port> se definen en la configuración del reenviador.

  • http://<host:port>/meta/available: Verificaciones de estado para programadores o orquestadores de contenedores
  • http://<host:port>/meta/ready: Verificaciones de preparación y verificaciones de estado del balanceador de cargas

La siguiente configuración de reenvío es un ejemplo de balanceo de cargas y alta disponibilidad:

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
Ruta de acceso de configuración Descripción
server : graceful_timeout Es la cantidad de tiempo que el reenviador muestra una verificación de estado o preparación incorrecta y aún acepta conexiones nuevas. Este también es el tiempo de espera entre recibir una señal para detenerse y comenzar a apagar el servidor. Esto le permite al balanceador de cargas quitar el reenviador del grupo.
server : drain_timeout Es la cantidad de tiempo que el reenviador espera a que las conexiones activas se cierren correctamente por sí solas antes de que el servidor las cierre.
servidor : http : puerto Es el número de puerto en el que el servidor HTTP escucha las verificaciones de estado del balanceador de cargas. Debe estar entre 1024 y 65535.
server : http : host Es la dirección IP o el nombre de host que se puede resolver en direcciones IP que el servidor debe escuchar. Si está vacío, el valor predeterminado es el sistema local (0.0.0.0).
server : http : read_timeout Se usa para ajustar el servidor HTTP. Por lo general, no es necesario cambiar la configuración predeterminada. Es la cantidad máxima de tiempo permitida para leer toda la solicitud, el encabezado y el cuerpo. Puedes configurar read_timeout y read_header_timeout.
server : http : read_header_timeout Se usa para ajustar el servidor HTTP. Por lo general, no es necesario cambiar la configuración predeterminada. Es la cantidad máxima de tiempo permitida para leer los encabezados de la solicitud. El tiempo límite de lectura de la conexión se restablece después de leer el encabezado.
server : http : write_timeout Se usa para ajustar el servidor HTTP. Por lo general, no es necesario cambiar la configuración predeterminada. Es la cantidad máxima de tiempo permitida para enviar una respuesta. Se restablece cuando se lee un nuevo encabezado de solicitud.
server : http : idle_timeout Se usa para ajustar el servidor HTTP. Por lo general, no es necesario cambiar la configuración predeterminada. Es la cantidad máxima de tiempo que se espera para la siguiente solicitud cuando las conexiones inactivas están habilitadas. Si idle_timeout es cero, se usa el valor de read_timeout. Si ambos son cero, se usa read_header_timeout.
routes : meta : ready_status Es el código de estado que muestra el reenviador cuando está listo para aceptar el tráfico en cualquiera de las siguientes situaciones:
  • La verificación de preparación se recibe de un programador o orquestador de contenedores.
  • La verificación de estado se recibe de un balanceador de cargas tradicional.
routes : meta : unready_status Es el código de estado que muestra el reenviador cuando no está listo para aceptar tráfico.
routes : meta : available_status Es el código de estado que muestra el reenviador cuando se recibe una verificación de estado activo y el reenviador está disponible. Los programadores o orquestadores de contenedores suelen enviar verificaciones de estado.