View a markdown version of this page

Procesamiento de GuardDuty hallazgos con Amazon EventBridge - Amazon GuardDuty

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Procesamiento de GuardDuty hallazgos con Amazon EventBridge

GuardDuty publica (envía) automáticamente los hallazgos como eventos a Amazon EventBridge (anteriormente Amazon CloudWatch Events), un servicio de bus de eventos sin servidor. EventBridge ofrece un flujo de datos prácticamente en tiempo real desde aplicaciones y servicios a destinos como los temas, AWS Lambda funciones y transmisiones de Amazon Kinesis de Amazon Simple Notification Service (Amazon SNS). Para obtener más información, consulte la Guía del EventBridge usuario de Amazon.

EventBridge permite la supervisión y el procesamiento automatizados de GuardDuty los hallazgos mediante la recepción de eventos. EventBridge recibe eventos tanto para los hallazgos recién generados como para los hallazgos agregados, donde las ocurrencias posteriores de un hallazgo existente se combinan con el original. A cada GuardDuty hallazgo se le asigna un identificador de búsqueda y GuardDuty crea un EventBridge evento para cada hallazgo con un identificador de hallazgo único. Para obtener información sobre cómo funciona la agregación GuardDuty, consulteGuardDuty buscar la agregación.

Además de la supervisión y el procesamiento automatizados, el uso de EventBridge permite la retención a largo plazo de los datos de sus hallazgos. GuardDuty almacena los hallazgos durante 90 días. Con EventBridge, puede enviar los datos de los hallazgos a su plataforma de almacenamiento preferida y almacenar los datos durante el tiempo que desee. Para conservar los hallazgos durante más tiempo, GuardDuty apoyaExportar los resultados generados a Amazon S3.

Comprender la frecuencia EventBridge de las notificaciones en GuardDuty

En esta sección se explica la frecuencia con la que recibe las notificaciones de búsqueda EventBridge y cómo actualizar la frecuencia para que se produzcan búsquedas posteriores.

Notificaciones de resultados recién generados con un identificador de resultado único

GuardDuty envía estas notificaciones prácticamente en tiempo real cuando genera un hallazgo con un identificador de búsqueda único. La notificación incluye todas las apariciones posteriores de este identificador de búsqueda durante el proceso de generación de la notificación.

La frecuencia de notificación de los resultados recién generados es casi en tiempo real. De forma predeterminada, no se puede modificar esta frecuencia.

Notificaciones de casos de resultados subsiguientes

GuardDuty agrupa en un solo evento todas las ocurrencias posteriores de un tipo de hallazgo en particular que tengan lugar dentro de los intervalos de 6 horas. Solo una cuenta de administrador puede actualizar la frecuencia de las EventBridge notificaciones para las búsquedas posteriores. Una cuenta de miembro no puede actualizar esta frecuencia para su propia cuenta. Por ejemplo, si la cuenta de GuardDuty administrador delegado actualiza la frecuencia a una hora, todas las cuentas de los miembros también tendrán una frecuencia de notificación de una hora sobre las incidencias de búsqueda posteriores a las que se envíen EventBridge. Para obtener más información, consulte Varias cuentas en Amazon GuardDuty.

Como cuenta de administrador, puede personalizar la frecuencia predeterminada de las notificaciones sobre las incidencias de resultados posteriores. Los valores posibles son 15 minutos, una hora o seis horas, que es el valor predeterminado. Para obtener información acerca de la configuración de la frecuencia de estas notificaciones, consulte Paso 5: Establecer la frecuencia de exportación de los resultados activos actualizados.

Para obtener más información sobre cómo la cuenta de administrador recibe EventBridge notificaciones de cuentas de miembros, consulteEventBridge regla para entornos de cuentas múltiples.

Configuración de un tema y un punto de conexión de Amazon SNS (correo electrónico, Slack y Amazon Chime)

Amazon Simple Notification Service (Amazon SNS) es un servicio totalmente administrado que proporciona la entrega de mensajes de los publicadores a los suscriptores. Los publicadores se comunican de forma asíncrona con los suscriptores mediante el envío mensajes a un tema. Un tema es un punto de acceso lógico y un canal de comunicación que permite agrupar varios puntos finales AWS Lambda, como Amazon Simple Queue Service (Amazon SQS) y una dirección de HTTP/S correo electrónico.

nota

