Usa BindPlane con Google SecOps

Compatible con:

En este documento, se describe Bindplane para Google Security Operations.

BindPlane es una canalización de telemetría que puede recopilar, definir mejor y exportar registros de cualquier fuente a Google SecOps.

Bindplane ofrece dos ediciones especialmente para Google.

Bindplane incluye los siguientes componentes principales:

  • Bindplane Collector Un agente de código abierto basado en el recopilador de OpenTelemetry (OTel). Recopila registros de varias fuentes, incluidos los registros de eventos de Microsoft Windows, y los envía a Google SecOps. Puedes instalar los recopiladores de forma local o en la nube. Este componente también se conoce como agente de Bindplane del recopilador de Bindplane Distribution for OpenTelemetry (BDOT), agente de recopilación, recopilador o agente.
  • Servidor de BindPlane Es una plataforma integral y unificada para administrar tus implementaciones de recopiladores de OTel. Estas implementaciones pueden residir en Google SecOps y Google Cloud. El servidor de Bindplane puede ejecutarse de forma local o en la nube de Bindplane. Para obtener más información sobre la consola, consulta Consola de administración de Bindplane. Este componente también se conoce como consola de administración de la canalización de observabilidad (OP) de Bindplane o consola de administración de Bindplane.

Ediciones de Google de BindPlane

BindPlane ofrece dos ediciones especialmente para Google: BindPlane (Google Edition) y BindPlane Enterprise (Google Edition).

BindPlane (edición de Google)

Bindplane (Google Edition) se proporciona a todos los clientes de Google SecOps.

Para obtener orientación adicional, consulta los siguientes recursos:

Puedes usar Bindplane (Google Edition) de forma autónoma en la nube de Bindplane.

Para obtener información sobre cómo comenzar a instalar y alojar por tu cuenta BindPlane (edición de Google), consulta BindPlane (edición de Google).

Bindplane Enterprise (Google Edition): Para clientes de Google SecOps Enterprise Plus

Bindplane Enterprise (Google Edition) se incluye para los clientes de Google SecOps Enterprise Plus.

Se recomienda Bindplane Enterprise (edición de Google) para implementaciones a gran escala.

Comunícate con el equipo de tu Cuenta de Google para obtener la clave de licencia de Bindplane Enterprise (edición de Google).

Ediciones de BindPlane de Google: diferencias

En la siguiente tabla, se enumeran las diferencias entre las ediciones de Bindplane Google:

Funciones BindPlane (edición de Google) BindPlane Enterprise (edición de Google)
Costo Se incluye sin cargo adicional para todos los clientes de Google SecOps Se incluye sin cargo para los clientes de Google SecOps Enterprise Plus
Rutas y destinos Solo Google, incluidos Google SecOps, Cloud Logging, BigQuery y Cloud Storage a través de Google SecOps Google, incluidos 12 meses de enrutamiento a un destino que no sea de Google para las migraciones de SIEM
Filtros Filtro básico con expresión regular Procesadores de filtrado avanzado (por ejemplo, filtrar por condición, campo, gravedad, etcétera), reducción de datos, muestreo de registros, eliminación de duplicados
Ocultamiento N/A Enmascaramiento de PII
Transformación Agregar campo, mover campo, analizar datos (KV, JSON, CSV, XML, marca de tiempo, análisis por expresión regular), cambiar nombre de campo, separador de eventos Incluye todas las capacidades compatibles con Bindplane (edición de Google) y los campos borrar, borrar valores vacíos y coalescer.
Funciones generales a nivel de la plataforma Puerta de enlace (agrega datos de los agentes), agentes de Bindplane para la recopilación, capa de administración de Bindplane para la recopilación local o alojada en la nube, todas las fuentes, supervisión silenciosa del host a través del procesador de SecOps, cola persistente, enriquecimiento de la telemetría, HA, RBAC, compatibilidad con ambas APIs de ingestión de SecOps, ofuscación de credenciales, administración avanzada de la flota, incluido el agrupamiento de agentes, asignación dinámica de tipos de registros Todas las capacidades admitidas en BindPlane (edición de Google)

Consola de administración de Bindplane

El uso de la consola de Bindplane Management es opcional. Muchos clientes de Google SecOps usan BindPlane Server.

La consola de administración de BindPlane ofrece las siguientes funciones clave:

  • Administración centralizada La consola te permite administrar todas tus implementaciones del recopilador de OTel en Google Cloud. Puedes ver el estado de cada implementación, así como realizar tareas de administración comunes, como iniciar, detener y reiniciar recopiladores.
  • Supervisión en tiempo real La consola proporciona supervisión en tiempo real de tus implementaciones del recopilador de OTel. Puedes hacer un seguimiento de métricas como el uso de CPU, el uso de memoria y la capacidad de procesamiento, así como ver registros y seguimientos para solucionar problemas.
  • Alertas y notificaciones. La consola te permite configurar alertas y notificaciones para eventos importantes, como cuando un recopilador deja de funcionar o cuando se supera un umbral de métricas.
  • Administración de configuración La consola te permite administrar de forma centralizada la configuración de tus recopiladores de OTel. Puedes editar archivos de configuración, establecer variables de entorno y aplicar políticas de seguridad a todas tus implementaciones.
  • Integración con Google Cloud Puedes crear y administrar implementaciones de recopiladores de OTel en Google Cloud y usar la consola para acceder a tus recursos de Google Cloud . Google Cloud

Arquitectura del agente de BindPlane

El agente de Bindplane se puede ejecutar en Linux o Docker como un servidor web ligero sin dependencias externas.

BindPlane usa el recopilador de BDOT para estandarizar la administración de telemetría con el Protocolo de administración de agentes abierto (OpAMP). También puedes crear y administrar distribuciones personalizadas de OpenTelemetry Collector con Bindplane.

