Conéctate a AWS para detectar vulnerabilidades y evaluar riesgos

Puedes conectar el nivel de Security Command Center Enterprise a tu entorno de AWS para poder completar lo siguiente:

  • Revisar y corregir los resultados (que incluyen amenazas y vulnerabilidades) de AWS
  • Crea y administra una postura de seguridad para AWS
  • Identificar posibles rutas de ataque desde la Internet pública hasta tus recursos de AWS de alto valor
  • Mapear el cumplimiento de los recursos de AWS con varios estándares y comparativas

Conectar Security Command Center a AWS crea un lugar único para que tu equipo de operaciones de seguridad administre y solucione amenazas y vulnerabilidades en Google Cloud y AWS.

Para permitir que Security Command Center supervise tu organización de AWS, debes configurar una conexión mediante un agente de servicio de Google Cloud y una cuenta de AWS que tenga acceso a los recursos que deseas supervisar. Security Command Center usa esta conexión para recopilar metadatos de recursos de manera periódica en todas las cuentas y regiones de AWS que definas.

En este documento, se describe cómo configurar la conexión con AWS. Cuando configuras una conexión, debes configurar lo siguiente:

  • Una serie de cuentas en AWS que tienen acceso directo a los recursos de AWS que deseas supervisar. En la consola de Google Cloud, estas cuentas se llaman cuentas de recopilador.
  • Una cuenta de AWS que tenga las políticas y funciones adecuadas para permitir la autenticación en las cuentas de colector En la consola de Google Cloud, esta cuenta se denomina cuenta delegada. La cuenta delegada y las cuentas de recopilador deben estar en la misma organización de AWS.
  • Un agente de servicio en Google Cloud que se conecta a la cuenta delegada para la autenticación
  • Una canalización para recopilar datos de los recursos de AWS

Esta conexión no se aplica a las capacidades de SIEM de Security Command Center que te permiten transferir los registros de AWS para la detección de amenazas.

En el siguiente diagrama, se muestra esta configuración. El proyecto de usuario es un proyecto que se crea automáticamente y contiene tu instancia de canalización de recopilación de datos de elementos.

Configuración de AWS y Security Command Center.

Antes de comenzar

Completa estas tareas antes de finalizar las tareas restantes de esta página.

Activa el nivel Enterprise de Security Command Center

Completa los pasos 1 y 2 de la guía de configuración para activar el nivel Enterprise de Security Command Center.

Configurar los permisos

Si quieres obtener los permisos que necesitas para usar el conector de AWS, pídele a tu administrador que te otorgue el rol de IAM Propietario de Cloud Asset (roles/cloudasset.owner). Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.

Es posible que también puedas obtener los permisos necesarios a través de los roles personalizados o de otros roles predefinidos.

Crea cuentas de AWS

Asegúrate de haber creado los siguientes recursos de AWS:

Configura Security Command Center

  1. En la consola de Google Cloud, ve a la página de configuración.

    Ir a la configuración

  2. Verifica que estés viendo la organización en la que activaste el nivel de Security Command Center Enterprise.

  3. Haz clic en Paso 3: Configura el conector de Amazon Web Services (AWS).

  4. En ID de cuenta delegada, ingresa el ID de cuenta de AWS para la cuenta de AWS que puedes usar como cuenta delegada.

  5. Si lo deseas, puedes revisar las opciones avanzadas.

  6. Haz clic en Continuar.

  7. Realiza una de las siguientes acciones:

    • Descarga las plantillas de CloudFormation para el rol delegado y el de recopilador.
    • Si configuraste las opciones avanzadas o necesitas cambiar los nombres de las funciones predeterminadas de AWS (aws-delegated-role y aws-collector-role), selecciona Usar la consola de AWS. Copia el ID del agente de servicio, el nombre del rol delegado y el nombre del rol de colector.

    No puedes cambiar los nombres de los roles después de crear la conexión.

No hagas clic en Crear. En su lugar, configura tu entorno de AWS.

Configura tu entorno de AWS

Puedes configurar el entorno de AWS mediante uno de los siguientes métodos:

Usa las plantillas de CloudFormation para configurar tu entorno de AWS