Puede añadir un tema de Amazon SNS a su regla de EventBridge eventos preferida durante la creación de la regla o después de crearla.

Crear un tema de Amazon SNS

Para empezar, antes se debe configurar un tema en Amazon SNS y agregar un punto de conexión. Para crear un tema, siga los pasos indicados en Paso 1: Crear un tema en la Guía para desarrolladores de Amazon Simple Notification Service. Después de crear el tema, copie el ARN del tema en el portapeles. Utilizará este ARN del tema para continuar con una de las configuraciones preferidas.

Elija el método que prefiera para establecer a dónde quiere enviar los datos de GuardDuty búsqueda.

Email setup

Para configurar un punto de conexión de correo electrónico

Después de Create an Amazon SNS topic, el siguiente paso es crear una suscripción a este tema. Siga los pasos indicados en Paso2: Creación de una suscripción a un tema de Amazon SNS en la Guía para desarrolladores de Amazon Simple Notification Service.

  1. Para el ARN del tema, utilice el ARN del tema creado en el paso Create an Amazon SNS topic. El ARN de tema tiene un aspecto similar al siguiente:

    arn:aws:sns:us-east-2:123456789012:your_topic
  2. En Protocol, seleccione Email.

  3. En Punto de conexión, escriba la dirección de correo electrónico donde desee que se reciban las notificaciones de Amazon SNS.

    Después de creada la suscripción, tendrá que confirmarla a través del cliente de correo electrónico.

Slack setup

Configuración de un Amazon Q Developer en el cliente de aplicaciones de chat - Slack

Después de Create an Amazon SNS topic, el siguiente paso es configurar el cliente para Slack.

Siga los pasos en Tutorial: Primeros pasos con Slack en la Guía del administrador de aplicaciones de chat de Amazon Q Developer.

Chime setup

Configuración de un Amazon Q Developer en el cliente de aplicaciones de chat - Chime

Después de Create an Amazon SNS topic, el siguiente paso es configurar Amazon Q Developer para Chime.

Siga los pasos en Tutorial: Primeros pasos con Amazon Chime en la Guía del administrador de aplicaciones de chat de Amazon Q Developer.

¿Utilizas Amazon EventBridge para los GuardDuty hallazgos?

Con EventBridge, puede crear reglas para especificar los eventos que desea supervisar. Estas reglas también especifican los servicios y aplicaciones de destino que pueden realizar acciones automatizadas si se producen estos eventos. Un objetivo es un destino (un recurso o un punto final) EventBridge al que se envía un evento cuando este coincide con el patrón de eventos definido en la regla. Cada evento es un objeto JSON que se ajusta al EventBridge esquema de los AWS eventos y contiene una representación JSON de un hallazgo. Puede personalizar la regla para que envíe solo los eventos que cumplan determinados criterios. Para obtener más información, consulte [tema sobre el esquema de JSON]. Como los datos de los hallazgos están estructurados como un EventBridge evento, puede supervisar, procesar y actuar en función de los hallazgos mediante el uso de otras aplicaciones, servicios y herramientas.

Para recibir notificaciones sobre GuardDuty los hallazgos basados en eventos, debe crear una EventBridge regla y un objetivo para GuardDuty. Esta regla permite EventBridge enviar notificaciones sobre los hallazgos que se GuardDuty generan al objetivo especificado en la regla.

nota

EventBridge y CloudWatch los eventos son el mismo servicio y API subyacentes. Sin embargo, EventBridge incluye funciones adicionales que le ayudan a recibir eventos de aplicaciones de software como servicio (SaaS) y de sus propias aplicaciones. Como el servicio subyacente y la API son los mismos, el esquema de eventos para GuardDuty los hallazgos también es el mismo.

Cómo funcionan los hallazgos archivados y no archivados en GuardDuty EventBridge

En el caso de las conclusiones que se archivan manualmente, las primeras apariciones de estas conclusiones y todas las posteriores (que se generan una vez finalizado el archivado) se envían EventBridge según una frecuencia de notificación específica. Para obtener más información, consulte Comprender la frecuencia EventBridge de las notificaciones en GuardDuty.

En el caso de las conclusiones con las que se archivan automáticamenteReglas de supresión, no se envían a las apariciones iniciales y posteriores de estas conclusiones (generadas una vez finalizado el archivado). EventBridge Puede ver estos hallazgos archivados automáticamente en la consola. GuardDuty