Para obtener más información sobre la arquitectura de implementación de los recopiladores de OpenTelemetry de Bindplane, consulta Recopilador de OTel de Bindplane.

En las siguientes secciones, se describen las opciones de arquitectura disponibles.

Los agentes de recopilación envían registros a un agente de recopilación que actúa como puerta de enlace.

Para implementaciones a gran escala, te recomendamos que uses agentes de Bindplane Enterprise (edición de Google) que actúen como puertas de enlace. Estas puertas de enlace reciben datos de telemetría de otros recopiladores a través de la red, realizan un procesamiento adicional opcional y enrutan los datos a Google SecOps.

Un agente de recopilación que actúa como puerta de enlace usa el mismo archivo binario que todos los demás agentes de recopilación.

En el siguiente diagrama, se muestran los agentes de recopilación que envían registros a un agente de recopilación que actúa como puerta de enlace.

Los agentes de recopilación envían registros a un agente de recopilación que actúa como puerta de enlace.

Los agentes de recopilación envían registros directamente a la API de transferencia de Google SecOps

En el siguiente diagrama, se muestran los agentes de recopilación que envían registros directamente a la API de transferencia de SecOps de Google.

Los agentes de recopilación envían registros directamente a la API de transferencia de Google SecOps

Los agentes de recopilación envían registros directamente a Cloud Logging

En el siguiente diagrama, se muestran los agentes de recopilación que envían registros directamente a Cloud Logging.

Los agentes de recopilación envían registros directamente a Cloud Logging

Los agentes de recopilación envían registros a varios destinos

En el siguiente diagrama, se muestran los agentes de recopilación que envían registros a varios destinos.

El agente de recopilación envía registros a varios destinos

Tipos de implementación de Bindplane

Bindplane ofrece opciones de implementación en la nube y en las instalaciones.

Implementaciones locales

El uso del servidor de Bindplane local se rige por las Condiciones del Servicio deGoogle Cloud existentes.

Implementaciones locales de Linux

Puedes instalar el servidor de Bindplane local en Linux ejecutando una secuencia de comandos (recomendado) o descargando un archivo binario y realizando la instalación de forma manual. Para obtener más información, consulta Cómo instalar Bindplane Server.

Para instalar el servidor de Bindplane local en Linux con una secuencia de comandos, haz lo siguiente:

  1. Ejecuta esta secuencia de comandos:

    curl -fsSlL https://storage.googleapis.com/bindplane-op-releases/bindplane/latest/install-linux.sh -o install-linux.sh && bash install-linux.sh --init && rm install-linux.sh

  2. Sigue las instrucciones que te guiarán por la inicialización del servidor.

Para instalar el servidor de Bindplane local en Linux con un archivo binario, haz lo siguiente:

  1. Descarga uno de los siguientes archivos:

  2. Actualiza el archivo de configuración según las instrucciones que se indican en Cómo configurar el servidor de Bindplane.

Implementaciones locales de Docker

Para obtener más información, consulta Cómo instalar Bindplane Server.

Linux

Distribuciones de Linux:

  • Red Hat, CentOS, Oracle Linux 7, 8 y 9
  • Debian 11 y 12
  • Ubuntu LTS 20.04 y 22.04
  • SUSE Linux 12 y 15
  • Alma y Rocky Linux

Para obtener más información, consulta lo siguiente:

Imágenes de contenedores de Docker

Puedes encontrar imágenes de contenedores de Docker de Bindplane en las siguientes ubicaciones:

  • Paquetes de GitHub: ghcr.io/observiq/Bindplane-ee
  • Repositorio de artefactos de Google: us-central1-docker.pkg.dev/observiq-containers/bindplane/bindplane-ee
  • Docker Hub: observiq/bindplane-ee

Las imágenes de contenedor se etiquetan con la versión de lanzamiento; por ejemplo, la versión v1.35.0 tendrá la etiqueta observiq/bindplane-ee:1.35.0.

Requisitos y recomendaciones técnicos

En esta sección, se describen los requisitos y las recomendaciones técnicos para instalar y ejecutar Bindplane con Google SecOps.

Requisitos de ancho de banda

Bindplane mantiene conexiones de red para lo siguiente:

  • Administración de recopiladores
  • Mediciones de la capacidad de procesamiento del recopilador
  • Interfaces de usuario web y de línea de comandos

Requisitos de conectividad

De forma predeterminada, Bindplane escucha en el puerto 3001. Este puerto se puede configurar.

El puerto de Bindplane se usa para lo siguiente:

  • Comando y control del recopilador con OpAMP (WebSocket)
  • Solicitudes de medición del rendimiento del recopilador (solicitud HTTP POST)
  • Usuarios del navegador y la CLI (HTTP y WebSocket)

Los recopiladores deben poder iniciar conexiones a Bindplane para OpAMP (WebSocket) y mediciones de rendimiento (HTTP).

Bindplane nunca inicia conexiones con los recopiladores. Puedes configurar un firewall para evitar que Bindplane llegue a las redes de recopiladores. Sin embargo, las redes de recopiladores deben poder llegar a Bindplane en el puerto configurado.

Requisitos técnicos generales del recopilador de Bindplane

Para obtener información sobre los requisitos técnicos generales del recopilador de BindPlane, consulta lo siguiente:

Requisitos de recursos del recopilador

Los requisitos de recursos de Bindplane varían según la cantidad de recopiladores administrados. A medida que aumenta la cantidad de recopiladores administrados, también aumentan el uso de CPU, la memoria, la capacidad de procesamiento/IOPS del disco y el consumo de red.

