Conexión de Microsoft Sentinel a Amazon Web Services para ingerir datos de registro del servicio AWS

Use los conectores de Amazon Web Services (AWS) para extraer los registros de servicio de AWS en Microsoft Sentinel. Estos conectores funcionan concediendo a Microsoft Sentinel acceso a los registros de recursos de AWS. La configuración del conector establece una relación de confianza entre Amazon Web Services y Microsoft Sentinel. Para ello, en AWS se crea un rol que concede a Microsoft Sentinel el permiso necesario para acceder a los registros de AWS.

Este conector está disponible en dos versiones: el conector heredado para la administración de CloudTrail y los registros de datos, y la nueva versión que puede ingerir registros de los siguientes servicios de AWS al extraerlos de un cubo S3 (los vínculos son a la documentación de AWS):

En esta pestaña se explica cómo configurar el conector de AWS S3. El proceso de configuración consta de dos partes: el lado de AWS y el lado de Microsoft Sentinel. El proceso de cada lado genera información usada por el otro lado. Esta autenticación bidireccional crea una comunicación segura.

Requisitos previos

  • Asegúrese de que los registros del servicio de AWS seleccionado usen el formato aceptado por Microsoft Sentinel:

    • Amazon VPC: archivo .csv en formato GZIP con encabezados; delimitador: espacio.
    • Amazon GuardDuty: formatos json-line y GZIP.
    • AWS CloudTrail: archivo .json en formato GZIP.
    • CloudWatch: archivo .csv en formato GZIP sin encabezado. Si necesita convertir los registros a este formato, puede usar esta función lambda de CloudWatch.
  • Debe tener permiso de escritura en el área de trabajo de Microsoft Sentinel.

  • Instale la solución de Amazon Web Services desde el Centro de contenido de Microsoft Sentinel. Para más información, consulte Descubra y administre el contenido listo para usar de Microsoft Sentinel.

Información general sobre la arquitectura

Este gráfico y el texto siguiente muestran cómo interactúan las partes de esta solución de conector.

Captura de pantalla de la arquitectura del conector A W S S 3.

  • Los servicios de AWS están configurados para enviar sus registros a cubos de almacenamiento S3 (Simple Storage Service).

  • El cubo S3 envía mensajes de notificación a la cola de mensajes de SQS (Simple Queue Service) cada vez que recibe nuevos registros.

  • El conector de AWS S3 de Microsoft Sentinel sondea la cola de SQS a intervalos regulares y frecuentes. Si hay un mensaje en la cola, contendrá la ruta de acceso a los archivos de registro.

  • El conector lee el mensaje con la ruta de acceso y, a continuación, captura los archivos del cubo S3.

  • Para conectarse a la cola de SQS y al cubo de S3, Microsoft Sentinel usa un proveedor de identidades web federado (Microsoft Entra ID) para autenticarse con AWS a través de OpenID Connect (OIDC) y asumiendo un rol de AWS IAM. El rol se configura con una directiva de permisos que le proporciona acceso a esos recursos.

Conectar el conector S3

  • En el entorno de AWS:

    • Configure los servicios de AWS para enviar registros a un cubo S3.

    • Cree una cola de Simple Queue Service (SQS) para proporcionar una notificación.

    • Cree un proveedor de identidades web para autenticar a los usuarios en AWS a través de OpenID Connect (OIDC).

    • Cree un rol asumido para conceder permisos a los usuarios autenticados por el proveedor de identidades web de OIDC para acceder a los recursos de AWS.

    • Adjunte las directivas de permisos IAM adecuadas para conceder al rol asumido acceso a los recursos adecuados (cubo de S3, SQS).

    Hemos puesto a disposición, en nuestro repositorio GitHub, un script que automatiza el lado de AWS de este proceso. Consulte las instrucciones para la configuración automática más adelante en este documento.

  • En Microsoft Sentinel:

Configuración automática

Para simplificar el proceso de incorporación, Microsoft Sentinel ha proporcionado un script de PowerShell para automatizar la configuración del lado AWS del conector: los recursos, las credenciales y los permisos necesarios de AWS.

El script realiza las siguientes acciones:

  • Crea un proveedor de identidades web de OIDC para autenticar a los usuarios de Microsoft Entra ID en AWS.

  • Crea un rol asumido por IAM con los permisos mínimos necesarios para conceder a usuarios autenticados por OIDC acceso a sus registros en un cubo de S3 y una cola de SQS determinados.

  • Permite a los servicios de AWS especificados enviar registros a ese cubo S3 y mensajes de notificación a esa cola de SQS.

  • Si es necesario, crea ese cubo S3 y esa cola de SQS para este fin.

  • Configura las directivas de permisos IAM necesarias y las aplica al rol IAM creado anteriormente.

En el caso de las nubes de Azure Government, un script especializado crea un proveedor de identidades web OIDC diferente, al que asigna el rol asumido de IAM.

Requisitos previos para la configuración automática

Instrucciones