Si descargaste las plantillas de CloudFormation, sigue estos pasos para configurar tu entorno de AWS.

  1. Accede a la consola de cuentas delegadas de AWS. Asegúrate de haber accedido a la cuenta delegada que se usa para asumir otras cuentas de AWS de colector.
  2. Ve a la consola de plantilla de AWS CloudFormation.
  3. Haz clic en Stacks > With new resources (standard).
  4. Sube el archivo de plantilla de roles delegados y haz clic en Siguiente.
  5. Ingresa un nombre para la pila. Si cambiaste el nombre de la función delegada, actualiza los parámetros. Haz clic en Siguiente.
  6. Según lo requiera tu organización, actualiza las opciones de pila y haz clic en Siguiente.
  7. Revisa la información y haz clic en Enviar. Espera a que se cree la pila. Si se produce un problema, consulta Solución de problemas.

    Si eliges agregar cuentas de AWS de forma individual (mediante la inhabilitación del descubrimiento automático para las cuentas), también puedes crear pilas separadas para cada cuenta de AWS en lugar de crear un solo conjunto de pila.

  8. Con una cuenta de administración de AWS o cualquier cuenta de miembro que esté registrada como administrador delegado, haz clic en Stackset > Create StackSet.

  9. Haz clic en Permisos administrados por el servicio.

  10. Sube el archivo de plantilla de rol de recopilador. Haz clic en Siguiente.

  11. En la página Especificar detalles del StackSet, ingresa el nombre y la descripción del conjunto de pila. Verifica y actualiza el ID de la cuenta de delegado y los nombres de las funciones. Haz clic en Siguiente.

  12. Según lo requiera tu organización, configura las opciones del conjunto de pila. Haz clic en Next.

  13. En la página Configura las opciones de implementación, completa lo siguiente:

    1. Elige los objetivos de implementación. Puedes implementarlo en toda la organización de AWS o en una unidad organizativa que incluya todas las cuentas de AWS de las que deseas recopilar datos.

    2. Especifica las regiones de AWS en las que se crearán los roles y las políticas. Debido a que las funciones son recursos globales, no es necesario que especifiques varias regiones.

    3. Cambia otros parámetros de configuración si es necesario y, luego, haz clic en Siguiente.

  14. Revisa los cambios y haz clic en Enviar. Si recibes un error, consulta Solución de problemas.

  15. Implementa una pila separada para aprovisionar la función de colector en la cuenta de administración, ya que un conjunto de pila de AWS CloudFormation no crea instancias de pila en una cuenta de administración. Para obtener más información, consulta DeploymentTargets.

Para completar el proceso de integración, consulta Cómo completar el proceso de integración.

Configura cuentas de AWS de forma manual

Si no puedes usar las plantillas de CloudFormation (por ejemplo, si usas diferentes nombres de funciones o personalizas la integración), puedes crear las políticas de AWS IAM y las funciones de AWS IAM necesarias de forma manual.

Debes crear políticas de IAM de AWS y funciones de IAM de AWS para la cuenta delegada y las cuentas de colector.

Crea la política de IAM de AWS para el rol delegado

Si deseas crear una política de IAM de AWS para la función delegada (una política delegada), completa lo siguiente:

  1. Accede a la consola de cuentas delegadas de AWS.

  2. Haz clic en Políticas > Crear política.

  3. Haz clic en JSON y pega lo siguiente:

    {
      "Version": "2012-10-17",
      "Statement": [
          {
              "Action": "sts:AssumeRole",
              "Resource": "arn:aws:iam::*:role/COLLECTOR_ROLE_NAME",
              "Effect": "Allow"
          },
          {
              "Action": [
                  "organizations:List*",
                  "organizations:Describe*"
              ],
              "Resource": "*",
              "Effect": "Allow"
          }
      ]
    
    }
    

    Reemplaza COLLECTOR_ROLE_NAME por el nombre de la función de colector que copiaste cuando configuraste Security Command Center (el valor predeterminado es aws-collector-role).

  4. Haz clic en Siguiente.

  5. En la sección Detalles de la política, ingresa un nombre y una descripción para la política.

  6. Haz clic en Crear política.

Crear un rol de IAM de AWS para la relación de confianza entre AWS y Google Cloud

Crea una función delegada que establezca una relación de confianza entre AWS y Google Cloud. Esta función usa la política delegada que se creó en Crea la política de IAM de AWS para la función delegada.

  1. Accede a la consola de cuentas delegadas de AWS como un usuario de AWS que puede crear funciones y políticas de IAM.

  2. Haz clic en Roles > Crear rol.

  3. En Tipo de entidad de confianza, haz clic en Identidad web.

  4. En Proveedor de identidad, haz clic en Google.

  5. En Público, ingresa el ID de la cuenta de servicio que copiaste cuando configuraste Security Command Center. Haz clic en Siguiente.

  6. Para otorgar a la función delegada acceso a las funciones de colector, adjunta las políticas de permisos a la función. Busca la política delegada que se creó en Crea la política de IAM de AWS para la función delegada y selecciónala.

  7. En la sección Detalles de la función, ingresa el Nombre de la función delegado que copiaste cuando configuraste Security Command Center (el nombre predeterminado es aws-delegated-role).

  8. Haz clic en Crear rol.