Usa la siguiente tabla para determinar el tamaño de la capacidad de CPU, memoria y almacenamiento:

Recuento de recopiladores Nodos de Bindplane Tolerancia a errores Núcleos de CPU Memoria Base de datos
Entre 1 y 100 1 N/A 2 4 GB bbolt
De 100 a 25,000 1 N/A 4 16 GB postgres
1-60,000 3 1 2 8 GB postgres
De 60,001 a 125,000 5 1 2 8 GB postgres
De 125,001 a 250,000 10 2 2 8 GB postgres

Planifica la instalación y la implementación

En las siguientes secciones, se incluyen recomendaciones y prácticas recomendadas que debes tener en cuenta cuando planifiques la implementación de Bindplane.

Considera la escalabilidad y la tolerancia a errores

Los recopiladores de puerta de enlace reciben datos de telemetría a través de la red. Te recomendamos que los vincules con un balanceador de cargas para proporcionar tolerancia a fallas y escalamiento horizontal.

Se prefiere el ajuste de escala horizontal porque proporciona tolerancia a errores y puede eliminar los cuellos de botella del exportador.

Calcula cuántos recolectores necesitas

Cuando calcules la cantidad de recopiladores necesarios para tu carga de trabajo, ten en cuenta el rendimiento o la tasa de registros previstos, y usa la siguiente tabla. En esta tabla, se supone que cada recopilador tiene cuatro núcleos de CPU y 16 GB de memoria. La tabla no incluye cálculos con procesadores; cuando se agregan procesadores, aumentan los requisitos de procesamiento.

Capacidad de procesamiento de la telemetría Registros por segundo Recopiladores
5 GB/m 250,000 2
10 GB/m 500,000 3
20 GB/m 1,000,000 5
100 GB/m 5,000,000 25

Aprovisiona en exceso la flota de recopiladores para lograr tolerancia a errores

Aprovisiona en exceso la flota de recopiladores para garantizar la tolerancia a errores. En caso de que uno o más sistemas recopiladores fallen o se desconecten para realizar tareas de mantenimiento, los recopiladores restantes deben tener suficiente capacidad para administrar el rendimiento de la telemetría.

Si trabajas con una cantidad fija de recopiladores, puedes implementar el ajuste de escala vertical de su CPU y memoria para aumentar el rendimiento.

Reducir la sobrecarga de procesamiento

En general, es mejor que tus recopiladores realicen la menor cantidad de trabajo posible. Si tienes requisitos de procesamiento exigentes, puede ser útil descargar ese procesamiento en una flota de recopiladores de puerta de enlace. Por ejemplo, en lugar de filtrar la telemetría con una operación costosa de expresión regular, puedes hacer que los recopiladores de la puerta de enlace realicen esa tarea. Por lo general, los recopiladores de puerta de enlace se ejecutan en un sistema dedicado. Esto justifica la sobrecarga de procesamiento, ya que no consume la potencia de procesamiento de otros servicios que se ejecutan en el mismo sistema, a diferencia de un recopilador que no es de puerta de enlace y que puede ejecutarse en un servidor de bases de datos.

Prácticas recomendadas para el modo de puerta de enlace

Cuando usas un agente de recopilación de Bindplane como puerta de enlace, es decir, en el modo de puerta de enlace, planifica tu implementación con las siguientes prácticas recomendadas:

  • Coloca al menos dos recopiladores detrás de un balanceador de cargas.
  • Cada recopilador debe tener un mínimo de dos núcleos.
  • Cada recopilador debe tener un mínimo de 8 GB de memoria.
  • Cada recopilador debe tener 60 GB de espacio utilizable para una cola persistente.

Usa un balanceador de cargas cuando sea necesario

Se requiere un balanceador de cargas cuando Bindplane se opera en modo de alta disponibilidad.

Cuando usas un agente de recopilación de Bindplane en el modo de puerta de enlace, usa un balanceador de cargas para aumentar el rendimiento y la redundancia. El balanceo de cargas también permite el escalamiento horizontal de tu flota de puertas de enlace y la capacidad de resistir fallas sin causar interrupciones.

El agente de recopilación de Bindplane puede funcionar con una amplia variedad de balanceadores de cargas cuando opera en el modo de puerta de enlace. En este documento, no se analizan opciones específicas, ya que la mayoría de las soluciones de balanceo de cargas populares admiten las funciones necesarias para operar de manera confiable varios recopiladores.

Para obtener más información, consulta Load Balancer.

Puerto y protocolos de balanceo de cargas

De forma predeterminada, Bindplane escucha en el puerto 3001.

Para admitir la amplia variedad de receptores basados en la red en OpenTelemetry, el balanceador de cargas debe admitir lo siguiente:

  • Protocolos de transporte TCP/UDP
  • Protocolos de aplicación HTTP y gRPC

Dimensionamiento del balanceo de cargas

Para lograr la máxima tolerancia a fallas, los nodos de Bindplane no deben administrar más de 30,000 recopiladores. Cada recopilador abre dos conexiones a Bindplane (una para la administración remota de OpAMP y otra para publicar métricas de rendimiento). Este límite ayuda a garantizar que no superes el límite de conexiones de aproximadamente 65,535 por instancia de backend que imponen la mayoría de los balanceadores de cargas.

Si una organización tiene 100,000 recopiladores, un tamaño de clúster de tres sería insuficiente. Cada nodo sería responsable de aproximadamente 33,000 recopiladores, lo que se traduce en 66,000 conexiones TCP por instancia de Bindplane. Esta situación empeora si se desconecta un nodo para realizar tareas de mantenimiento, ya que cada instancia restante de Bindplane administraría 50,000 recopiladores o 100,000 conexiones TCP.

