Creación de respuestas personalizadas a GuardDuty los hallazgos con Amazon CloudWatch Events - 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.

Creación de respuestas personalizadas a GuardDuty los hallazgos con Amazon CloudWatch Events

GuardDuty crea un evento para Amazon CloudWatch Events cuando se produce algún cambio en los resultados. Al buscar cambios que crearán un CloudWatch evento, se incluyen los hallazgos recién generados o los hallazgos agregados recientemente. Los eventos se emiten en la medida de lo posible.

A cada GuardDuty hallazgo se le asigna un identificador de hallazgo. GuardDuty crea un CloudWatch evento para cada hallazgo con un identificador de hallazgo único. Todas las ocurrencias posteriores de un resultado existente se agregarán al resultado original. Para obtener más información, consulte GuardDuty encontrar agregación.

nota

Si su cuenta es un administrador GuardDuty delegado, los CloudWatch eventos se publican en su cuenta y en la cuenta del miembro en la que se generó el hallazgo.

Al usar CloudWatch eventos con GuardDuty, puedes automatizar las tareas para ayudarte a responder a los problemas de seguridad revelados por GuardDuty los hallazgos.

Para recibir notificaciones sobre GuardDuty los hallazgos basados en CloudWatch eventos, debes crear una regla de CloudWatch eventos y un objetivo para ellos GuardDuty. Esta regla permite CloudWatch enviar notificaciones de los hallazgos que se GuardDuty generen al objetivo especificado en la regla. Para obtener más información, consulte Creación de una regla y un objetivo de CloudWatch eventos para GuardDuty (CLI).

CloudWatch Frecuencia de notificación de eventos para GuardDuty

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

GuardDuty envía una notificación basada en el CloudWatch evento en un plazo de 5 minutos a partir del hallazgo. Este evento (y esta notificación) también contiene todos los casos posteriores de este resultado que se producen en los primeros 5 minutos desde que se generó este resultado con un ID único.

nota

La frecuencia de las notificaciones sobre resultados recién generados es de 5 minutos de manera predeterminada. Esta frecuencia no se puede actualizar.

Notificaciones de casos de resultados subsiguientes

De forma predeterminada, para cada hallazgo con un identificador de hallazgo único, GuardDuty se agregan todas las apariciones posteriores de un tipo de hallazgo concreto que se produzcan dentro de los intervalos de 6 horas en un solo evento. GuardDuty a continuación, envía una notificación sobre las siguientes incidencias en función de este evento. De forma predeterminada, cada 6 horas GuardDuty envía notificaciones basadas en CloudWatch eventos cada 6 horas para las siguientes apariciones de los hallazgos existentes.

Solo una cuenta de administrador puede personalizar la frecuencia predeterminada de las notificaciones que se envían acerca de la posterior aparición de CloudWatch eventos. Los usuarios de las cuentas de miembro no pueden personalizar esta frecuencia. El valor de frecuencia establecido por la cuenta de administrador en su propia cuenta depende de la GuardDuty funcionalidad de todas las cuentas de sus miembros. Si un usuario de una cuenta de administrador establece este valor de frecuencia en 1 hora, todas las cuentas de los miembros también tendrán una frecuencia de 1 hora para recibir notificaciones sobre los siguientes hallazgos. Para obtener más información, consulte Administrar varias cuentas en Amazon GuardDuty.

nota

Como cuenta de administrador, puede personalizar la frecuencia predeterminada de las notificaciones sobre los siguientes casos de búsqueda. 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 para exportar los hallazgos activos actualizados.

Supervisión de los GuardDuty hallazgos archivados con Events CloudWatch

En el caso de las conclusiones archivadas manualmente, las apariciones iniciales y todas las posteriores (generadas una vez finalizado el archivado) se envían a CloudWatch Events según la frecuencia descrita anteriormente.

En el caso de las conclusiones archivadas automáticamente, las apariciones iniciales y todas las posteriores de estas conclusiones (generadas una vez finalizado el archivado) no se envían a Eventos. CloudWatch

CloudWatch formato de evento para GuardDuty

El CloudWatch 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} }
nota

El valor de detalle devuelve los detalles en formato JSON de un solo resultado como objeto, en lugar de devolver el valor “resultados”, que puede respaldar varios resultados dentro de una matriz.

Para obtener una lista completa de todos los parámetros incluidos en la GUARDDUTY_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 regla de CloudWatch eventos para notificarle los GuardDuty hallazgos (consola)

Puedes usar CloudWatch Events with GuardDuty para configurar alertas de búsqueda automatizadas enviando los eventos de GuardDuty búsqueda a un centro de mensajería para aumentar la visibilidad de GuardDuty los hallazgos. En este tema, se muestra cómo enviar alertas de hallazgos a correo electrónico, Slack o Amazon Chime. Para ello, configura un tema de SNS y, a continuación, lo conecta a CloudWatch una regla de eventos.

Configuración de un tema y un punto de conexión de Amazon SNS