Esquema de evento

Un patrón de eventos define los datos que se EventBridge utilizan para determinar si se debe enviar el evento al objetivo. El EventBridge evento para GuardDuty tiene el siguiente formato:

{ "version": "0", "id": "cd2d702e-ab31-411b-9344-793ce56b1bc7", "detail-type": "GuardDuty Finding", "source": "aws.guardduty", "account": "111122223333", "time": "1970-01-01T00:00:00Z", "region": "us-east-1", "resources": [], "detail": {GUARDDUTY_FINDING_JSON_OBJECT} }

El valor de detail devuelve los detalles en formato JSON de un solo resultado como objeto, en lugar de devolver toda la sintaxis de la respuesta resultados, que puede respaldar varios resultados dentro de una matriz.

Para obtener una lista completa de todos los parámetros incluidos en élGUARDDUTY_FINDING_JSON_OBJECT, consulte GetFindings. El parámetro id que aparece en la GUARDDUTY_FINDING_JSON_OBJECT es el ID de resultado descrito anteriormente.

Crear una EventBridge regla para los GuardDuty hallazgos

Los procedimientos siguientes explican cómo usar la EventBridge consola de Amazon y el AWS Command Line Interface (AWS CLI) para crear una EventBridge regla para GuardDuty los hallazgos. La regla detecta EventBridge los eventos que utilizan el esquema y el patrón de eventos para GuardDuty los hallazgos y envía esos eventos a una AWS Lambda función para su procesamiento.

AWS Lambda es un servicio informático que puedes usar para ejecutar código sin aprovisionar ni administrar servidores. Empaquetas el código y lo subes AWS Lambda como una función de Lambda. AWS Lambda luego ejecuta la función cuando se invoca la función. Una función se puede invocar manualmente, automáticamente en respuesta a eventos o en respuesta a solicitudes de aplicaciones o servicios. Para obtener más información acerca de cómo crear e invocar funciones de Lambda, consulte la Guía para desarrolladores de AWS Lambda.

Elija el método que prefiera para crear una EventBridge regla que envíe su GuardDuty hallazgo a un objetivo.

Console

Siga estos pasos para usar la EventBridge consola de Amazon y crear una regla que envíe automáticamente todos los eventos de GuardDuty búsqueda a una función de Lambda para su procesamiento. La regla usa la configuración predeterminada para las reglas que se ejecutan cuando se reciben eventos específicos. Para obtener más información sobre la configuración de las reglas o para aprender a crear una regla que utilice ajustes personalizados, consulte la sección Cómo crear reglas que reaccionen a los eventos en la Guía del EventBridge usuario de Amazon.

Antes de crear la regla, cree la función de Lambda que quiere que la regla utilice como destino. Cuando cree la regla, tendrá que especificar esta función como destino. Su destino también puede ser el tema de SNS que creó anteriormente. Para obtener más información, consulte Configuración de un tema y un punto de conexión de Amazon SNS (correo electrónico, Slack y Amazon Chime).

