Logotipo de Zephyrnet

Ingerir registros de flujo de VPC en Splunk mediante Amazon Kinesis Data Firehose

Fecha:

En septiembre de 2017, durante la Splunk.conf anual, Splunk y AWS anunciaron conjuntamente Manguera de bomberos de datos de Amazon Kinesis integración para admitir Splunk Enterprise y Splunk Cloud como destino de entrega. Esta integración nativa entre Splunk Enterprise, Splunk Cloud y Kinesis Data Firehose está diseñada para que la configuración de ingesta de datos de AWS sea perfecta, al tiempo que ofrece un mecanismo de entrega seguro y tolerante a fallas. Queremos permitirle monitorear y analizar datos de máquinas de cualquier fuente y usarlos para brindar inteligencia operativa y optimizar la TI, la seguridad y el rendimiento comercial.

Con Kinesis Data Firehose, puede utilizar una solución de transmisión de datos totalmente administrada, confiable y escalable para Splunk. En septiembre de 2022, AWS anunció un nuevo Nube privada virtual de Amazon (Amazon VPC) que le permite crear registros de flujo de VPC para enviar los datos de registro de flujo directamente a Kinesis Data Firehose como destino. Anteriormente, podía enviar registros de flujo de VPC a Registros de Amazon CloudWatch or Servicio de almacenamiento simple de Amazon (Amazon S3) antes de que otras herramientas de AWS o de socios lo ingirieran. En esta publicación, le mostramos cómo utilizar esta función para configurar registros de flujo de VPC para la ingesta en Splunk mediante Kinesis Data Firehose.

Resumen de la solución

Implementamos la siguiente arquitectura para ingerir datos en Splunk.

Creamos un registro de flujo de VPC en una VPC existente para enviar los datos del registro de flujo a un flujo de entrega de Kinesis Data Firehose. Este flujo de entrega tiene un AWS Lambda función habilitada para la transformación de datos y tiene configuraciones de destino para apuntar al punto final de Splunk junto con un token de recopilador de eventos HTTP (HEC).

Requisitos previos

Antes de comenzar, asegúrese de tener los siguientes requisitos previos:

  • Cuenta de AWS – Si no tiene una cuenta de AWS, puede crear una. Para más información, consulte la Configuración para Amazon Kinesis Data Firehose.
  • Complemento Splunk AWS – Asegúrese de instalar la aplicación Splunk AWS Add-on desde base de datos en su implementación de Splunk. Esta aplicación proporciona los tipos de fuentes y los tipos de eventos requeridos que se asignan a los datos de la máquina de AWS.
  • ficha HEC – En su implementación de Splunk, configure un token HEC con el tipo de fuente aws:cloudwatchlogs:vpcflow.

Crear la función Lambda de transformación

La integración de registros de flujo de VPC con Kinesis Data Firehose requiere una función Lambda para transformar los registros de flujo. Los datos que los registros de flujo de VPC envían al flujo de entrega se codifican como registros JSON. Sin embargo, Splunk espera esto como datos de registro de flujo sin procesar. Por lo tanto, cuando crea el flujo de entrega, habilita la transformación de datos y configura una función de Lambda para transformar los datos de registro de flujo a formato sin formato. Kinesis Data Firehose luego envía los datos en formato sin formato a Splunk.

Puede implementar esta función Lambda de transformación como una aplicación sin servidor desde el repositorio de aplicaciones sin servidor de Lambda en la consola de Lambda. El nombre de esta aplicación es splunk-firehose-flowlogs-processor.

Una vez implementada, puede ver una función de Lambda y una Gestión de identidades y accesos de AWS (IAM) rol que se implementa en la consola. Tenga en cuenta el ID físico de la función Lambda; lo usa cuando crea el flujo de entrega de Firehose en el siguiente paso.

Crear un flujo de entrega de Kinesis Data Firehose

