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 las siguientes acciones:

  • Detecta y soluciona vulnerabilidades de software y parámetros de configuración incorrectos en tu entorno
  • Crea y administra una postura de seguridad para AWS
  • Identificar posibles rutas de ataque desde la Internet pública hasta tus recursos de alto valor de AWS
  • Mapear el cumplimiento de los recursos de AWS con varios estándares y comparativas

La conexión de Security Command Center a AWS permite que el equipo de operaciones de seguridad administre y solucione amenazas y vulnerabilidades en Google Cloud y AWS desde un solo lugar.

Para permitir que Security Command Center supervise tu organización de AWS, debes configurar una conexión con 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 forma 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 hacer 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 denominan cuentas de colector.
  • Una cuenta en 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. Tanto la cuenta delegada como las cuentas de colector 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 los recursos de AWS.

Esta conexión no se aplica a las capacidades de SIEM de Security Command Center que te permiten transferir 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 completar las tareas restantes de esta página.

Activar el nivel de Security Command Center Enterprise

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

Configurar los permisos

Si deseas obtener los permisos que necesitas para usar el conector de AWS, pídele a tu administrador que te otorgue el rol de IAM de Propietario de recursos de Cloud (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 funciones personalizadas o, también, otras funciones predefinidas.

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: Configurar el conector de Amazon Web Services (AWS).

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

  5. De manera opcional, revisa 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 rol de recopilador.
    • Si configuraste las opciones avanzadas o necesitas cambiar los nombres de función de AWS predeterminados (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 de rol recopilador.

    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 tu entorno de AWS con uno de los siguientes métodos:

Usa plantillas de CloudFormation para configurar tu entorno de AWS

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

  1. Accede a la consola de la cuenta delegada 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 AWS CloudFormation Template.
  3. Haz clic en Pilas > Con recursos nuevos (estándar).
  4. Sube el archivo de plantilla de rol delegado y haz clic en Siguiente.
  5. Ingresa un nombre de 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 la 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 de la detección automática para las cuentas), también puedes crear pilas separadas para cada cuenta de AWS en lugar de crear un solo conjunto de pilas.

  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 servicios.

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

  11. En la página Specify StackSet details, ingresa el nombre y la descripción del conjunto de pilas. Verifica y actualiza el ID de la cuenta delegada y los nombres de los roles. Haz clic en Siguiente.

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

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

    1. Elige tus objetivos de implementación. Puedes realizar una implementación 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 necesitas especificar varias regiones.

    3. Si es necesario, cambia otros parámetros de configuración 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 pilas 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 manualmente

Si no puedes usar las plantillas de CloudFormation (por ejemplo, si usas diferentes nombres de rol o personalizas la integración), puedes crear las políticas y las funciones de IAM de AWS 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 los siguientes pasos:

  1. Accede a la consola de la cuenta delegada 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.

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

Crea una función delegado 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 la cuenta delegada 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 en la 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 recursos (la política de recopilador), completa los siguientes pasos:

  1. Accede a la consola de la cuenta 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 cobro.

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

Crea el rol de recopilador que permite a Security Command Center obtener datos de recursos de AWS. Esta función usa la política de recopilador 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 la cuenta de recopilador de AWS como un usuario que puede crear funciones de IAM para las cuentas de colector.

  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:

    • DELEGATE_ACCOUNT_ID: Es el ID de la cuenta de AWS de la cuenta delegada.
    • DELEGATE_ACCOUNT_ROLE: Es el nombre de la función delegado que copiaste cuando configuraste Security Command Center.
  5. Para otorgar a la función de recopilador 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 de recopilador personalizada que se creó en Crea la política de IAM de AWS para la recopilación de datos de recursos 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 cobro.

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 un 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 la función delegado, y la función delegada tendrá todos los permisos necesarios para asumir la función de recopilador. Si la conexión no se realiza correctamente, consulta Cómo solucionar errores cuando se prueba la conexión.

  3. Haz clic en Crear.

Configuración personalizada

En esta sección, se describen algunas de las formas en las 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 el 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 por segundo (QPS) predeterminadas para el 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 buscar recursos.
Especifica qué cuentas de AWS se deben excluir Si permites que Security Command Center descubra las 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 supervisar Puedes seleccionar una o más regiones de AWS para que Security Command Center supervise. Deja el campo Regiones de AWS vacío para supervisar todas las regiones.
Anula las consultas por segundo (QPS) predeterminadas para 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 que sea menor que el valor predeterminado para ese servicio y mayor o igual que 1. El valor predeterminado es el valor máximo. Si cambias las QPS, Security Command Center podría tener problemas para recuperar los datos. Por lo tanto, no recomendamos cambiar este valor.
Cambia el extremo del 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 Servicio de tokens de seguridad de AWS (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 pueden surgir durante la integración de 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 este problema, realiza lo siguiente:

  • Verifica si la función o la política que estás creando ya existe y cumple con los requisitos que se enumeran 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 de delegado aún no existe.

Para 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 de manera por cuenta o por región. Para garantizar que estos límites no se excedan cuando Security Command Center recopila metadatos de elementos de AWS, este recopila los datos a un máximo de QPS fijo 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 la cantidad de QPS consumida, puedes mitigar el problema completando los siguientes pasos:

  • 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 ya no se recopilen los datos de ese servicio específico. Esta técnica de mitigación evita que las simulaciones de rutas de ataque funcionen de forma correcta para AWS.

Si revocas todos los permisos en AWS, se detendrá el proceso del recopilador 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 resolver 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 de las organizaciones.

Este problema indica que falta la política que permite la acción organizations:ListAccounts en la función delegado 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 de recopilador no válidas. El mensaje de error incluye más información sobre las posibles causas, que incluyen lo siguiente:

AWS_FAILED_TO_ASSUME_COLLECTOR_ROLE

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

Para resolver este problema, considera lo siguiente:

AWS_COLLECTOR_ROLE_POLICY_MISSING_REQUIRED_PERMISSION

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

Para resolver este problema, considera las siguientes causas:

¿Qué sigue?