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 datos 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.
  • Permisos para que Sensitive Data Protection genere el perfil de tu contenido de AWS (opcional).

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. Selecciona 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. Para permitir que Sensitive Data Protection perfile tus datos de AWS, mantén seleccionado Otorgar permisos para el descubrimiento de Sensitive Data Protection. Con esta opción, se agregan permisos de IAM de AWS en la plantilla CloudFormation para el rol de recopilador.

    Permisos de IAM de AWS otorgados por esta opción

    • s3:GetBucketLocation
    • s3:ListAllMyBuckets
    • s3:GetBucketPolicyStatus
    • s3:ListBucket
    • s3:GetObject
    • iam:ListAttachedRolePolicies
    • iam:GetPolicy
    • iam:GetPolicyVersion
    • iam:ListRolePolicies
    • iam:GetRolePolicy

    Esta opción solo otorga los permisos de AWS necesarios para la función de colector. Para generar perfiles de tus datos de AWS, habilita la detección de datos sensibles.

  6. De manera opcional, revisa las opciones avanzadas.

  7. Haz clic en Continuar. Se abre la página Conectarse a AWS.

  8. Realiza una de las siguientes acciones:

    • Descarga y revisa las plantillas de CloudFormation para el rol delegado y el rol de recopilador.
    • Si configuraste las opciones avanzadas o necesitas cambiar los nombres de las funciones de AWS predeterminadas (aws-delegated-role, aws-collector-role y aws-sensitive-data-protection-role), selecciona Configure AWS accounts manually. Copia el ID del agente de servicio, el nombre del rol delegado, el nombre del rol de recopilador y el nombre del rol de colector de Sensitive Data Protection.

    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. Crea una pila con el archivo de plantilla de roles delegados. Para obtener más información, consulta Crea una pila a partir de recursos existentes mediante la consola de administración de AWS en la documentación de AWS.

    Mientras revisas las indicaciones, haz lo siguiente:

    1. Cuando especificas una plantilla, sube el archivo de plantilla de rol delegado.
    2. Cuando especifiques los detalles de la pila, ingresa un nombre para ella.
    3. Revisa los parámetros. Asegúrate de que los nombres de función de delegado y colector coincidan con los que se enumeran en la página Conéctate a AWS en la consola de Google Cloud.

    4. Según lo requiera tu organización, actualiza las opciones de la pila.

    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.

  4. Crea un conjunto de pilas mediante una cuenta de administración de AWS o cualquier cuenta de miembro que esté registrada como administrador delegado. Para obtener más información, consulta Crea un conjunto de pilas con permisos administrados por servicios en la documentación de AWS.

    Mientras revisas las indicaciones, haz lo siguiente:

    1. Cuando especificas una plantilla, sube el archivo de plantilla de rol recopilador.
    2. Cuando especifiques los detalles de StackSet, verifica y actualiza el ID de la cuenta delegada y los nombres de las funciones.
    3. Según lo requiera tu organización, configura las opciones del conjunto de pilas.
    4. Cuando especifiques las opciones de implementación, 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.

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

    6. Cambia otros parámetros de configuración si es necesario.

    7. Revisa los cambios y crea el conjunto de pilas. Si recibes un error, consulta Solución de problemas.

  5. 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 en la documentación de AWS.

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 una de las siguientes opciones, dependiendo de si seleccionaste la casilla de verificación Otorgar permisos para el descubrimiento de Sensitive Data Protection en Configurar Security Command Center.

    Otorgar permisos para el descubrimiento de la protección de datos sensibles: borrado

    {
      "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).

    Otorgar permisos para el descubrimiento de la protección de datos sensibles: seleccionado

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

    Reemplaza lo siguiente:

    • COLLECTOR_ROLE_NAME: Es el nombre de la función de recopilador de datos de configuración que copiaste cuando configuraste Security Command Center (el valor predeterminado es aws-collector-role).
    • SCAN_SENSITIVE_DATA_COLLECTOR_ROLE_NAME: Es el nombre del rol de recopilador de Sensitive Data Protection que copiaste cuando configuraste Security Command Center (el valor predeterminado es aws-sensitive-data-protection-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 configuración de recursos

Si deseas crear una política de IAM de AWS para la recopilación de datos de configuración de activos (una 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 de configuración de recursos en cada cuenta

Crea la función de recopilador que permita a Security Command Center obtener datos de configuración de elementos 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 configuración de elementos.

  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 esta 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 personalizado que se creó en Crea la política de IAM de AWS para la recopilación de datos de configuración 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 recolector de datos de configuración que copiaste cuando configuraste Security Command Center.

  8. Haz clic en Crear rol.

  9. Repite estos pasos para cada cuenta de cobro.

Si seleccionaste la casilla de verificación Otorgar permisos para el descubrimiento de protección de datos sensibles en Configurar Security Command Center, continúa con la siguiente sección.

Si no habilitaste la casilla de verificación Otorgar permisos para el descubrimiento de Sensitive Data Protection, completa el proceso de integración.

Crea la política de IAM de AWS para la protección de datos sensibles

Completa estos pasos si seleccionaste la casilla de verificación Otorgar permisos para el descubrimiento de Sensitive Data Protection en Configurar Security Command Center.

Si deseas crear una política de IAM de AWS para la protección de datos sensibles (una 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": [
            "s3:GetBucketLocation",
            "s3:ListAllMyBuckets",
            "s3:GetBucketPolicyStatus",
            "s3:ListBucket",
            "s3:GetObject"
          ],
          "Resource": [
            "arn:aws:s3:::*"
          ]
        },
        {
          "Effect": "Allow",
          "Action": [
            "iam:ListAttachedRolePolicies",
            "iam:ListRolePolicies",
            "iam:GetPolicy",
            "iam:GetPolicyVersion",
            "iam:GetRolePolicy"
          ],
          "Resource": [
            "*"
          ]
        }
      ]
    }
    
  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 Sensitive Data Protection en cada cuenta

Completa estos pasos si seleccionaste la casilla de verificación Otorgar permisos para el descubrimiento de Sensitive Data Protection en Configurar Security Command Center.

Crea la función de recopilador que permita a Sensitive Data Protection perfilar el contenido de tus recursos de AWS. En esta función, se usa la política de recopilador que se creó en Crea la política de IAM de AWS para la protección de datos sensibles.

  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 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 esta función de recopilador acceso al contenido de tus recursos 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 protección de datos sensibles y selecciónala.

  6. En la sección Detalles de la función, ingresa el nombre de la función para la protección de datos sensibles que copiaste cuando configuraste Security Command Center.

  7. Haz clic en Crear rol.

  8. 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 establece correctamente, la prueba determinó que la función delegada tiene todos los permisos necesarios para asumir las funciones 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 no se excedan estos límites cuando Security Command Center recopile datos de configuración de elementos de AWS, este último recopila los datos a un máximo fijo de QPS 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 recaudador 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?