Conecte-se à AWS para detecção de vulnerabilidades e avaliação de risco

É possível conectar o nível do Security Command Center Enterprise ao seu ambiente da AWS para realizar o seguinte:

  • Analisar e corrigir descobertas (incluindo ameaças e vulnerabilidades) da AWS
  • Criar e gerenciar uma postura de segurança para a AWS
  • Identifique possíveis caminhos de ataque da Internet pública até seus ativos de alto valor da AWS.
  • Mapear a conformidade dos recursos da AWS com vários padrões e comparativos de mercado

Conectar o Security Command Center à AWS cria um único local para sua equipe de operações de segurança gerenciar e corrigir ameaças e vulnerabilidades no Google Cloud e na AWS.

Para permitir que o Security Command Center monitore sua organização da AWS, configure uma conexão usando um agente de serviço do Google Cloud e uma conta da AWS que tenha acesso aos recursos que você quer monitorar. O Security Command Center usa essa conexão para coletar periodicamente metadados de recursos em todas as contas e regiões da AWS definidas por você.

Neste documento, descrevemos como configurar a conexão com a AWS. Ao configurar uma conexão, você define o seguinte:

  • uma série de contas na AWS que têm acesso direto aos recursos da AWS que você quer monitorar. No console do Google Cloud, essas contas são chamadas de contas de coletor.
  • Uma conta na AWS que tenha as políticas e os papéis apropriados para permitir a autenticação para contas de coletor. No console do Google Cloud, essa conta é chamada de conta delegada. Tanto a conta delegada quanto as contas de coletor precisam estar na mesma organização da AWS.
  • um agente de serviço no Google Cloud que se conecta à conta delegada para autenticação.
  • Um pipeline para coletar dados de recursos dos recursos da AWS.

Essa conexão não se aplica aos recursos de SIEM do Security Command Center que permitem ingerir registros da AWS para detecção de ameaças.

O diagrama a seguir mostra essa configuração. O projeto de locatário é criado automaticamente e contém a instância do pipeline de coleta de dados de recursos.

Configuração da AWS e do Security Command Center.

Antes de começar

Conclua estas tarefas antes de finalizar as restantes nesta página.

Ativar o nível Enterprise do Security Command Center

Conclua as etapas 1 e 2 do guia de configuração para ativar o nível Enterprise do Security Command Center.

Configurar permissões

Para ter as permissões necessárias para usar o conector da AWS, peça ao administrador para conceder a você o papel do IAM de Proprietário de recursos do Cloud (roles/cloudasset.owner). Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

Criar contas da AWS

Verifique se você criou os seguintes recursos da AWS:

Configurar o Security Command Center

  1. No console do Google Cloud, acesse a página de configuração.

    Ir para a configuração

  2. Verifique se você está visualizando a organização em que ativou o nível Security Command Center Enterprise.

  3. Clique em Etapa 3: configurar o conector da Amazon Web Services (AWS).

  4. Em ID da conta delegada, insira o ID da conta da AWS que você pode usar como a conta delegada.

  5. Se quiser, analise as opções avançadas.

  6. Clique em Continuar.

  7. Siga uma das etapas a seguir:

    • Faça o download dos modelos do CloudFormation para os papéis delegados e de coletor.
    • Se você tiver configurado as opções avançadas ou precisar alterar os nomes dos papéis padrão da AWS (aws-delegated-role e aws-collector-role), selecione Usar o console da AWS. Copie o ID do agente de serviço, o nome do papel delegado e o nome do papel do coletor.

    Não é possível mudar os nomes dos papéis depois de criar a conexão.

Não clique em Criar. Em vez disso, configure o ambiente da AWS.

Configurar o ambiente da AWS

É possível configurar o ambiente da AWS usando um dos seguintes métodos:

Usar modelos do CloudFormation para configurar o ambiente da AWS