Crea la política de IAM de AWS para la recopilación de datos de recursos

Si deseas crear una política de IAM de AWS para la recopilación de datos de elementos (la política del colector), completa lo siguiente:

  1. Accede a la consola de cuentas de recopilador de AWS.

  2. Haz clic en Políticas > Crear política.

  3. Haz clic en JSON y pega lo siguiente:

    {
      "Version": "2012-10-17",
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "ce:GetCostAndUsage",
                  "dynamodb:DescribeTableReplicaAutoScaling",
                  "identitystore:ListGroupMemberships",
                  "identitystore:ListGroups",
                  "identitystore:ListUsers",
                  "lambda:GetFunction",
                  "lambda:GetFunctionConcurrency",
                  "logs:ListTagsForResource",
                  "s3express:GetBucketPolicy",
                  "s3express:ListAllMyDirectoryBuckets",
                  "wafv2:GetIPSet"
              ],
              "Resource": [
                  "*"
              ]
          },
          {
              "Effect": "Allow",
              "Action": [
                  "apigateway:GET"
              ],
              "Resource": [
                  "arn:aws:apigateway:*::/usageplans",
                  "arn:aws:apigateway:*::/usageplans/*/keys",
                  "arn:aws:apigateway:*::/vpclinks/*"
              ]
          }
      ]
    
    }
    
  4. Haz clic en Siguiente.

  5. En la sección Detalles de la política, ingresa un nombre y una descripción para la política.

  6. Haz clic en Crear política.

  7. Repite estos pasos para cada cuenta de cobrador.

Crear el rol de IAM de AWS para la recopilación de datos en cada cuenta

Crear el rol de colector que permite que Security Command Center obtenga datos de recursos de AWS Esta función usa la política de colector que se creó en Crea la política de IAM de AWS para la recopilación de datos de recursos.

  1. Accede a la consola de cuentas del recopilador de AWS como un usuario que puede crear funciones de IAM para las cuentas del recopilador.

  2. Haz clic en Roles > Crear rol.

  3. En Tipo de entidad de confianza, haz clic en Política de confianza personalizada.

  4. En la sección Política de confianza personalizada, pega lo siguiente:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::DELEGATE_ACCOUNT_ID:role/DELEGATE_ACCOUNT_ROLE"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    

    Reemplaza lo siguiente:

  5. Para otorgar a la función de colector acceso a tus datos de configuración de elementos de AWS, adjunta las políticas de permisos a la función. Busca la política del colector personalizada que se creó en Crea la política de IAM de AWS para la recopilación de datos de elementos y selecciónala.

  6. Busca y selecciona las siguientes políticas administradas:

    • arn:aws:iam::aws:policy/job-function/ViewOnlyAccess
    • arn:aws:iam::aws:policy/SecurityAudit
  7. En la sección Detalles de la función, ingresa el Nombre de la función de colector que copiaste cuando configuraste Security Command Center.

  8. Haz clic en Crear rol.

  9. Repite estos pasos para cada cuenta de cobrador.

Para completar el proceso de integración, consulta Cómo completar el proceso de integración.

Completa el proceso de integración

  1. En la consola de Google Cloud, ve a la página Agrega el conector de Amazon Web Services.

    Ir al conector de Amazon Web Services

  2. Haz clic en Probar conector para verificar que Security Command Center pueda conectarse a tu entorno de AWS. Si la conexión se realiza de forma correcta, el agente de servicio de Google Cloud puede asumir que la función delegada y que tiene todos los permisos necesarios para asumir la función de colector. Si la conexión no es correcta, consulta Soluciona errores cuando pruebas la conexión.

  3. Haz clic en Crear.

Configuración personalizada

En esta sección, se describen algunas de las formas en que puedes personalizar la conexión entre Security Command Center y AWS. Estas opciones están disponibles en la sección Opciones avanzadas (opcional) de la página Agrega un conector de Amazon Web Services en la consola de Google Cloud.

De forma predeterminada, Security Command Center descubre de forma automática tus cuentas de AWS en todas las regiones de AWS. La conexión usa el extremo global predeterminado para el servicio de tokens de seguridad de AWS y las consultas predeterminadas por segundo (QPS) del servicio de AWS que estás supervisando. Estas opciones avanzadas te permiten personalizar los valores predeterminados.