Para ejecutar el script para configurar el conector, siga estos pasos:

  1. En el menú de navegación de Microsoft Sentinel, seleccione Conectores de datos.

  2. Seleccione Amazon Web Services S3 en la galería de conectores de datos.

    Si no ve el conector, instale la solución de Amazon Web Services desde el Centro de contenido de Microsoft Sentinel.

  3. En el panel de detalles del conector, seleccione Abrir página del conector.

  4. En la sección Configuración, en 1. Set up your AWS environment (1. Configure el entorno de AWS), expanda Setup with PowerShell script (Configuración con script de PowerShell [recomendado]).

  5. Siga las instrucciones en pantalla para descargar y extraer el script de instalación de AWS S3 (el vínculo descarga un archivo ZIP que contiene el script de instalación principal y los scripts auxiliares) de la página del conector.

    Nota

    Para ingerir registros de AWS en una nube de Azure Government, descargue y extraiga este script especializado de configuración de AWS S3 Gov en su lugar.

  6. Antes de ejecutar el script, ejecute el comando aws configure desde la línea de comandos de PowerShell y escriba la información pertinente cuando se le solicite. Consulte Interfaz de la línea de comandos de AWS | Conceptos básicos de configuración (desde la documentación de AWS) para obtener más información.

  7. Ahora ejecute el script. Copie el comando de la página del conector (en "Run script to set up the environment" [Ejecutar script para configurar el entorno]) y péguelo en la línea de comandos.

  8. El script le pedirá que escriba el id. del área de trabajo. Este id. aparece en la página del conector. Cópielo y péguelo en el aviso del script.

    Captura de pantalla del comando para ejecutar el script de configuración y el id. de área de trabajo.

  9. Cuando el script termine de ejecutarse, copie el ARN de rol y la dirección URL de SQS de la salida del script (vea a continuación el ejemplo de la primera captura de pantalla) y péguelos en sus respectivos campos en la página del conector en 2. Agregar conexión (vea a continuación la segunda captura de pantalla).

    Captura de pantalla del comando para ejecutar el script de configuración del conector de AWS.

    Captura de pantalla en la que se pega la información de roles de A W S del script en el conector S3.

  10. Seleccione un tipo de datos en la lista desplegable Tabla de destino. Esto indica al conector en qué registros de servicio de AWS se establece esta conexión para la recopilación y en qué tabla de Log Analytics almacenará los datos ingeridos. Después, seleccione Agregar conexión.

Nota

El script puede tardar hasta 30 minutos en terminar de ejecutarse.

Instalación manual

Microsoft recomienda usar el script de instalación automática para implementar este conector. Si por cualquier motivo no desea aprovechar esta cómoda función, siga los pasos que se indican a continuación para configurar el conector manualmente.

Preparación de los recursos de AWS

  1. Cree un cubo S3 al que enviará los registros de los servicios de AWS: VPC, GuardDuty o CloudTrail.

  2. Cree una cola de mensajes estándar de Simple Queue Service (SQS) en la que el cubo S3 publicará notificaciones.

  3. Configure el cubo S3 para enviar mensajes de notificación a la cola de SQS.

Instalación del conector de datos de AWS y preparación del entorno

  1. En Microsoft Sentinel, seleccione Conectores de datos en el menú de navegación.

  2. Seleccione Amazon Web Services S3 en la galería de conectores de datos.

    Si no ve el conector, instale la solución de Amazon Web Services desde el Centro de contenido de Microsoft Sentinel. Para más información, consulte Descubra y administre el contenido listo para usar de Microsoft Sentinel.

  3. En el panel de detalles del conector, seleccione Abrir página del conector.

  4. En Configuración, expanda Configuración con script de PowerShell (recomendado) y, a continuación, copie el Identificador externo (id. de área de trabajo) en el Portapapeles.