En este paso, crea un flujo de entrega de Kinesis Data Firehose para recibir los datos de registro de flujo de VPC y entregar esos datos a Splunk.

  1. En la consola de Kinesis Data Firehose, cree un nuevo flujo de entrega.
  2. Fuente, escoger PUT directa.
  3. Destino, escoger Splunk.
  4. Nombre del flujo de entrega, ingrese un nombre (por ejemplo, VPCtoSplunkStream).
  5. En Transformar registros sección, para Transformación de datos, seleccione implante.
  6. Función AWS Lambda, escoger Explorar.
  7. Seleccione la función que creó anteriormente buscando la identificación física.
  8. Elige Elige.
  9. En Configuración de destino sección, para Extremo de clúster de Splunk, ingrese su punto final. Si está utilizando un punto final de Splunk Cloud, consulte Configure Amazon Kinesis Firehose para enviar datos a la plataforma Splunk para diferentes valores de punto final de clúster de Splunk.
  10. Tipo de punto final Splunk, seleccione Punto final sin procesar.
  11. token de autenticación, ingrese el valor de su Splunk HEC que creó como requisito previo.
  12. En Configuración de copia de seguridad sección, para Copia de seguridad del registro de origen en Amazon S3, seleccione Solo eventos fallidos por lo que solo guarda los datos que no se ingieren en Splunk.
  13. Cubo de copia de seguridad de S3, ingrese la ruta a un depósito S3.
  14. Complete la creación de su flujo de entrega.

El proceso de creación puede tardar unos minutos en completarse.

Crear un registro de flujo de VPC

En este paso final, crea un registro de flujo de VPC con Kinesis Data Firehose como tipo de destino.

  1. En la consola de Amazon VPC, elija Sus VPC.
  2. Seleccione la VPC para la que desea crear el registro de flujo.
  3. En Acciones menú, seleccione Crear registro de flujo.
  4. Proporcione la configuración necesaria para Filtrar:
    1. Si desea filtrar los registros de flujo, seleccione Aceptar tráfico or Rechazar tráfico.
    2. Seleccione Todos si necesita toda la información enviada a Splunk.
  5. Intervalo máximo de agregación, seleccione un intervalo adecuado para su caso de uso. Seleccione la configuración mínima de intervalo de 1 minuto si necesita que los datos del registro de flujo estén disponibles para el análisis casi en tiempo real en Splunk.
  6. Destino, seleccione Enviar a Kinesis Firehose en la misma cuenta si el flujo de entrega está configurado en la misma cuenta donde crea los registros de flujo de VPC. Si desea enviar los datos a una cuenta diferente, consulte Publicar registros de flujo en Kinesis Data Firehose.
  7. Formato de registro de registro, si lo dejas en Formato predeterminado de AWS, los registros de flujo se envían como formato de la versión 2. Como alternativa, puede especificar qué campos necesita capturar y enviar a Splunk. Para obtener más información sobre el formato de registro y los campos disponibles, consulte Registros de registro de flujo.
  8. Revise todos los parámetros y cree el registro de flujo. En unos minutos, debería poder ver los datos en Splunk.
  9. Abra su consola de Splunk y navegue hasta el Buscar pestaña de la aplicación Búsqueda e informes.
  10. Ejecute la siguiente consulta de SPL para ver ejemplos de registros de flujo de VPC:
    index= sourcetype="aws:cloudwatchlogs:vpcflow"

Limpiar

Para evitar incurrir en cargos futuros, elimine los recursos que creó en el siguiente orden:

  1. Elimine el registro de flujo de VPC.
  2. Elimine el flujo de entrega de Kinesis Data Firehose.
  3. Elimine la aplicación sin servidor para eliminar la función Lambda de transformación.
  4. Si creó una nueva VPC y nuevos recursos en la VPC, elimine los recursos y la VPC.

Conclusión

Puede utilizar los datos de registro de flujo de VPC en varias soluciones de Splunk, como la Aplicación Splunk para paneles de seguridad de AWS para análisis de tráfico o Elementos básicos de seguridad de Splunk, que utiliza los datos para proporcionar información más detallada sobre la postura de seguridad de su entorno de AWS. El uso de Kinesis Data Firehose para enviar datos de registro de flujo de VPC a Splunk brinda muchos beneficios. Este servicio administrado puede escalar automáticamente para satisfacer la demanda de datos y proporcionar análisis de datos casi en tiempo real. Pruebe esta nueva forma rápida y sencilla de enviar sus registros de flujo de VPC a Splunk Enterprise o Splunk Cloud Platform mediante Kinesis Data Firehose.

Puede implementar esta solución hoy en su cuenta de AWS siguiendo Kinesis Data Firehose Laboratorio de día de inmersión para Splunk


Sobre los autores

Ranjit Kalidasan es Arquitecto de Soluciones Sénior en Amazon Web Services con sede en Boston, Massachusetts. Es un arquitecto de soluciones de socios que ayuda a los socios ISV de seguridad a crear y comercializar conjuntamente soluciones con AWS. Aporta más de 20 años de experiencia en tecnología de la información ayudando a clientes globales a implementar soluciones complejas para seguridad y análisis. Puedes conectarte con Ranjit en LinkedIn.

punto_img

Información más reciente

punto_img