Opción Descripción
Especifica qué cuentas de AWS usar Puedes permitir que Security Command Center descubra las cuentas de AWS automáticamente o puedes proporcionar una lista de cuentas de AWS que Security Command Center puede usar para encontrar recursos.
Especifica qué cuentas de AWS excluirán Si permites que Security Command Center descubra cuentas automáticamente, puedes proporcionar una lista de cuentas de AWS que Security Command Center no puede usar para encontrar recursos.
Especifica qué regiones de AWS se supervisarán Puedes seleccionar una o más regiones de AWS para que Security Command Center supervise. Para supervisar todas las regiones, deja el campo Regiones de AWS vacío.
Anular las consultas por segundo (QPS) predeterminadas para los servicios de AWS Puedes cambiar las QPS para controlar el límite de cuota de Security Command Center. Establece la anulación en un valor menor que el valor predeterminado para ese servicio y superior o igual a 1. El valor predeterminado es el valor máximo. Si cambias las QPS, Security Command Center podría tener problemas para recuperar datos. Por lo tanto, no te recomendamos que cambies este valor.
Cambia el extremo por el servicio de tokens de seguridad de AWS Puedes especificar un extremo específico para el servicio de tokens de seguridad de AWS (por ejemplo, https://sts.us-east-2.amazonaws.com). Deja el campo AWS Security Token Service (AWS STS) (opcional) vacío para usar el extremo global predeterminado (https://sts.amazonaws.com).

Soluciona problemas

En esta sección, se incluyen algunos problemas comunes que puedes encontrar cuando integras Security Command Center con AWS.

Los recursos ya existen

Este error se produce en el entorno de AWS cuando intentas crear las políticas y las funciones de IAM de AWS. Este problema ocurre cuando la función ya existe en tu cuenta de AWS y intentas crearla de nuevo.

Para resolver el problema, completa lo siguiente:

  • Verifica si la función o la política que estás creando ya existe y cumple con los requisitos enumerados en esta guía.
  • Si es necesario, cambia el nombre del rol para evitar conflictos.

Principal no válida en la política

Este error puede ocurrir en el entorno de AWS cuando creas las funciones de colector, pero la función delegada aún no existe.

A fin de resolver este problema, completa los pasos que se indican en Crea la política de IAM de AWS para la función delegada y espera hasta que se cree la función de delegado antes de continuar.

Limitaciones de regulación en AWS

AWS limita las solicitudes a la API para cada cuenta de AWS por cuenta o por región. Para garantizar que no se excedan estos límites cuando Security Command Center recopila metadatos de recursos de AWS, Security Command Center recopila los datos a una cantidad máxima de QPS fija para cada servicio de AWS, como se describe en la documentación de la API para el servicio de AWS.

Si experimentas una limitación de solicitudes en tu entorno de AWS debido a las QPS consumidas, puedes mitigar el problema completando lo siguiente:

  • En la página de configuración del conector de AWS, configura una QPS personalizada para el servicio de AWS que experimenta problemas de limitación de solicitudes.

  • Restringe los permisos de la función de colector de AWS para que los datos de ese servicio específico ya no se recopilen. Esta técnica de mitigación evita que las simulaciones de rutas de ataque funcionen de forma correcta para AWS.

La revocación de todos los permisos en AWS detiene el proceso de recopilación de datos de inmediato. Borrar el conector de AWS no detiene de inmediato el proceso del recopilador de datos, pero no comenzará de nuevo después de que finalice.

Soluciona errores cuando pruebas la conexión

Estos errores pueden ocurrir cuando pruebas la conexión entre Security Command Center y AWS.

AWS_FAILED_TO_ASSUME_DELEGATED_ROLE

La conexión no es válida porque el agente de servicio de Google Cloud no puede asumir el rol delegado.

Para solucionar este problema, considera lo siguiente:

AWS_FAILED_TO_LIST_ACCOUNTS

La conexión no es válida porque el descubrimiento automático está habilitado y la función delegada no puede obtener todas las cuentas de AWS en las organizaciones.

Este problema indica que falta la política para permitir la acción organizations:ListAccounts en la función delegada en ciertos recursos. Para resolver este problema, verifica qué recursos faltan. Si quieres verificar la configuración de la política delegada, consulta Crea la política de IAM de AWS para la función delegada.

AWS_INVALID_COLLECTOR_ACCOUNTS

La conexión no es válida porque hay cuentas del recopilador no válidas. El mensaje de error incluye más información sobre las posibles causas, como la siguiente:

AWS_FAILED_TO_ASSUME_COLLECTOR_ROLE

La cuenta de recopilador no es válida porque la función delegada no puede asumir la función de recopilador en esta cuenta.

Para solucionar este problema, considera lo siguiente:

AWS_COLLECTOR_ROLE_POLICY_MISSING_REQUIRED_PERMISSION

La conexión no es válida porque a la política del colector le faltan algunos de los parámetros de configuración de permisos necesarios.

Para resolver este problema, considera las siguientes causas:

¿Qué sigue?