Prácticas recomendadas para determinar el tamaño del balanceo de cargas

  • Implementa verificaciones de estado. Configura el balanceador de cargas para asegurarte de que el recopilador esté listo para recibir tráfico.
  • Distribuye las conexiones de manera uniforme. Las conexiones deben distribuirse de manera uniforme entre los colectores.
  • Admite los protocolos necesarios. Para admitir la amplia variedad de receptores basados en la red en OpenTelemetry, el balanceador de cargas debe admitir lo siguiente:

    • Protocolos de transporte TCP/UDP
    • Protocolos de aplicación HTTP y gRPC

Para obtener más información, consulta Resistencia del recopilador.

Balanceo de cargas basado en el tipo de fuente

Cualquier tipo de fuente que reciba telemetría de sistemas remotos a través de la red es un candidato adecuado para el balanceo de cargas, incluidos los siguientes:

  • OTLP
  • Syslog
  • TCP/UDP
  • HEC de Splunk
  • Fluent Forward

Usa el modo de alta disponibilidad en entornos de producción

Puedes implementar una instancia de Bindplane en una configuración de instancia única o de varias instancias. Para las implementaciones de producción que requieren alta disponibilidad (HA) y resiliencia, te recomendamos que uses un modelo de implementación de varias instancias (HA).

Cuando Bindplane administra más de 25,000 recopiladores, te recomendamos que lo ejecutes en modo de alta disponibilidad (HA).

Para obtener más información sobre la HA en BindPlane, consulta Alta disponibilidad.

Calcula la cantidad de recopiladores y servidores de Bindplane para la HA

Cuando ejecutas BindPlane en modo de HA, debes tener en cuenta cuántos recopiladores esperas que controle cada servidor de BindPlane.

Toma la cantidad total de instancias de Bindplane y réstale la cantidad máxima de nodos que esperas que dejen de estar disponibles debido al mantenimiento. Asegúrate de que cada nodo administre no más de 30,000 recopiladores durante una interrupción del nodo.

Postgres para HA

Postgres es un requisito previo cuando ejecutas Bindplane en modo de HA.

Prometheus para HA

Prometheus es obligatorio cuando ejecutas Bindplane en modo de HA.

Para obtener más información, consulta Prometheus.

Bus de eventos para HA

Bindplane usa un bus de eventos para comunicarse entre los componentes dentro de Bindplane. Cuando ejecutas BindPlane en modo de HA, puedes usar el bus de eventos para enviar eventos entre los servidores de BindPlane.

Para obtener más información, consulta Event Bus.

Usa una implementación de una sola instancia para un entorno de pruebas o una prueba de concepto

Para un entorno de prueba o una prueba de concepto, te recomendamos que uses una implementación de una sola instancia.

Para obtener más información, consulta Instancia única.

Aísla las credenciales de backend

En lugar de implementar credenciales en todos tus sistemas de recopilación, puedes mantenerlas exclusivamente en los recopiladores de la puerta de enlace. Esto simplifica la rotación de credenciales y reduce la superficie de ataque de seguridad, ya que limita la implementación de credenciales a un subconjunto de tus sistemas.

Protege con firewall los recopiladores de la puerta de enlace

Puedes colocar recopiladores de puerta de enlace dentro de una red perimetral, protegida por un firewall de la red interna. Puedes configurar tu red para permitir que tus otros recopiladores reenvíen datos a los recopiladores de puerta de enlace y, al mismo tiempo, bloquear el acceso de los recopiladores de puerta de enlace a la red de tu aplicación. Esto te permite enviar telemetría a un backend basado en la nube sin otorgar a tus extremos acceso directo a Internet.

El firewall debe permitir que el tráfico HTTP llegue a Bindplane en el puerto configurado.

Verifica la configuración del firewall

Cualquier firewall o proxy autenticado entre el agente y la Internet requiere reglas para abrir el acceso a los siguientes hosts:

Tipo de conexión Destino Puerto
TCP malachiteingestion-pa.googleapis.com 443
TCP asia-northeast1-malachiteingestion-pa.googleapis.com 443
TCP asia-south1-malachiteingestion-pa.googleapis.com 443
TCP asia-southeast1-malachiteingestion-pa.googleapis.com 443
TCP australia-southeast1-malachiteingestion-pa.googleapis.com 443
TCP europe-malachiteingestion-pa.googleapis.com 443
TCP europe-west2-malachiteingestion-pa.googleapis.com 443
TCP europe-west3-malachiteingestion-pa.googleapis.com 443
TCP europe-west6-malachiteingestion-pa.googleapis.com 443
TCP europe-west12-malachiteingestion-pa.googleapis.com 443
TCP me-central1-malachiteingestion-pa.googleapis.com 443
TCP me-central2-malachiteingestion-pa.googleapis.com 443
TCP me-west1-malachiteingestion-pa.googleapis.com 443
TCP northamerica-northeast2-malachiteingestion-pa.googleapis.com 443
TCP accounts.google.com 443
TCP oauth2.googleapis.com 443

Usa PostgreSQL para las implementaciones de producción

Postgres es obligatorio para las implementaciones de producción de Bindplane.

Postgres es un requisito previo para operar Bindplane en modo de HA.

La cantidad de núcleos de CPU y la memoria disponible suelen limitar el rendimiento de los back-ends de almacenamiento de PostgreSQL. Recomendamos respaldar el almacenamiento de PostgreSQL con almacenamiento de baja latencia y alta capacidad de procesamiento, como unidades de estado sólido (SSD).

Recuento de recopiladores Núcleos de CPU Memoria
1-60,000 4 16 GB
De 60,001 a 125,000 8 32 GB
De 125,001 a 250,000 16 64 GB

Para obtener más información, consulta lo siguiente:

Implementa la autenticación adecuada

Bindplane admite la autenticación con los siguientes protocolos y servicios. Asegúrate de que estén implementados correctamente:

Instala la consola de administración de BindPlane

La mayoría de los clientes de SecOps de Google usan la consola de Bindplane Management. Si la vas a instalar, debes tener acceso a storage.googleapis.com. Si solo instalas el agente, no se requiere este acceso.

Bindplane Cloud también está disponible para los clientes de Google. Descarga la versión gratuita y envía un correo electrónico a support@bindplane.com para solicitar una actualización a la versión compatible con Google.

Existen tres formas de implementar la consola de administración de Bindplane:

Instala el agente de BindPlane

En esta sección, se describe cómo instalar el agente de Bindplane para Google SecOps en diferentes sistemas operativos del host.

Por lo general, los recopiladores de agentes usan recursos mínimos. Sin embargo, cuando manejes grandes volúmenes de registros, ten en cuenta el consumo de recursos para evitar afectar otros servicios. Para obtener más información, consulta Requisitos y recomendaciones técnicos, Planifica tu instalación y tu implementación y Tamaño y escalamiento del agente.

Para obtener más información sobre cómo instalar el agente de OTel, consulta Instala y desinstala colectores de BindPlane.

Para instalar el agente, necesitas lo siguiente:

  • Archivo de autenticación de transferencia de Google SecOps

    Para descargar el archivo de autenticación, sigue estos pasos:

    1. Abre la consola de Google SecOps.
    2. Ve a Configuración del SIEM > Agente de recopilación.
    3. Descarga el archivo de autenticación de transferencia de Google SecOps.
  • ID de cliente de Google SecOps

    Para encontrar el ID del cliente, sigue estos pasos:

    1. Abre la consola de Google SecOps.
    2. Ve a SIEM Settings > Profile.
    3. Copia el ID del cliente de la sección Detalles de la organización.
  • Windows 2012 SP2 o versiones posteriores o host de Linux con systemd

  • Conexión a Internet

  • Acceso a GitHub

Herramientas de implementación

En esta sección, se describen las herramientas de implementación de Bindplane.

GitOps

Implementa recursos de Bindplane con un modelo de GitOps, que incluye lo siguiente:

  • Autenticación de Bindplane
  • CLI de Bindplane
  • Acceso a la red
  • Integración con un repositorio de GitHub y GitHub Actions
  • Cómo exportar recursos existentes
  • Administra valores sensibles
  • Cómo establecer un flujo de trabajo de GitHub Actions
  • Instrucciones paso a paso para confirmar y probar la configuración, habilitar lanzamientos automáticos y actualizar recursos con ediciones directas o el método de exportación de la IU
  • Actualización de valores sensibles y uso de RBAC

Para obtener más información, consulta GitOps.

Ansible

Para obtener información sobre la implementación de Bindplane con Ansible, consulta bindplane-agent-ansible.

CLI de Bindplane

Para obtener información sobre la CLI de Bindplane, consulta GitOps.

Terraform

Si deseas obtener información para usar Terraform y configurar tus recursos de Bindplane, consulta Bindplane Provider.

Kubernetes

Para obtener información sobre Kubernetes con Bindplane, consulta lo siguiente:

Instala el agente de Bindplane en Windows

Para instalar el agente de Bindplane en Windows, ejecuta el siguiente comando de PowerShell:

msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet

También puedes descargar el instalador más reciente para Windows si quieres instalarlo con un asistente de instalación. Después de descargar el instalador, abre el asistente de instalación y sigue las instrucciones para configurar e instalar el agente de Bindplane.

Para obtener más información sobre la instalación del agente de BindPlane en Windows, consulta Instalación en Windows.

Instala el agente de BindPlane en Linux

Puedes instalar el agente en Linux con una secuencia de comandos que determina automáticamente qué paquete instalar. También puedes usar la misma secuencia de comandos para actualizar una instalación existente.

Para instalar con la secuencia de comandos de instalación, ejecuta la siguiente secuencia de comandos:

sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh

Para obtener más información sobre cómo configurar el recopilador, consulta bindplane-otel-collect.

Instalación desde un paquete local

Para instalar el agente desde un paquete local, usa -f con la ruta de acceso al paquete.

sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh -f path_to_package

Instalación de RPM

Descarga el paquete RPM para tu arquitectura desde la página de versiones y, luego, instálalo con rpm. Consulta el siguiente ejemplo para instalar el paquete amd64:

sudo rpm -U ./observiq-otel-collector_v${VERSION}_linux_amd64.rpm
sudo systemctl enable --now observiq-otel-collector

Reemplaza VERSION por la versión del paquete que descargaste.

Instalación de DEB

Descarga el paquete DEB para tu arquitectura desde la página de versiones y, luego, instálalo con dpkg. Consulta el siguiente ejemplo para instalar el paquete amd64:

sudo dpkg -i --force-overwrite ./observiq-otel-collector_v${VERSION}_linux_amd64.deb
sudo systemctl enable --now observiq-otel-collector

Reemplaza VERSION por la versión del paquete que descargaste.

Para obtener más información, consulta Instalación del agente de Bindplane.

Configura el agente de BindPlane

Después de instalar el agente, se ejecuta el servicio observiq-otel-collector y está listo para la configuración.

Puedes configurar el agente de forma manual o con la consola de Bindplane Management.

Si configuras el agente de forma manual, debes actualizar los parámetros del exportador para asegurarte de que el agente se autentique con Google SecOps.

Archivo de configuración del recopilador de OTel

En Linux, el archivo de configuración del recopilador se encuentra en /opt/observiq-otel-collector/config.yaml.

Servicio y registros del recopilador de OTel

De forma predeterminada, el agente registra en C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log.

El registro de errores estándar para el proceso del agente se puede encontrar en C:\Program Files\observIQ OpenTelemetry Collector\log\observiq_collector.err.

Para obtener más información sobre cómo configurar el recopilador, consulta bindplane-otel-collect.

En Linux, para ver los registros del recopilador, ejecuta sudo tail -F /opt/observiq-otel-collector/log/collector.log.

Comandos comunes del servicio del recopilador de OTel de Linux:

  • Para detener el servicio del recopilador de OTel, ejecuta sudo systemctl stop observiq-otel-collector.

  • Para iniciar el servicio del recopilador de OTel, ejecuta sudo systemctl start observiq-otel-collector.

  • Para reiniciar el servicio del recopilador de OTel, ejecuta sudo systemctl restart observiq-otel-collector.

  • Para habilitar el servicio del recopilador de OTel en el inicio, ejecuta sudo systemctl enable observiq-otel-collector.

Reinicia el servicio del agente para aplicar los cambios en la configuración

Cuando cambies la configuración, debes reiniciar el servicio del agente para que los cambios de configuración surtan efecto (sudo systemctl restart observiq-otel-collector).

Usa un archivo de configuración de muestra predeterminado

De forma predeterminada, el archivo de configuración del agente se encuentra en C:\Program Files\observIQ OpenTelemetry Collector\config.yaml.

Puedes descargar un archivo de configuración de muestra y un token de autenticación que usa el agente desde la consola de Google SecOps > SIEM Settings > Collection Agent.

Personaliza las siguientes dos secciones en el archivo de configuración:

  • Receptor: Especifica qué registros debe recopilar el agente y enviar a Google SecOps.
  • Exporter: Especifica el destino al que el agente envía los registros. Se admiten los siguientes exportadores:
    • Exportador de Google SecOps: Envía registros directamente a la API de transferencia de Google SecOps.
    • Google SecOps forwarder exporter: Envía registros al reenvío de Google SecOps.
    • Exportador de Cloud Logging: Envía registros a Cloud Logging.

En el exportador, personaliza lo siguiente:

  • customer_id: Es tu ID de cliente de Google SecOps.
  • endpoint: Es tu extremo regional de Google SecOps.
  • creds: Es tu token de autenticación.

    Como alternativa, puedes usar creds_file_path para hacer referencia al archivo de credenciales directamente. Para la configuración de Windows, escapa la ruta de acceso con barras inversas.

  • log_type: Tipo de registro. Te recomendamos que selecciones WINDOWS_DNS como el Tipo de registro.

  • ingestion_labels: Etiquetas de transferencia. Estas etiquetas identifican los registros en Google SecOps.

  • namespace: Es un espacio de nombres opcional.

    Cada tipo de registro requiere que configures un exportador.

Muestras de configuración de recopilación de registros

En las siguientes secciones, se incluyen muestras de configuración para la recopilación de registros.

Envía eventos de Windows y Sysmon directamente a Google SecOps

Configura estos parámetros en la muestra:

Configuración de ejemplo

receivers:
  windowseventlog/sysmon:
    channel: Microsoft-Windows-Sysmon/Operational
    raw: true
  windowseventlog/security:
    channel: security
    raw: true
  windowseventlog/application:
    channel: application
    raw: true
  windowseventlog/system:
    channel: system
    raw: true

processors:
  batch:

exporters:
  chronicle/sysmon:
    endpoint: malachiteingestion-pa.googleapis.com
    creds: '{
  "type": "service_account",
  "project_id": "malachite-projectname",
  "private_key_id": "abcdefghijklmnopqrstuvwxyz123456789",
  "private_key": "-----BEGIN PRIVATE KEY-----abcdefg-----END PRIVATE KEY-----\n",
  "client_email": "account@malachite-projectname.iam.gserviceaccount.com",
  "client_id": "123456789123456789",
  "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/account%40malachite-projectname.iam.gserviceaccount.com",
  "universe_domain": "googleapis.com"
}' 
    log_type: 'WINDOWS_SYSMON'
    override_log_type: false
    raw_log_field: body
    customer_id: 'dddddddd-dddd-dddd-dddd-dddddddddddd'
  chronicle/winevtlog:
    endpoint: malachiteingestion-pa.googleapis.com
    creds: '{
  "type": "service_account",
  "project_id": "malachite-projectname",
  "private_key_id": "abcdefghijklmnopqrstuvwxyz123456789",
  "private_key": "-----BEGIN PRIVATE KEY-----abcdefg-----END PRIVATE KEY-----\n",
  "client_email": "account@malachite-projectname.iam.gserviceaccount.com",
  "client_id": "123456789123456789",
  "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/account%40malachite-projectname.iam.gserviceaccount.com",
  "universe_domain": "googleapis.com"
}'
    log_type: 'WINEVTLOG'
    override_log_type: false
    raw_log_field: body
    customer_id: 'dddddddd-dddd-dddd-dddd-dddddddddddd'

service:
  pipelines:
    logs/sysmon:
      receivers: [windowseventlog/sysmon]
      processors: [batch]
      exporters: [chronicle/sysmon]
    logs/winevtlog:
      receivers: 
        - windowseventlog/security
        - windowseventlog/application
        - windowseventlog/system
      processors: [batch]
      exporters: [chronicle/winevtlog]

Envía eventos de Windows y syslog directamente a Google SecOps

Configura estos parámetros en la muestra:

Configuración de ejemplo

receivers:
    tcplog:
      listen_address: "0.0.0.0:54525"
    windowseventlog/source0__application:
        attributes:
            log_type: windows_event.application
        channel: application
        max_reads: 100
        poll_interval: 1s
        raw: true
        start_at: end
    windowseventlog/source0__security:
        attributes:
            log_type: windows_event.security
        channel: security
        max_reads: 100
        poll_interval: 1s
        raw: true
        start_at: end
    windowseventlog/source0__system:
        attributes:
            log_type: windows_event.system
        channel: system
        max_reads: 100
        poll_interval: 1s
        raw: true
        start_at: end
exporters:
    chronicle/chronicle_w_labels:
        compression: gzip
        creds: '{ json blob for creds }'
        customer_id: <customer_id>
        endpoint: malachiteingestion-pa.googleapis.com
        ingestion_labels:
            env: dev
        log_type: <applicable_log_type>
        namespace: testNamespace
        raw_log_field: body
service:
    pipelines:
        logs/source0__chronicle_w_labels-0:
            receivers:
                - windowseventlog/source0__system
                - windowseventlog/source0__application
                - windowseventlog/source0__security
            exporters:
                - chronicle/chronicle_w_labels
        logs/source1__chronicle_w_labels-0:
            receivers:
                - tcplog
            exporters:
                - chronicle/chronicle_w_labels

Envía eventos de Windows y syslog al reenvío de Google SecOps

Configura estos parámetros en la muestra:

Configuración de ejemplo

receivers:
tcplog:
    listen_address: "0.0.0.0:54525"
    windowseventlog/source0__application:
        attributes:
            log_type: windows_event.application
        channel: application
        max_reads: 100
        poll_interval: 1s
        raw: true
        start_at: end
    windowseventlog/source0__security:
        attributes:
            log_type: windows_event.security
        channel: security
        max_reads: 100
        poll_interval: 1s
        raw: true
        start_at: end
    windowseventlog/source0__system:
        attributes:
            log_type: windows_event.system
        channel: system
        max_reads: 100
        poll_interval: 1s
        raw: true
        start_at: end
exporters:
    chronicleforwarder/forwarder:
        export_type: syslog
        raw_log_field: body
        syslog:
            endpoint: 127.0.0.1:10514
            transport: udp
service:
    pipelines:
        logs/source0__forwarder-0:
            receivers:
                - windowseventlog/source0__system
                - windowseventlog/source0__application
                - windowseventlog/source0__security
            exporters:
                - chronicleforwarder/forwarder
        logs/source1__forwarder-0:
            receivers:
                - tcplog
            exporters:
                - chronicleforwarder/forwarder

Envía registros del sistema directamente a Google SecOps

Configura estos parámetros en la muestra:

Configuración de ejemplo

receivers:
  tcplog:
    listen_address: "0.0.0.0:54525"

exporters:
    chronicle/chronicle_w_labels:
        compression: gzip
        creds: '{ json blob for creds }'
        customer_id: <customer_id>
        endpoint: malachiteingestion-pa.googleapis.com
        ingestion_labels:
            env: dev
        log_type: <applicable_log_type>
        namespace: testNamespace
        raw_log_field: body
service:
    pipelines:
        logs/source0__chronicle_w_labels-0:
            receivers:
                - tcplog
            exporters:
                - chronicle/chronicle_w_labels

Recopila eventos de Windows de forma remota y envíalos directamente a Google SecOps

Configura estos parámetros en la muestra:

  • windowseventlogreceiver
    • username
    • password
    • server
  • chronicleexporter
    • namespace
    • ingestion_labels
    • log_type
    • customer_id
    • creds

Configuración de ejemplo

receivers:
    windowseventlog/system:
        channel: system
        max_reads: 100
        start_at: end
        poll_interval: 10s
        raw: true
        remote:
            username: "username"
            password: "password"
            server: "remote-server"
    windowseventlog/application:
        channel: application
        max_reads: 100
        start_at: end
        poll_interval: 10s
        raw: true
        remote:
            username: "username"
            password: "password"
            server: "server-ip"
    windowseventlog/security:
        channel: security
        max_reads: 100
        start_at: end
        poll_interval: 10s
        raw: true
        remote:
            username: "username"
            password: "password"
            server: "server-ip"
exporters:
    chronicle/chronicle_w_labels:
        compression: gzip
        creds: '{ json blob for creds }'
        customer_id: <customer_id>
        endpoint: malachiteingestion-pa.googleapis.com
        ingestion_labels:
            env: dev
        log_type: WINEVTLOG
        namespace: testNamespace
        raw_log_field: body
service:
    pipelines:
        logs/source0__chronicle_w_labels-0:
            receivers:
                - windowseventlog/system
                - windowseventlog/application
                - windowseventlog/security
            exporters:
                - chronicle/chronicle_w_labels

Envía datos a Cloud Logging

Configura el parámetro credentials_file en la muestra.

Configuración de ejemplo

exporters:
  googlecloud:
    credentials_file: /opt/observiq-otel-collector/credentials.json

Consultar una base de datos SQL y enviar los resultados a Google SecOps

Configura estos parámetros en la muestra:

Configuración de ejemplo

receivers:
  sqlquery/source0:
    datasource: host=localhost port=5432 user=postgres password=s3cr3t sslmode=disable
    driver: postgres
    queries:
      - logs:
          - body_column: log_body
        sql: select * from my_logs where log_id > $$1
        tracking_column: log_id
        tracking_start_value: "10000"
processors:
  transform/source0_processor0__logs:
    error_mode: ignore
    log_statements:
      - context: log
        statements:
          - set(attributes["chronicle_log_type"], "POSTGRESQL") where true
exporters:
  chronicle/chronicle_sql:
    compression: gzip
    creds: '{
  "type": "service_account",
  "project_id": "malachite-projectname",
  "private_key_id": "abcdefghijklmnopqrstuvwxyz123456789",
  "private_key": "-----BEGIN PRIVATE KEY-----abcdefg-----END PRIVATE KEY-----\n",
  "client_email": "account@malachite-projectname.iam.gserviceaccount.com",
  "client_id": "123456789123456789",
  "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/account%40malachite-projectname.iam.gserviceaccount.com",
  "universe_domain": "googleapis.com"
}' 
    customer_id: customer_id
    endpoint: malachiteingestion-pa.googleapis.com
    log_type: POSTGRESQL
    namespace: null
    raw_log_field: body
    retry_on_failure:
      enabled: false
    sending_queue:
      enabled: false
service:
  pipelines:
    logs/source0_chronicle_sql-0:
      receivers:
        - sqlquery/source0
      processors:
        - transform/source0_processor0__logs
      exporters:
        - chronicle/chronicle_sql

Descarta los registros que coinciden con una expresión regular

Puedes configurar el recopilador para que descarte los registros que coincidan con una expresión regular. Esto es útil para filtrar los registros no deseados, como los errores conocidos o los mensajes de depuración.

Para descartar los registros que coincidan con una expresión regular, agrega un procesador de tipo filter/drop-matching-logs-to-Chronicle a tu configuración. Este procesador usa la función IsMatch para evaluar el cuerpo del registro en función de la expresión regular. Si la función devuelve true, se descarta el registro.

En el siguiente ejemplo de configuración, se descartan los registros que contienen las cadenas <EventID>10</EventID> o <EventID>4799</EventID> en el cuerpo del registro.

Puedes personalizar la expresión regular para que coincida con cualquier patrón que necesites. La función IsMatch usa la sintaxis de expresión regular RE2.

Configuración de ejemplo

processors:
    filter/drop-matching-logs-to-Chronicle:
        error_mode: ignore
        logs:
            log_record:
                - (IsMatch(body, "<EventID>10</EventID>")) or (IsMatch(body, "<EventID>4799</EventID>"))

En el siguiente ejemplo, se agrega el procesador a la canalización en la misma configuración:

service:
  pipelines:
    logs/winevtlog:
      receivers: 
        - windowseventlog/security
        - windowseventlog/application
        - windowseventlog/system
      processors: 
      - filter/drop-matching-logs-to-Chronicle # Add this line
      - batch
      exporters: [chronicle/winevtlog]

Operación y mantenimiento de BindPlane

En esta sección, se describen las acciones de operación y mantenimiento de rutina.

Verifica una configuración de OTel

Para obtener información sobre cómo verificar la configuración de OTel de Bindplane, consulta OTelBin.

Actualizaciones de lanzamientos de recopiladores

BindPlane puede sondear bindplane-otel-collector/releases para detectar nuevas versiones del recopilador. Esta función es opcional.

Puedes inhabilitar la sondeo de GitHub configurando agentVersions.syncInterval como 0 en tu configuración de Bindplane:

agentVersions:
syncInterval: 0

Copia de seguridad y recuperación ante desastres

Para obtener información sobre la copia de seguridad y la recuperación ante desastres con BindPlane, consulta Recursos de BindPlane.

Copia de seguridad y recuperación ante desastres de PostgreSQL

Para obtener información sobre la copia de seguridad y la recuperación ante desastres de PostgreSQL con Bindplane, consulta la documentación de PostgreSQL.

Copia de seguridad y recuperación ante desastres de BBolt

Para obtener información sobre la copia de seguridad y la recuperación ante desastres de BBolt (obsoleto) con BindPlane, consulta la documentación de BBolt Store.

Resiliencia y reintento

De forma predeterminada, se habilita el reintento en todos los destinos que lo admiten. De forma predeterminada, las solicitudes que fallaron se reintentan después de cinco segundos y se retiran progresivamente hasta por 30 segundos. Después de cinco minutos, las solicitudes se quitan de forma permanente.

Para obtener más información, consulta Resistencia del recopilador.

Cómo reducir el volumen de registros con el filtro de gravedad

Para obtener información sobre cómo reducir el volumen de registros, consulta Reduce el volumen de registros con el filtro de gravedad.

Integraciones de Bindplane con agentes de terceros

Si bien BindPlane es más potente cuando usas el agente de BindPlane para la recopilación en el borde, en la mayoría de los casos, BindPlane puede permanecer dentro de tu infraestructura existente. Por ejemplo, si ya usas Fluent Bit o Splunk Universal Forwarders, puedes seguir haciéndolo.

Integración de BindPlane con Splunk

Para obtener información sobre Splunk con BindPlane, consulta los siguientes recursos:

Integraciones de Bindplane con otros agentes externos

Para obtener información sobre las integraciones de Bindplane con agentes de terceros, consulta Cómo conectar otros recopiladores de OpenTelemetry con la extensión de OpAMP.

Supervisión silenciosa del host

Para obtener información sobre el uso de Bindplane para la supervisión de hosts silenciosos, consulta lo siguiente:

Actualiza Bindplane en Linux

Ejecutar el comando de instalación sin la marca --init al final es suficiente para actualizar Bindplane. Ejecuta este script en tu servidor de Bindplane para actualizar Bindplane. Para obtener más información, consulta Cómo actualizar, cambiar a una versión anterior o desinstalar Bindplane Server.

Supervisa Bindplane

Para obtener información sobre cómo supervisar BindPlane, consulta Supervisión de BindPlane.

Supervisión de Kubernetes

Para obtener información sobre la supervisión de Kubernetes en Bindplane, consulta Supervisión de Kubernetes.

Documentación de referencia adicional

Para obtener más información sobre Bindplane (antes conocido como observIQ), consulta los siguientes recursos:

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.