Se você fez o download de modelos do CloudFormation, siga estas etapas para configurar o ambiente da AWS.

  1. Faça login no console da conta delegada da AWS. Verifique se você fez login na conta delegada usada para assumir outras contas de coletor da AWS.
  2. Acesse o console do Modelo do AWS CloudFormation.
  3. Clique em Pilhas > Com novos recursos (padrão).
  4. Faça upload do arquivo do modelo de função delegada e clique em Próxima.
  5. Insira um nome de pilha. Se você alterou o nome do papel delegado, atualize os parâmetros. Clique em Próxima.
  6. Conforme exigido pela sua organização, atualize as opções de pilha e clique em Próxima.
  7. Revise as informações e clique em Enviar. Aguarde a pilha ser criada. Se ocorrer um problema, consulte Solução de problemas.

    Se você optar por adicionar contas da AWS individualmente (desativando a descoberta automática de contas), também poderá criar pilhas separadas para cada conta da AWS, em vez de criar um único conjunto de pilhas.

  8. Usando uma conta de gerenciamento da AWS ou qualquer conta de membro que esteja registrada como um administrador delegado, clique em Stackset > Create StackSet.

  9. Clique em Permissões gerenciadas pelo serviço.

  10. Faça upload do arquivo do modelo de papel do coletor. Clique em Próxima.

  11. Na página Especificar detalhes do StackSet, insira o nome e a descrição do conjunto de pilhas. Verifique e atualize o ID da conta delegada e os nomes do papel. Clique em Próximo.

  12. Conforme exigido pela sua organização, configure as opções do conjunto de pilhas. Clique em Next.

  13. Na página Definir opções de implantação, faça o seguinte:

    1. Escolha os destinos de implantação. É possível implantar em toda a organização da AWS ou em uma unidade organizacional que inclua todas as contas da AWS em que você quer coletar dados.

    2. Especifique as regiões da AWS em que os papéis e as políticas serão criados. Como os papéis são recursos globais, não é preciso especificar várias regiões.

    3. Altere outras configurações, se necessário, e clique em Próxima.

  14. Revise as mudanças e clique em Enviar. Se você receber um erro, consulte Solução de problemas.

  15. Implante uma pilha separada para provisionar o papel de coletor na conta de gerenciamento, porque um conjunto de pilhas do AWS CloudFormation não cria instâncias de pilha em uma conta de gerenciamento. Para mais informações, consulte DeploymentTargets.

Para concluir o processo de integração, consulte Concluir o processo de integração.

Configurar contas da AWS manualmente

Se não for possível usar os modelos do CloudFormation (por exemplo, se você estiver usando nomes de papéis diferentes ou personalizando a integração), crie manualmente as políticas necessárias do AWS IAM e os papéis do AWS IAM.

Crie políticas e papéis do AWS IAM para a conta delegada e as contas do coletor.

Crie a política do AWS IAM para o papel delegado

Para criar uma política do AWS IAM para o papel delegado (uma política delegada), faça o seguinte:

  1. Faça login no console da conta delegada da AWS.

  2. Clique em Políticas > Criar política.

  3. Clique em JSON e cole o seguinte:

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

    Substitua COLLECTOR_ROLE_NAME pelo nome do papel do coletor que você copiou ao configurar o Security Command Center. O padrão é aws-collector-role.

  4. Clique em Próxima.

  5. Na seção Detalhes da política, insira um nome e uma descrição para a política.

  6. Clique em Criar política.

Criar um papel do AWS IAM para a relação de confiança entre a AWS e o Google Cloud

Crie um papel delegado que configure uma relação confiável entre a AWS e o Google Cloud. Esse papel usa a política delegada que foi criada em Criar a política de IAM da AWS para o papel delegado.

  1. Faça login no console da conta delegada da AWS como um usuário da AWS que possa criar papéis e políticas do IAM.

  2. Clique em Funções > Criar função.

  3. Em Tipo de entidade confiável, clique em Identidade da Web.

  4. Em Identity Provider, clique em Google.

  5. Em Público, insira o ID da conta de serviço copiado quando você configurou o Security Command Center. Clique em Próximo.

  6. Para conceder ao papel delegado acesso aos papéis do coletor, anexe as políticas de permissão ao papel. Pesquise a política delegada criada em Criar a política de IAM da AWS para o papel delegado e selecione-a.

  7. Na seção Detalhes do papel, insira o Nome do papel delegado que você copiou ao configurar o Security Command Center (o nome padrão é aws-delegated-role).

  8. Clique em Criar função.

Crie a política do AWS IAM para coleta de dados de recursos

Para criar uma política do AWS IAM para coleta de dados de recursos (a política do coletor), faça o seguinte:

  1. Faça login no console da conta de coletor da AWS.

  2. Clique em Políticas > Criar política.

  3. Clique em JSON e cole o seguinte:

    {
      "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. Clique em Próxima.

  5. Na seção Detalhes da política, insira um nome e uma descrição para a política.

  6. Clique em Criar política.

  7. Repita essas etapas para cada conta de coletor.

Crie o papel do AWS IAM para a coleta de dados em cada conta

Crie o papel de coletor que permite ao Security Command Center receber dados de recursos da AWS. Esse papel usa a política do coletor que foi criada em Criar a política do IAM da AWS para coleta de dados de recursos.

  1. Faça login no console da conta de coletor da AWS como um usuário que possa criar papéis do IAM para as contas de coletor.

  2. Clique em Funções > Criar função.

  3. Em Tipo de entidade confiável, clique em Política de confiança personalizada.

  4. Na seção Política de confiança personalizada, cole o seguinte:

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

    Substitua:

  5. Para conceder ao papel de coletor acesso aos dados de configuração dos recursos da AWS, anexe as políticas de permissão ao papel. Pesquise a política de coletor personalizada criada em Criar a política do IAM da AWS para coleta de dados de recursos e selecione-a.

  6. Pesquise e selecione as seguintes políticas gerenciadas:

    • arn:aws:iam::aws:policy/job-function/ViewOnlyAccess
    • arn:aws:iam::aws:policy/SecurityAudit
  7. Na seção Detalhes do papel, insira o Nome do papel do coletor que você copiou ao configurar o Security Command Center.

  8. Clique em Criar função.

  9. Repita essas etapas para cada conta de coletor.

Para concluir o processo de integração, consulte Concluir o processo de integração.

Conclua o processo de integração

  1. No console do Google Cloud, acesse a página Adicionar conector da Amazon Web Services.

    Acessar o conector da Amazon Web Services

  2. Clique em Testar conector para verificar se o Security Command Center pode se conectar ao ambiente da AWS. Se a conexão for bem-sucedida, o agente de serviço do Google Cloud poderá presumir que o papel delegado tem todas as permissões necessárias para assumir o papel do coletor. Se a conexão não for bem-sucedida, consulte Como solucionar erros ao testar a conexão.

  3. Clique em Criar.

Configuração personalizada

Nesta seção, descrevemos algumas maneiras de personalizar a conexão entre o Security Command Center e a AWS. Essas opções estão disponíveis na seção Opções avançadas (opcional) da página Adicionar conector do Amazon Web Services no console do Google Cloud.

Por padrão, o Security Command Center faz a descoberta automática de contas da AWS em todas as regiões. A conexão usa o endpoint global padrão do AWS Security Token Service e as consultas por segundo (QPS) padrão do serviço da AWS que você está monitorando. Essas opções avançadas permitem personalizar os padrões.

Opção Descrição
Especificar quais contas da AWS usar É possível permitir que o Security Command Center descubra as contas da AWS automaticamente ou fornecer uma lista de contas da AWS que o Security Command Center pode usar para encontrar recursos.
Especifique quais contas da AWS excluir Se você permitir que o Security Command Center descubra contas automaticamente, será possível fornecer uma lista das contas da AWS que o Security Command Center não poderá usar para encontrar recursos.
Especifique quais regiões da AWS serão monitoradas É possível selecionar uma ou mais regiões da AWS para o Security Command Center monitorar. Deixe o campo Regiões da AWS vazio para monitorar todas as regiões.
Substituir as consultas por segundo (QPS) padrão dos serviços da AWS É possível alterar o QPS para controlar o limite de cota do Security Command Center. Defina a substituição como um valor menor que o valor padrão desse serviço e maior ou igual a 1. O valor padrão é o máximo. Se você alterar o QPS, o Security Command Center poderá ter problemas ao buscar dados. Portanto, não recomendamos alterar esse valor.
Alterar o endpoint do AWS Security Token Service É possível especificar um endpoint específico para o AWS Security Token Service (por exemplo, https://sts.us-east-2.amazonaws.com). Deixe o campo AWS Security Token Service (AWS STS) (opcional) vazio para usar o endpoint global padrão (https://sts.amazonaws.com).

Solução de problemas

Nesta seção, incluímos alguns problemas comuns que você pode encontrar ao integrar o Security Command Center à AWS.

Os recursos já existem

Esse erro ocorre no ambiente da AWS quando você tenta criar as políticas e os papéis de IAM da AWS. Esse problema ocorre quando o papel já existe na conta da AWS e você está tentando criá-lo novamente.

Para resolver esse problema, siga estas etapas:

  • Verifique se o papel ou a política que você está criando já existe e atende aos requisitos listados neste guia.
  • Se necessário, mude o nome da função para evitar conflitos.

Principal inválido na política

Esse erro pode ocorrer no ambiente da AWS durante a criação dos papéis do coletor, mas o papel de delegado ainda não existe.

Para resolver esse problema, conclua as etapas em Criar a política de IAM da AWS para o papel delegado e aguarde até que o papel delegado seja criado antes de continuar.

Limitações de limitação na AWS

A AWS limita as solicitações de API para cada conta da AWS por conta ou região. Para garantir que esses limites não sejam excedidos quando o Security Command Center coletar metadados de recursos da AWS, o Security Command Center coleta os dados em um QPS máximo fixo para cada serviço da AWS, conforme descrito na documentação da API para o serviço da AWS.

Se você tiver uma limitação de solicitações no ambiente da AWS devido ao QPS consumido, poderá atenuar o problema concluindo o seguinte:

  • Na página de configurações do conector da AWS, defina um QPS personalizado para o serviço da AWS que está enfrentando problemas de limitação de solicitações.

  • Restrinja as permissões do papel de coletor da AWS para que os dados desse serviço específico não sejam mais coletados. Essa técnica de mitigação impede que simulações de caminho de ataque funcionem corretamente na AWS.

A revogação de todas as permissões na AWS interrompe imediatamente o processo do coletor de dados. A exclusão do conector da AWS não interrompe imediatamente o processo do coletor de dados, mas não recomeça após a conclusão.

Solução de problemas ao testar a conexão

Esses erros podem ocorrer quando você testa a conexão entre o Security Command Center e a AWS.

AWS_FAILED_TO_ASSUME_DELEGATED_ROLE

A conexão é inválida porque o agente de serviço do Google Cloud não pode assumir o papel delegado.

Para resolver esse problema, considere o seguinte:

AWS_FAILED_TO_LIST_ACCOUNTS

A conexão é inválida porque a descoberta automática está ativada e o papel delegado não pode acessar todas as contas da AWS nas organizações.

Esse problema indica que a política que permite a ação organizations:ListAccounts no papel delegado está ausente em determinados recursos. Para resolver esse problema, verifique quais recursos estão faltando. Para verificar as configurações da política delegada, consulte Criar a política de IAM da AWS para o papel delegado.

AWS_INVALID_COLLECTOR_ACCOUNTS

A conexão é inválida porque há contas de coletor inválidas. A mensagem de erro inclui mais informações sobre as possíveis causas, incluindo o seguinte:

AWS_FAILED_TO_ASSUME_COLLECTOR_ROLE

A conta do coletor é inválida porque o papel delegado não pode assumir o papel de coletor na conta do coletor.

Para resolver esse problema, considere o seguinte:

AWS_COLLECTOR_ROLE_POLICY_MISSING_REQUIRED_PERMISSION

A conexão é inválida porque a política do coletor não tem algumas das configurações de permissão necessárias.

Para resolver esse problema, considere as seguintes causas:

A seguir