Crear una regla para un evento con la consola
  1. Inicia sesión en Consola de administración de AWS y abre la EventBridge consola de Amazon en https://console.aws.amazon.com/events/.

  2. En el panel de navegación, en Buses, elija Reglas.

  3. En la sección Reglas, elija Crear regla.

  4. En la página Definir detalle de la regla, haga lo siguiente:

    1. En Nombre, ingrese el nombre de la regla.

    2. (Opcional) En Descripción, ingrese una breve descripción de la regla de autorización.

    3. En el caso del Bus de eventos, asegúrese de que esté seleccionada la opción predeterminada y que esté activada la opción Habilitar la regla en el bus de eventos seleccionado.

    4. En Tipo de regla, elija Regla con un patrón de evento.

    5. Cuando haya terminado, elija Siguiente.

  5. En la página Crear patrón de evento, realice una de las siguientes acciones:

    1. En Fuente de eventos, elige AWS eventos o eventos de EventBridge socios.

    2. (Opcional) En el caso de un evento de muestra, consulta un ejemplo de evento de búsqueda GuardDuty para saber qué puede contener un evento. Para ello, seleccione AWS eventos. A continuación, en Eventos de muestra, elige GuardDuty Buscar.

    3. Opción 1: usar un formulario de patrón, una plantilla que EventBridge proporciona

      En la sección Patrón de eventos, realice una de las siguientes acciones:

      1. En Método de creación, seleccione Usar forma de patrón.

      2. En Origen del evento, elija Servicios de AWS.

      3. En Servicio de AWS, elija GuardDuty.

      4. En Tipo de evento, elija GuardDuty Buscar.

      Cuando haya terminado, elija Siguiente.

    4. Opción 2: Uso de un patrón de eventos personalizado en JSON

      En la sección Patrón de eventos, realice una de las siguientes acciones:

      1. En Método de creación, elija Patrón personalizado (editor JSON).

      2. En el patrón de eventos, pegue el siguiente JSON personalizado para crear una alerta con los resultados medios, altos y críticos. Para obtener más información, consulte Niveles de gravedad de los resultados.

        { "source": [ "aws.guardduty" ], "detail-type": [ "GuardDuty Finding" ], "detail": { "severity": [ 4, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 5, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 6, 6.0, 6.1, 6.2, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 6.9, 7, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.6, 7.7, 7.8, 7.9, 8, 8.0, 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7, 8.8, 8.9, 9, 9.0, 9.1, 9.2, 9.3, 9.4, 9.5, 9.6, 9.7, 9.8, 9.9, 10, 10.0 ] } }

      Cuando haya terminado, elija Siguiente.

  6. Opción A: Seleccionar Servicio de AWS - AWS Lambda como objetivo

    En la página Seleccionar destino(s), haga lo siguiente:

    1. Para los tipos de destino, seleccione Servicio de AWS.

    2. En Seleccione destino, elija Función de Lambda. Luego, en Función, elija la función de Lambda a la que quiera enviar los eventos de resultados.

    3. version/aliasEn Configurar, introduzca la configuración de versión o alias para la función Lambda de destino.

    4. (Opcional) En Configuración adicional, introduzca una configuración personalizada para especificar qué datos de eventos desea enviar a la función de Lambda. También puede especificar cómo gestionar los eventos que no se envíen correctamente a la función.

    5. Cuando haya terminado, elija Siguiente.

  7. Opción B: Selección del tema de SNS como destino

    En la página Seleccionar destino(s), haga lo siguiente:

    1. Para los tipos de destino, seleccione Servicio de AWS.

    2. Para Seleccione un destino, elija Tema de SNS. A continuación, en Ubicación de destino, seleccione la opción adecuada en función de la ubicación de destino. En la lista Tema, seleccione el nombre del tema de SNS que creó.

    3. Amplíe Configuración adicional. En Configurar entrada de destino, seleccione Transformador de entrada).

    4. Elija Configurar transformador de entrada.

    5. Copie el siguiente código en el campo Ruta de entrada de la sección Transformador de entrada de destino.

      { "severity": "$.detail.severity", "Account_ID": "$.detail.accountId", "Finding_ID": "$.detail.id", "Finding_Type": "$.detail.type", "region": "$.region", "Finding_Description": "$.detail.description" }
    6. Copie el código siguiente y péguelo en el campo Plantilla para dar formato al correo electrónico.

      {"message":"You have a severity <severity> GuardDuty finding type <Finding_Type> in the <region> Region.\n\nFinding Description:\n<Finding_Description>.\n\nFor more details open the GuardDuty console at https://console.aws.amazon.com/guardduty/home?region=<region>#/findings?search=id%3D<Finding_ID>"}
      importante

      Proporcione la plantilla como un objeto JSON de una sola línea con el mensaje envuelto en una clavemessage, como la que se muestra en el ejemplo anterior, y utilícela \n para agregar saltos de línea. GuardDuty campos de búsqueda como los que description pueden contener caracteres de control sin escapes, incluidas las líneas nuevas. Si proporciona la plantilla como una cadena entre comillas simples o coloca un campo de este tipo en una plantilla de varias líneas (una que utilice cadenas entre comillas separadas en líneas distintas), el valor sustituido puede generar un JSON no válido, lo que EventBridge provocará que se rechace el evento y no se entregue la notificación.

  8. En la página Configurar etiquetas, si lo desea, introduzca una o más etiquetas para asignarlas a la regla. A continuación, elija Siguiente.

  9. En la página Revisar y crear, revise cada configuración y compruebe que es correcta.

    Para cambiar una configuración, elija Editar en la sección que contiene la configuración y, a continuación, escriba la configuración adecuada. También puede usar las pestañas de navegación para ir a la página que contiene una configuración.

  10. Cuando termine de verificar la configuración, elija Crear regla.