Creación de un proveedor de identidades web de Open ID Connect (OIDC) y un rol asumido de AWS

  1. En otra ventana o pestaña del explorador, abra la consola de AWS.

  2. Cree un proveedor de identidades web. Siga estas instrucciones en la documentación de AWS:
    Creación de proveedores de identidades de OpenID Connect (OIDC).

    Parámetro Selección/valor Comentarios
    Id de cliente - Omita esto, ya lo tiene. Consulte la línea Audiencia a continuación.
    Tipo de proveedor OpenID Connect En lugar de SAML predeterminado.
    Dirección URL del proveedor Commercial:
    sts.windows.net/33e01921-4d64-4f8c-a055-5bdaffd5e33d/

    Government:
    sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/
    Huella digital 626d44e704d1ceabe3bf0d53397464ac8080142c Si se crea en la consola de IAM, la selección de Obtener huella digital debe proporcionarle este resultado.
    Público Commercial:
    api://1462b192-27f7-4cb9-8523-0f4ecb54b47e

    Government:
    api://d4230588-5f84-4281-a9c7-2c15194b28f7
  3. Cree un rol asumido de IAM. Siga estas instrucciones en la documentación de AWS:
    Creación de un rol para la identidad web o la federación de OpenID Connect.

    Parámetro Selección/valor Comentarios
    Tipo de entidad de confianza Identidad web En lugar del servicio de AWS predeterminado.
    Proveedor de identidades Commercial:
    sts.windows.net/33e01921-4d64-4f8c-a055-5bdaffd5e33d/

    Government:
    sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/
    El proveedor que creó en el paso anterior.
    Audiencia Commercial:
    api://1462b192-27f7-4cb9-8523-0f4ecb54b47e

    Government:
    api://d4230588-5f84-4281-a9c7-2c15194b28f7
    Audiencia que definió para el proveedor de identidades en el paso anterior.
    Permisos para asignar
    • AmazonSQSReadOnlyAccess
    • AWSLambdaSQSQueueExecutionRole
    • AmazonS3ReadOnlyAccess
    • ROSAKMSProviderPolicy
    • Directivas adicionales para ingerir los distintos tipos de registros de servicio de AWS
    Para obtener información sobre estas directivas, consulte la página correspondiente de directivas de permisos del conector de AWS S3, en el repositorio de GitHub de Microsoft Sentinel.
    Nombre "OIDC_MicrosoftSentinelRole" Elija un nombre descriptivo que incluya una referencia a Microsoft Sentinel.

    El nombre debe incluir el prefijo exacto OIDC_; de lo contrario, el conector no funcionará correctamente.
  4. Edite la directiva de confianza del nuevo rol y agregue otra condición:
    "sts:RoleSessionName": "MicrosoftSentinel_{WORKSPACE_ID)"

    Importante

    El valor del parámetro sts:RoleSessionName debe tener el prefijo MicrosoftSentinel_ exacto; de lo contrario, el conector no funcionará correctamente.

    La directiva de confianza finalizada debe tener este aspecto:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "Federated": "arn:aws:iam::XXXXXXXXXXXX:oidc-provider/sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/"
          },
          "Action": "sts:AssumeRoleWithWebIdentity",
          "Condition": {
            "StringEquals": {
              "sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/:aud": "api://d4230588-5f84-4281-a9c7-2c15194b28f7",
              "sts:RoleSessionName": "MicrosoftSentinel_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
            }
          }
        }
      ]
    }
    
    • XXXXXXXXXXXX es su identificador de cuenta de AWS.
    • XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX es el identificador del área de trabajo de Microsoft Sentinel.

    Actualice (guarde) la directiva cuando haya terminado de editarla.

Adición de la información de rol y cola de AWS al conector de datos S3

  1. En la pestaña del explorador abierta a la consola de AWS, introduzca el servicio Administración de identidad y acceso (IAM) y vaya a la lista de Roles. Seleccione el rol que creó anteriormente.

  2. Copie el ARN en el Portapapeles.

  3. Introduzca Simple Queue Service, seleccione la cola de SQS que creó y copie la dirección URL de la cola en el Portapapeles.

  4. Vuelva a la pestaña del explorador de Microsoft Sentinel, que debe abrirse en la página del conector de datos de Amazon Web Services S3 (versión preliminar). En 2. Agregar conexión:

    1. Pegue el ARN del rol IAM que copió hace dos pasos en el campo Rol que agregar.
    2. Pegue la dirección URL de la cola de SQS que copió en el último paso en el campo SQS URL (Dirección URL de SQS).
    3. Seleccione un tipo de datos en la lista desplegable Tabla de destino. Esto indica al conector en qué registros de servicio de AWS se establece esta conexión para la recopilación y en qué tabla de Log Analytics almacenará los datos ingeridos.
    4. Seleccione Agregar conexión.

    Captura de pantalla en la que se agrega una conexión de un rol de AWS al conector S3.

Configuración de un servicio de AWS para exportar registros a un cubo S3

Consulte la documentación de Amazon Web Services (vinculada a continuación) para obtener las instrucciones para enviar cada tipo de registro al cubo S3:

Problemas conocidos y solución de problemas

Problemas conocidos

  • Se pueden almacenar distintos tipos de registros en el mismo cubo S3, pero no se deben almacenar en la misma ruta de acceso.

  • Cada cola de SQS debe apuntar a un tipo de mensaje, por lo que si desea ingerir los resultados de GuardDuty y los registros de flujo de VPC, debe configurar colas independientes para cada tipo.

  • Del mismo modo, una sola cola de SQS solo puede servir a una ruta de acceso en un cubo S3, por lo que si por cualquier motivo está almacenando registros en varias rutas de acceso, cada ruta de acceso requiere su propia cola de SQS dedicada.

Solución de problemas

Obtenga información sobre cómo solucionar problemas de conectores de Amazon Web Services S3.

Pasos siguientes

En este documento, ha aprendido a conectarse a los recursos de AWS para ingerir sus registros en Microsoft Sentinel. Para obtener más información sobre Microsoft Sentinel, consulte los siguientes artículos: