Administra el archivo de configuración del reenviador de forma manual
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:
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 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.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.
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:
Crea una copia de tu 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 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:
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 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
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:
Instala Npcap en el host de Microsoft Windows. Habilita el modo de compatibilidad de WinPcap durante la instalación.
Otorga privilegios de raíz o administrador 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 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 ejecutargetmac.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 contenedoreshttp://<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:
|
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. |