Para empezar, antes debe configurar un tema en Amazon Simple Notification Service y agregar un punto de conexión. Para más información, consulte Introducción en la Guía para desarrolladores de Amazon Simple Notification Service.

Este procedimiento establece dónde desea enviar GuardDuty los datos de búsqueda. El tema de SNS se puede agregar a una regla de CloudWatch eventos durante o después de la creación de la regla de eventos.

Email setup
Creación de un tema de SNS
  1. Inicie sesión en la consola de Amazon SNS en https://console.aws.amazon.com/sns/v3/home.

  2. Seleccione Temas en el panel de navegación y después Crear un tema.

  3. En la sección Crear tema, elija Estándar. A continuación, introduzca un nombre para el tema, como GuardDuty_to_Email. Lo demás datos son opcionales.

  4. Elija Create Topic (Crear tema). Se abrirán los detalles del nuevo tema.

  5. En la sección «Suscripciones», elija Crear suscripción.

    1. En el menú Protocolo, seleccione Correo electrónico.

    2. En el campo Punto de enlace, agregue la dirección de correo electrónico en la que desea recibir las notificaciones.

      nota

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

    3. Elija Crear suscripción

  6. Busque el mensaje de suscripción en la bandeja de entrada y elija Confirmar suscripción.

Slack setup
Creación de un tema de SNS
  1. Inicie sesión en la consola de Amazon SNS en https://console.aws.amazon.com/sns/v3/home.

  2. Seleccione Temas en el panel de navegación y después Crear un tema.

  3. En la sección Crear tema, elija Estándar. A continuación, introduzca un nombre para el tema, como GuardDuty_to_Slack. Lo demás datos son opcionales. Elija Crear tema para finalizar.

Configuración de un cliente de AWS Chatbot
  1. Vaya a la consola de AWS Chatbot

  2. En el panel Clientes configurados, seleccione Configurar un nuevo cliente.

  3. Elija Slack y confirme mediante “Configurar”.

    nota

    Al elegir Slack, debe confirmar los permisos de AWS Chatbot para acceder a su canal. Para ello, seleccione “Permitir”.

  4. Seleccione Configurar un nuevo canal para abrir el panel de detalles de configuración.

    1. Escriba un nombre para el canal.

    2. Para el canal de Slack, elija el canal que quiera utilizar. Para utilizar un canal privado de Slack con AWS Chatbot, elija Canal privado.

    3. En Slack, copie el ID de canal del canal privado. Para ello, haga clic con el botón derecho en el nombre del canal y seleccione Copiar enlace.

    4. En la consola de administración de AWS, en la ventana de AWS Chatbot, pegue el ID que copió de Slack en el campo ID de canal privado.

    5. En Permisos, elija crear un rol de IAM mediante una plantilla, en caso de que aún no tenga uno.

    6. En plantillas de Política, elija Permisos de notificación. Esta es la plantilla de política de IAM para AWS Chatbot. Proporciona los permisos de lectura y lista necesarios para CloudWatch alarmas, eventos y registros, así como para temas de Amazon SNS.

    7. Elija la región en la que ha creado anteriormente su tema de SNS y, a continuación, seleccione el tema de Amazon SNS que ha creado para enviar notificaciones al canal de Slack.

  5. Seleccione Configure (Configurar).

Chime setup
Creación de un tema de SNS
  1. Inicie sesión en la consola de Amazon SNS en https://console.aws.amazon.com/sns/v3/home.

  2. Seleccione Temas en el panel de navegación y después Crear un tema.

  3. En la sección Crear tema, elija Estándar. A continuación, introduzca un nombre para el tema, como GuardDuty_to_Chime. Lo demás datos son opcionales. Elija Crear tema para finalizar.

Configuración de un cliente de AWS Chatbot
  1. Vaya a la consola de AWS Chatbot

  2. En el panel Clientes configurados, seleccione Configurar un nuevo cliente.

  3. Elija Chime y confirme mediante “Configurar”.

  4. En el panel Detalles de configuración, introduzca un nombre para el canal.

  5. En Chime, abra la sala de chat deseada

    1. Elija el icono de engranaje en la esquina superior derecha y elija Manage webhooks and bots (Administrar webhooks y bots).

    2. Seleccione Copiar URL para copiar la URL del webhook a su portapapeles.

  6. En la consola de administración de AWS, en la ventana de AWS Chatbot, pegue la URL que copió en el campo URL de webhook.

  7. En Permisos, elija crear un rol de IAM mediante una plantilla, en caso de que aún no tenga uno.

  8. En plantillas de Política, elija Permisos de notificación. Esta es la plantilla de política de IAM para AWS Chatbot. Proporciona los permisos de lectura y lista necesarios para CloudWatch alarmas, eventos y registros, así como para temas de Amazon SNS.

  9. Elija la región en la que ha creado anteriormente su tema de SNS y, a continuación, seleccione el tema de Amazon SNS que ha creado para enviar notificaciones a la sala de Chime.

  10. Seleccione Configure (Configurar).

Configure un CloudWatch evento para obtener información GuardDuty

  1. Abra la CloudWatch consola en https://console.aws.amazon.com/cloudwatch/.

  2. Seleccione Reglas en el panel de navegación y después Crear una regla.

  3. En el menú Nombre del servicio, elija GuardDuty.

  4. En el menú Tipo de evento, seleccione GuardDutyBuscar.

  5. En Vista previa del patrón de eventos, elija Editar.

  6. Pegue el siguiente código JSON en Vista previa del patrón de eventos y elija Guardar.

    { "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 ] } }
    nota

    El código anterior alertará de cualquier hallazgo de gravedad media o alta.

  7. En la sección Destinos, haga clic en Agregar destino.

  8. En el menú Seleccionar destinos, elija Tema de SNS.

  9. En Seleccionar un tema, elija el nombre del tema de SNS que creó en el paso 1.

  10. Configure la entrada para el evento.

    • Si está configurando las notificaciones para Chime o Slack, vaya al paso 11, el tipo de entrada predeterminado es Evento coincidente.

    • Si está configurando notificaciones de correo electrónico a través de SNS, siga los pasos que se indican a continuación para personalizar el mensaje que se envía a la bandeja de entrada:

    1. Expanda Configurar entrada y elija Transformador de entrada.

    2. Copie el código siguiente y péguelo en el campo Ruta de entrada .

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

      "AWS <Account_ID> has a severity <severity> GuardDuty finding type <Finding_Type> in the <region> region." "Finding Description:" "<Finding_description>. " "For more details open the GuardDuty console at https://console.aws.amazon.com/guardduty/home?region=<region>#/findings?search=id%3D<Finding_ID>"
  11. Haga clic en Configurar los detalles.

  12. En la página Configurar los detalles de la regla, escriba los valores que correspondan en los campos Nombre y Descripción de la regla y elija Crear una regla.

Creación de una regla y un objetivo de CloudWatch eventos para GuardDuty (CLI)

El siguiente procedimiento muestra cómo utilizar los AWS CLI comandos para crear una regla de CloudWatch eventos y un destino para ellos GuardDuty. En concreto, el procedimiento muestra cómo crear una regla que permita CloudWatch enviar eventos para todos los hallazgos que GuardDuty genere y añadir una AWS Lambda función como destino de la regla.

nota

Además de las funciones de Lambda, GuardDuty son CloudWatch compatibles con los siguientes tipos de objetivos: instancias de Amazon EC2, transmisiones de Amazon Kinesis, tareas de Amazon ECS, máquinas de estadoAWS Step Functions, comandos y objetivos integradosrun.

También puede crear una regla de CloudWatch eventos y un objetivo para ellos GuardDuty a través de la CloudWatch consola de eventos. Para obtener más información y pasos detallados, consulte Crear una regla de CloudWatch eventos que se active en un evento. En la sección Event Source (Origen de evento), seleccione GuardDuty para Service name (Nombre de servicio) y GuardDuty Finding para Event Type (Tipo de evento).

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

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

    importante

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

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

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

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

    AWS events put-targets --rule Test --targets Id=1,Arn=arn:aws:lambda:us-east-1:111122223333:function:<your_function>

    nota

    Asegúrese de reemplazar <your_function>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_function> --statement-id 1 --action 'lambda:InvokeFunction' --principal events.amazonaws.com

    nota

    Asegúrese de reemplazar <your_function>el comando anterior por su función Lambda real para los GuardDuty eventos.

    nota

    En el procedimiento anterior, utilizamos una función Lambda como objetivo de la regla que activa CloudWatch los eventos. También puede configurar otros AWS recursos como objetivos para activar CloudWatch eventos. Para obtener más información, consulte PutTargets.

CloudWatch Eventos para entornos GuardDuty con varias cuentas

Como GuardDuty administrador, las reglas de CloudWatch eventos de su cuenta se activarán en función de las conclusiones aplicables de sus cuentas de miembros. Esto significa que si configuras una notificación de localización a través de CloudWatch Eventos en tu cuenta de administrador, tal y como se detalla en la sección anterior, se te notificarán los hallazgos de gravedad alta y media generados por tus cuentas de miembro, además de por las tuyas propias.

Puedes identificar la cuenta de miembro en la que se originó el GuardDuty hallazgo con el accountId campo de detalles JSON del hallazgo.

Para empezar a escribir una regla de evento personalizada para una cuenta de miembro específica de su entorno en la consola, cree una nueva regla y pegue la siguiente plantilla en la vista previa del patrón de eventos mediante la agregación del ID de cuenta de la cuenta de miembro que desee que desencadene el evento.

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

Este ejemplo desencadenará cualquier resultado correspondiente al ID de cuenta que aparece en la lista. Se pueden agregar varios ID, separados por una coma según la sintaxis JSON.