API

El procedimiento siguiente muestra cómo usar los AWS CLI comandos para crear una EventBridge regla y un destino para GuardDuty. En concreto, el procedimiento muestra cómo crear una regla que permita EventBridge enviar los eventos de todos los hallazgos que se GuardDuty generen a una AWS Lambda función como objetivo de la regla.

nota

En este ejemplo, utilizamos una función Lambda como objetivo para la regla que se activa EventBridge. También puedes configurar otros AWS recursos como objetivos para EventBridge activarlos. GuardDuty y EventBridge admite los siguientes tipos de objetivos: instancias de Amazon EC2, transmisiones de Amazon Kinesis, tareas de Amazon ECS, máquinas de AWS Step Functions estado, run comandos y objetivos integrados. Para obtener más información, consulte la referencia PutTargets de la EventBridge API de Amazon.

Creación de una regla y un destino
  1. Para crear una regla que permita EventBridge enviar eventos para todos los hallazgos que se GuardDuty generen, ejecute el siguiente comando de la EventBridge CLI.

    aws events put-rule --name your-rule-name --event-pattern "{\"source\":[\"aws.guardduty\"]}"

    Puede personalizar aún más la regla para que indique EventBridge que se envíen eventos solo para un subconjunto de los GuardDuty-generated hallazgos. Este subconjunto se basa en los atributos de resultado o atributos especificados en la regla. Por ejemplo, utilice el siguiente comando de la CLI para crear una regla que EventBridge permita enviar únicamente eventos para los GuardDuty hallazgos cuya gravedad sea de 5 u 8:

    aws events put-rule --name your-rule-name --event-pattern "{\"source\":[\"aws.guardduty\"],\"detail-type\":[\"GuardDuty Finding\"],\"detail\":{\"severity\":[5,8]}}"

    Para ello, puede usar cualquiera de los valores de propiedad que están disponibles en el JSON para GuardDuty los hallazgos.

  2. Para adjuntar una función de Lambda como objetivo para la regla que creó en el paso 1, ejecute el siguiente comando de la CloudWatch CLI.

    aws events put-targets --rule your-target-name --targets Id=1,Arn=arn:aws:lambda:us-east-1:111122223333:function:your_function

    Asegúrese de reemplazar your-target-name el comando anterior por su función Lambda real para los GuardDuty eventos.

  3. Para agregar los permisos necesarios para invocar el destino, ejecute el siguiente comando de la CLI de Lambda.

    aws lambda add-permission --function-name your-target-name --statement-id 1 --action 'lambda:InvokeFunction' --principal events.amazonaws.com

    Asegúrate de reemplazarla your_function en el comando anterior por tu función Lambda real para los GuardDuty eventos.

EventBridge regla para entornos de GuardDuty cuentas múltiples

Al usar una cuenta de GuardDuty administrador delegado, puede ver los eventos generados en las cuentas de los miembros y tomar medidas con otras aplicaciones y servicios. EventBridge las reglas de tu cuenta de administrador se activarán en función de las conclusiones aplicables de tus cuentas de miembro. Si configuras las notificaciones de búsqueda a través EventBridge de tu cuenta de administrador, recibirás notificaciones de los hallazgos tanto de tu cuenta como de las cuentas de los miembros. Por ejemplo, puedes utilizarlas EventBridge para enviar tipos específicos de hallazgos a una función de Lambda que procesa y envía los datos a tu sistema de gestión de incidentes y eventos de seguridad (SIEM).

Puedes identificar la cuenta de miembro en la que se originó el GuardDuty hallazgo mediante el accountId campo de los detalles JSON del hallazgo. Para crear una regla de eventos personalizada para cuentas de miembros específicas, cree una nueva regla y use la siguiente plantilla en Patrón de eventos. 123456789012Sustitúyala por la accountId de la cuenta de miembro para la que quieres activar el evento.

{ "source": [ "aws.guardduty" ], "detail-type": [ "GuardDuty Finding" ], "detail": { "accountId": [ "123456789012" ] } }
nota

En este ejemplo, se crea una regla que coincide con todos los resultados del identificador de cuenta especificado. Se pueden incluir varios ID de cuenta separándolos con comas, siguiendo la sintaxis JSON.