Administra el archivo de configuración del reenvío de forma manual
En esta página, se describe cómo crear y modificar manualmente un archivo de configuración del reenvío de Google Security Operations. Para configurar el reenvío a través de la IU (recomendado), consulta Administra la configuración del reenvío a través de la IU de Google SecOps.
Cada reenviador de Google SecOps implementado requiere un archivo de configuración del 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 reenvío de Google SecOps, los requisitos del sistema y los detalles sobre la configuración, consulta Instala y configura el reenvío.
Antes de comenzar
Antes de crear el archivo de configuración, planifica tu implementación comprendiendo 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:
Descarga los archivos de configuración a través de la IU.
Guarda los dos archivos en el mismo directorio con la siguiente convención de nomenclatura:
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.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 Cómo definir 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 del disco, consulta Cómo configurar atributos clave en el archivo de configuración.
Asegúrate de que exista una entrada para cada entrada en el archivo
FORWARDER_NAME
_auth.conf, incluso si la entrada no tiene detalles de autenticación correspondientes. Esto es necesario para asignar los datos correctamente.
El reenvío 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 dos archivos 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 abierto.
Puedes almacenar el archivo FORWARDER_NAME
_auth.conf directamente en la máquina física o virtual que ejecuta el reenvío.
En la siguiente muestra de código, se muestra el formato de los archivos de configuración de un retransmisor.
El archivo 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
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"
Ejemplo de configuración de un solo archivo
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
Convertir de un sistema de un solo archivo a uno de dos archivos
Si usas un solo archivo de configuración y deseas cambiar al sistema de dos archivos, haz lo siguiente:
Crea una copia del archivo de configuración existente.
Guarda un archivo como
FORWARDER_NAME
.conf y borra las credenciales de autorización del archivo.Guarda el otro archivo como
FORWARDER_NAME
_auth.conf y borra todos los datos que no sean de autorización. Puedes usar la configuración de muestra como referencia. Asegúrate de seguir la convención de nomenclatura y otros lineamientos que se mencionan en la sección Personaliza la configuración.
Define tipos de datos en tu archivo de configuración
En las siguientes secciones, se explica cómo configurar el reenviador de Google SecOps para que ingiera diferentes tipos de datos, que se reenvían a la instancia de Google SecOps.
Datos de Splunk
Puedes configurar el reenvío de Google SecOps para que reenvíe tus datos de Splunk a Google SecOps. Google Cloud configura el reenvío de Google SecOps con la siguiente información para reenviar tus datos desde Splunk:
URL de la API de REST de Splunk (por ejemplo, https://10.0.113.15:8089).
Consultas de Splunk 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
- Pon a disposición del reenvío de Google SecOps las credenciales de tu cuenta de Splunk. Para ello, crea un archivo
creds.txt
.
Para usar un archivo creds.txt
, haz lo siguiente:
Crea un archivo local para tus credenciales de Splunk y asígnale el nombre
creds.txt
.Coloca tu nombre de usuario en la primera línea y la contraseña en la segunda:
cat creds.txt myusername mypassword
Para usar el retransmisor 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
Verifica que el archivo
creds.txt
esté en el directorio previsto:Linux
ls /opt/chronicle/config
Windows
ls c:/opt/chronicle/config
Datos de Syslog
Un retransmisor 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 retransmisor, y este puede reenviar los datos a Google SecOps.
El archivo de configuración FORWARDER_NAME.conf
(proporcionado porGoogle Cloud) especifica qué puertos supervisar para cada tipo de datos reenviados (por ejemplo, el puerto 10514). De forma predeterminada, el reenvío de Google SecOps acepta conexiones TCP y UDP.
Puedes personalizar el tamaño del búfer TCP. El tamaño predeterminado del búfer 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:
Registro de tráfico de TCP:
dns.* @@192.168.0.12:10514
Tráfico de registro de UDP:
dns.* @192.168.0.12:10514
Puedes consultar 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 Google SecOps. En el archivo de configuración del reenvío (FORWARDER_NAME
.conf), especifica la ubicación de tu propio certificado y clave de certificado 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 |
Según el ejemplo que se muestra, modifica el archivo de configuración del reenvío (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 mayor que 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 del archivo
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 manualmente registros desde un solo archivo de registro.
Inicia el reenvío 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 que se proporcionan en el código de ejemplo son solo ejemplos. Reemplaza los números de puerto según tus requisitos.
Según el ejemplo, puedes modificar la configuración del reenvío 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
(bool): 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 se configura en true
, se volverán a enviar todas las líneas de registro anteriores durante los reinicios del reenvío. 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 retransmisor vuelve a enviar las líneas de registro faltantes.
poll
(bool): 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 usará el método de sondeo en lugar del método de notificación predeterminado.
Datos de paquetes
El reenvío de SecOps de Google puede capturar paquetes en lugar de entradas de registro, directamente desde una interfaz de red.
Sistemas Linux
El servidor de reenvío de SecOps de Google puede capturar paquetes con libcap en Linux. Para obtener más información sobre libcap, consulta libcap: página del manual de Linux.
En lugar de entradas de registro, se capturan paquetes de red sin procesar y se envían a SecOps de Google. 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 SecOps configura el retransmisor de Google SecOps con la expresión del filtro de paquetes de Berkeley (BPF) 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 reenvío de Google SecOps puede capturar paquetes con Npcap en sistemas Windows.
En lugar de entradas de registro, se capturan paquetes de red sin procesar y se envían a SecOps de Google. Esta captura se limita a una interfaz local. Para configurar tu reenvío de Google SecOps para la captura de paquetes, comunícate con el equipo de asistencia de Google SecOps.
Requisitos para un retransmisor de PCAP de captura de paquetes:
Instala Npcap en el host de Microsoft Windows.
Otorga privilegios de administrador o raíz al retransmisor de Google SecOps para supervisar la interfaz de red.
En la instalación de Npcap, habilita el modo de compatibilidad con WinPcap.
Para configurar un reenvío 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 reenvío de Google SecOps (ya sea el servidor o la máquina que escucha en el puerto de expansión) 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 GUID existente por el GUID que obtuviste cuando ejecutaste getmac.exe
.
Por ejemplo, a continuación, se muestra una sección de 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
El resultado de getmac.exe
para el nombre del transporte comienza con \Device\Tcpip
, mientras que la sección comparable de pcap comienza con \Device\NPF
.
Datos del tema de Kafka
El retransmisor de SecOps de Google admite la transferencia de datos directamente desde temas de Kafka. Puedes implementar hasta tres retransmisores y extraer datos del mismo tema de Kafka aprovechando el concepto de grupos de consumidores para un procesamiento eficiente y 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.
La siguiente configuración del retransmisor muestra cómo configurarlo para que ingiera 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 retransmisor de Google SecOps puede capturar datos de WebProxy directamente desde una interfaz de red.
Linux
El retransmisor de Google SecOps puede capturar datos de WebProxy con libcap en Linux. Para obtener más información sobre libcap, consulta libcap: página del 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 reenvío 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 reenvío 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 Google SecOps.
Antes de ejecutar un reenvío de WebProxy, sigue estos pasos:
Instala Npcap en el host de Microsoft Windows. Habilita el modo de compatibilidad con WinPcap durante la instalación.
Otorga privilegios de administrador o de raíz al reenviador para supervisar la interfaz de red.
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 reenvío 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 GUID que se muestra después de ejecutargetmac.exe
.Modifica el archivo de configuración del reenvío 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 atributos clave en el archivo de configuración
En la siguiente tabla, se enumeran los parámetros importantes que se usan en el archivo de configuración del reenvío.
Parámetro | Descripción |
---|---|
data_type | Es el tipo de datos de registro que el recopilador puede recopilar y procesar. |
metadatos | Son los metadatos que anulan los metadatos globales. |
max_file_buffer_bytes | Cantidad máxima de bytes que se pueden acumular en el búfer de disco o de archivo.
El valor predeterminado es 1073741824 , que equivale a 1 GB. |
max_memory_buffer_bytes | Cantidad máxima de bytes que se pueden acumular en el búfer de memoria. El valor predeterminado es 1073741824 , que equivale a 1 GB. |
write_to_disk_dir_path | Es la ruta de acceso que se usará para el búfer de archivos o de disco. |
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 antes de que se agrupen los datos. El valor predeterminado es 1048576 , que equivale a 1 MB. |
batch_n_seconds | Cantidad de segundos después de los cuales se agrupan los datos recopilados por el recopilador. El valor predeterminado es 11 segundos. |
data_hint | 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 retransmisor 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 reenvío de Google SecOps, 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 de disco te permite almacenar mensajes pendientes en el disco, en lugar de la memoria.
Puedes configurar el almacenamiento automático en búfer de memoria para usar un búfer compartido de forma dinámica entre los recopiladores, lo que permite controlar mejor los picos de tráfico. Para habilitar el búfer compartido de forma dinámica, agrega lo siguiente a la configuración del reenvío:
auto_buffer: enabled: true target_memory_utilization: 80
Si el almacenamiento en búfer automático del disco está habilitado, pero no se define target_memory_utilization
, se usa un valor predeterminado de 70
.
Si ejecutas el agente de reenvío con Docker, te recomendamos que montes un volumen independiente del volumen de configuración para fines de aislamiento. Además, cada entrada debe aislarse con su propio directorio o volumen para evitar conflictos.
Configuración de ejemplo
La siguiente configuración incluye la sintaxis para habilitar el almacenamiento en búfer de 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 expresión regular
Los filtros de expresiones regulares te permiten filtrar los registros según patrones coincidentes 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 hay una coincidencia.
El comportamiento predeterminado en una coincidencia es block
. Puedes especificar filtros con el comportamiento de allow
. Si especificas un filtro allow
, el retransmisor bloqueará 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 filtros, se les debe asignar un nombre. Los nombres de los filtros activos se informarán a las Operaciones de seguridad de Google a través de las métricas de estado del reenvío. 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 recopilador tienen prioridad en los casos de nombres en conflicto. Si no se definen filtros a nivel de la raíz o del recopilador, el comportamiento es permitir todos los registros.
Configuración de ejemplo
En la siguiente configuración del reenvío, se bloquean los registros de WINEVTLOG
que no coinciden con el filtro raíz (allow_filter
). Dada la expresión regular, el filtro solo permite los registros con prioridades entre 0 y 99.
Sin embargo, se bloquean todos los registros de NIX_SYSTEM
que contengan "foo" o "bar", a pesar del 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 retransmisor completo o dentro de un recopilador específico del retransmisor. Si ambas están presentes, las etiquetas a nivel del recopilador anulan las etiquetas a nivel del retransmisor si las claves se superponen.
Configuración de ejemplo
En la siguiente configuración del reenvío, los pares clave-valor "foo=bar" y "meow=mix" se adjuntan a los registros de WINEVTLOG
, y los pares clave-valor "foo=baz" y "meow=mix" se adjuntan a los registros de 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 reenvío 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 activos.
Configuración de ejemplo
En la siguiente configuración del reenvío, los registros de WINEVTLOG
se adjuntan al espacio de nombres FORWARDER y los registros de 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 implementaciones basadas en la orquestación y el programador de contenedores, así como desde los balanceadores de cargas.
Usa las siguientes rutas de URL para las verificaciones de estado, preparación y estado en funcionamiento.
Los valores de <host:port>
se definen en la configuración del reenvío.
http://<host:port>/meta/available
: Verificaciones de actividad para los programadores o los orquestadores de contenedoreshttp://<host:port>/meta/ready
: Verificaciones de preparación y verificaciones de estado del balanceador de cargas
La siguiente configuración del reenvío es un ejemplo para el balanceo de cargas y la 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 configuración | Descripción |
---|---|
server : graceful_timeout | Es la cantidad de tiempo durante la que el reenvío devuelve una verificación de estado o preparación incorrecta y, aun así, acepta conexiones nuevas. Este también es el tiempo de espera entre la recepción de una señal para detener el servidor y el inicio real de su apagado. Esto le da tiempo al balanceador de cargas para quitar el reenvío del grupo. |
server : drain_timeout | Es la cantidad de tiempo que el reenvío espera a que las conexiones activas se cierren correctamente por sí solas antes de que el servidor las cierre. |
server : http : port | Número de puerto en el que el servidor HTTP escucha las verificaciones de estado del balanceador de cargas. Debe estar entre 1,024 y 65,535. |
server : http : host | Dirección IP o nombre de host que se puede resolver en direcciones IP a las 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 el parámetro de configuración predeterminado. Es la cantidad máxima de tiempo permitida para leer toda la solicitud, tanto el encabezado como el cuerpo. Puedes establecer 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 el parámetro de configuración predeterminado. 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 el parámetro de configuración predeterminado. 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 el parámetro de configuración predeterminado. Es la cantidad máxima de tiempo que se espera la próxima 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 devuelve el reenvío cuando está listo para aceptar el tráfico en cualquiera de las siguientes situaciones:
|
routes : meta : unready_status | Es el código de estado que devuelve el reenvío cuando no está listo para aceptar tráfico. |
routes : meta : available_status | Es el código de estado que devuelve el reenvío cuando se recibe una verificación de funcionamiento y el reenvío está disponible. Los organizadores o programadores de contenedores suelen enviar verificaciones de actividad. |
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.