Cobertura de runtime e solução de problemas para clusters do Amazon ECS - Amazon GuardDuty

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Cobertura de runtime e solução de problemas para clusters do Amazon ECS

A cobertura de tempo de execução dos clusters do Amazon ECS inclui as tarefas em execução nas AWS Fargate instâncias de contêineres do Amazon ECS. 1

Para um cluster do Amazon ECS executado no Fargate, a cobertura do runtime é avaliada no nível da tarefa. A cobertura de runtime dos clusters ECS inclui as tarefas do Fargate que começaram a ser executadas depois que o Monitoramento de runtime e a configuração de agente automatizado foram habilitados para o Fargate (somente ECS). Por padrão, uma tarefa do Fargate é imutável. GuardDuty não será possível instalar o agente de segurança para monitorar contêineres em tarefas já em execução. Para incluir essa tarefa do Fargate, pare e inicie a tarefa novamente. Verifique se o serviço associado é compatível.

Para obter informações sobre o contêiner do Amazon ECS, consulte Criação de capacidade.

Análise de estatísticas de cobertura

As estatísticas de cobertura dos recursos do Amazon ECS associados às suas próprias contas ou contas-membro são a porcentagem dos clusters do Amazon ECS íntegros em relação a todos os clusters do Amazon ECS nas Região da AWS selecionadas. Isso inclui a cobertura dos clusters do Amazon ECS associados às instâncias Fargate e Amazon EC2 . A seguinte equação representa isso como:

(Clusters íntegros/todos os clusters)*100

Considerações

  • As estatísticas de cobertura do cluster do ECS incluem o status de cobertura das tarefas do Fargate ou das instâncias de contêiner do ECS associadas a esse cluster do ECS. O status de cobertura das tarefas do Fargate inclui tarefas que estão em execução ou que foram concluídas recentemente.

  • Na guia Cobertura de runtime de clusters EC, o campo Instâncias de contêiner cobertas indica o status de cobertura das instâncias de contêiner associados ao seu cluster Amazon ECS.

    Se o seu cluster do Amazon ECS contiver somente tarefas do Fargate, a contagem aparecerá como 0/0.

  • Se o seu cluster do Amazon ECS estiver associado a uma EC2 instância da Amazon que não tem um agente de segurança, o cluster do Amazon ECS também terá um status de cobertura insalubre.

    Para identificar e solucionar o problema de cobertura da EC2 instância associada da Amazon, consulte Solução de problemas de cobertura EC2 de tempo de execução da Amazon EC2 Instâncias da Amazon.

Selecione um dos métodos de acesso para revisar as estatísticas de cobertura de suas contas.

Console
  • Faça login no AWS Management Console e abra o GuardDuty console em https://console.aws.amazon.com/guardduty/.

  • No painel de navegação, escolha Monitoramento de runtime.

  • Escolha a guia Cobertura de runtime.

  • Na guia Cobertura de runtime de clusters ECS, você pode visualizar as estatísticas de cobertura agregadas pelo status de cobertura de cada cluster Amazon ECS disponível na tabela Lista de clusters.

    • Você pode filtrar a tabela Lista de clusters pelas seguintes colunas:

      • ID da conta

      • Nome do cluster

      • Tipo de gerenciamento de agentes

      • Status da cobertura

  • Se algum dos seus clusters do Amazon ECS tiver o Status de cobertura como Não íntegro, a coluna Problema incluirá informações adicionais sobre o motivo do status Não íntegro.

    Se seus clusters do Amazon ECS estiverem associados a uma EC2 instância da Amazon, navegue até a guia de cobertura de tempo de execução da EC2 instância e filtre pelo campo Nome do cluster para visualizar o problema associado.

API/CLI
  • Execute a ListCoverageAPI com seu próprio ID de detector válido, região atual e endpoint de serviço. É possível filtrar e classificar a lista de instâncias utilizando essa API.

    • Você pode alterar o filter-criteria de exemplo com uma das seguintes opções para CriterionKey:

      • ACCOUNT_ID

      • ECS_CLUSTER_NAME

      • COVERAGE_STATUS

      • MANAGEMENT_TYPE

    • Você pode alterar o AttributeName de exemplo em sort-criteria com uma das seguintes opções:

      • ACCOUNT_ID

      • COVERAGE_STATUS

      • ISSUE

      • ECS_CLUSTER_NAME

      • UPDATED_AT

        O campo é atualizado somente quando uma nova tarefa é criada no cluster associado do Amazon ECS ou quando ocorre uma alteração no status da respectiva cobertura.

    • Você pode alterar o max-results (até 50).

    • Para encontrar o detectorId para sua conta e região atual, consulte a página Configurações no https://console.aws.amazon.com/guardduty/console ou execute o ListDetectorsAPI.

    aws guardduty --region us-east-1 list-coverage --detector-id 12abc34d567e8fa901bc2d34e56789f0 --sort-criteria '{"AttributeName": "ECS_CLUSTER_NAME", "OrderBy": "DESC"}' --filter-criteria '{"FilterCriterion":[{"CriterionKey":"ACCOUNT_ID", "FilterCondition":{"EqualsValue":"111122223333"}}] }' --max-results 5
  • Execute a GetCoverageStatisticsAPI para recuperar estatísticas agregadas de cobertura com base no. statisticsType

    • Você pode alterar o statisticsType de exemplo com uma das seguintes opções:

      • COUNT_BY_COVERAGE_STATUS – representa estatísticas de cobertura para clusters do ECS agregadas por status de cobertura.

      • COUNT_BY_RESOURCE_TYPE— Estatísticas de cobertura agregadas com base no tipo de AWS recurso na lista.

      • Você pode alterar o filter-criteria de exemplo no comando. É possível usar as seguintes opções para CriterionKey:

        • ACCOUNT_ID

        • ECS_CLUSTER_NAME

        • COVERAGE_STATUS

        • MANAGEMENT_TYPE

        • INSTANCE_ID

    • Para encontrar o detectorId para sua conta e região atual, consulte a página Configurações no https://console.aws.amazon.com/guardduty/console ou execute o ListDetectorsAPI.

    aws guardduty --region us-east-1 get-coverage-statistics --detector-id 12abc34d567e8fa901bc2d34e56789f0 --statistics-type COUNT_BY_COVERAGE_STATUS --filter-criteria '{"FilterCriterion":[{"CriterionKey":"ACCOUNT_ID", "FilterCondition":{"EqualsValue":"123456789012"}}] }'

Para obter mais informações sobre esses problemas de cobertura, consulte Solução de problemas de cobertura de runtime do Amazon ECS-Fargate.

Alteração do status da cobertura com EventBridge notificações

O status da cobertura do seu cluster Amazon ECS pode aparecer como Não íntegro. Para saber quando o status de cobertura é alterado, recomendamos monitorar o status de cobertura periodicamente e solucionar o problema, se o status se tornar Não íntegro. Como alternativa, você pode criar uma EventBridge regra da Amazon para receber uma notificação quando o status da cobertura mudar de Insalubre para Saudável ou não. Por padrão, GuardDuty publica isso no EventBridge barramento da sua conta.

Exemplo de esquema de notificação

Em uma EventBridge regra, você pode usar os exemplos de eventos e padrões de eventos predefinidos para receber a notificação do status da cobertura. Para obter mais informações sobre a criação de uma EventBridge regra, consulte Criar regra no Guia EventBridge do usuário da Amazon.

Além disso, você pode criar um padrão de evento personalizado usando o exemplo de esquema de notificação a seguir. Substitua os valores da sua conta. Para ser notificado quando o status da cobertura do seu cluster Amazon ECS mudar de Healthy paraUnhealthy, detail-type deveria serGuardDuty Runtime Protection Unhealthy. Para ser notificado quando o status da cobertura mudar de Unhealthy paraHealthy, substitua o valor de detail-type porGuardDuty Runtime Protection Healthy.

{ "version": "0", "id": "event ID", "detail-type": "GuardDuty Runtime Protection Unhealthy", "source": "aws.guardduty", "account": "Conta da AWS ID", "time": "event timestamp (string)", "region": "Região da AWS", "resources": [ ], "detail": { "schemaVersion": "1.0", "resourceAccountId": "string", "currentStatus": "string", "previousStatus": "string", "resourceDetails": { "resourceType": "ECS", "ecsClusterDetails": { "clusterName":"", "fargateDetails":{ "issues":[], "managementType":"" }, "containerInstanceDetails":{ "coveredContainerInstances":int, "compatibleContainerInstances":int } } }, "issue": "string", "lastUpdatedAt": "timestamp" } }

Solução de problemas de cobertura de runtime do Amazon ECS-Fargate

Se o status da cobertura do seu cluster Amazon ECS for Não íntegro, você poderá ver o motivo na coluna Problema.

A tabela a seguir fornece as etapas recomendadas para a solução de problemas do Fargate (somente Amazon ECS). Para obter informações sobre problemas de cobertura de EC2 instâncias da Amazon, consulte Solução de problemas de cobertura EC2 de tempo de execução da Amazon EC2 Instâncias da Amazon.

Tipo de problema Informações adicionais Etapas para solução de problemas

Agente não sendo relatado

Agente não sendo relatado para tarefas em TaskDefinition - 'TASK_DEFINITION'

Valide se o endpoint da VPC para a tarefa do seu cluster Amazon ECS está configurado corretamente. Para obter mais informações, consulte Validando a configuração do endpoint da VPC.

Se sua organização tiver uma política de controle de serviços (SCP), valide se o limite de permissões não está restringindo a permissão guardduty:SendSecurityTelemetry. Para obter mais informações, consulte Validando sua política de controle de serviço da organização.

VPC_ISSUE; for task in TaskDefinition - 'TASK_DEFINITION'

Veja os detalhes do problema da VPC nas informações extra.

Atendente encerrado

ExitCode: EXIT_CODE para tarefas em TaskDefinition - 'TASK_DEFINITION'

Veja os detalhes do problema nas informações extra.

Motivo: REASON para tarefas em TaskDefinition - 'TASK_DEFINITION'

ExitCode: EXIT_CODE com o motivo: 'EXIT_CODE' para tarefas em TaskDefinition - 'TASK_DEFINITION'

Atendente encerrado: Motivo: CannotPullContainerError: manifesto de imagem pull repetido…

A execução de tarefa deve ter as seguintes permissões Amazon Elastic Container Registry (Amazon ECR):

... "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", ...

Para obter mais informações, consulte Providenciar permissões de ECR e detalhes de sub-rede.

Depois de adicionar as permissões do Amazon ECR, reinicie a tarefa.

Se o problema persistir, consulte Meu AWS Step Functions fluxo de trabalho está falhando inesperadamente.

Falha na criação de endpoint da VPC

A ativação do DNS privado requer ambos enableDnsSupport e os atributos da enableDnsHostnames VPC definidos true como vpcId for (Serviço EC2:, Código de status: 400, ID da solicitação:). a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Verifique se os seguintes atributos da VPC estão definidos como true: enableDnsSupport e enableDnsHostnames. Para obter mais informações, consulte Atributos de DNS na sua VPC.

Se você estiver usando o Amazon VPC Console em https://console.aws.amazon.com/vpc/para criar o Amazon VPC, certifique-se de selecionar Habilitar nomes de host DNS e Ativar resolução de DNS. Para obter mais informações, consulte Opções de configuração da VPC.

Atendente não provisionado

Invocação não suportada por SERVICE para tarefa(s) em TaskDefinition - 'TASK_DEFINITION'

Essa tarefa foi invocada por um SERVICE que não é compatível.

Arquitetura de CPU 'TYPE' não suportada para tarefas em TaskDefinition - 'TASK_DEFINITION'

Essa tarefa está sendo executada em uma arquitetura de CPU não compatível. Para obter informações sobre as arquiteturas de CPU compatíveis, consulte Validação dos requisitos de arquitetura.

TaskExecutionRole faltando em TaskDefinition - 'TASK_DEFINITION'

A função de execução de tarefa do ECS está ausente. Para obter informações sobre o fornecimento da função de execução de tarefa e permissões necessárias, consulte Providenciar permissões de ECR e detalhes de sub-rede.

Falta configuração de rede 'CONFIGURATION_DETAILS' para tarefa(s) em TaskDefinition - 'TASK_DEFINITION'

Problemas de configuração de rede podem aparecer devido à falta de configuração de VPC ou sub-redes ausentes ou vazias.

Valide se sua configuração de rede está correta. Para obter mais informações, consulte Providenciar permissões de ECR e detalhes de sub-rede.

Para obter mais informações, consulte Parâmetros da definição de tarefa do Amazon ECS no Guia do desenvolvedor do Amazon Elastic Container Service.

As tarefas iniciadas quando os clusters tinham uma tag de exclusão são excluídas do Runtime Monitoring. ID (s) da tarefa afetada: 'TASK_ID

Quando você altera a GuardDuty tag predefinida de GuardDutyManaged - true para GuardDutyManaged -false, não GuardDuty receberá os eventos de tempo de execução desse cluster do Amazon ECS.

Atualize a tag para GuardDutyManaged - true e reinicie a tarefa.

Os serviços implantados quando os clusters tinham uma etiqueta de exclusão são excluídos do Runtime Monitoring. Nome (s) do serviço afetado: '' SERVICE_NAME

Quando os serviços são implantados com a tag de exclusão GuardDutyManaged -false, não GuardDuty receberão eventos de tempo de execução para esse cluster do Amazon ECS.

Atualize a tag para GuardDutyManaged - true e depois reimplante o serviço.

As tarefas iniciadas antes da ativação da Configuração Automatizada do Agente não são abordadas. ID (s) da tarefa afetada: '' TASK_ID

Quando o cluster contém uma tarefa iniciada antes de ativar a configuração automatizada do agente para o Amazon ECS, não GuardDuty será possível protegê-la. Reinicie a tarefa para que ela seja monitorada por. GuardDuty

Os serviços implantados antes da ativação da Configuração Automatizada do Agente não são cobertos. Nome (s) do serviço afetado: '' SERVICE_NAME

Quando os serviços são implantados antes de habilitar a configuração automatizada de agentes para o Amazon ECS, não GuardDuty receberão eventos de tempo de execução para clusters do ECS.

O serviço 'SERVICE_NAME' requer uma nova implantação para ser corrigido/solucionando problemas. Consulte a documentação, nome (s) do (s) serviço (s) afetado (s): '' SERVICE_NAME

Um serviço iniciado antes de ativar o Runtime Monitoring não é suportado.

Você pode reiniciar o serviço ou atualizar o serviço com a forceNewDeployment opção seguindo as etapas em Atualizar um serviço do Amazon ECS usando o console no Amazon Elastic Container Service Developer Guide. Como alternativa, você também pode usar as etapas abaixo UpdateServicena Referência de API do Amazon Elastic Container Service.

As tarefas iniciadas antes da ativação do Runtime Monitoring exigem uma reinicialização. ID (s) da tarefa afetada: '' TASK_ID_1

No Amazon ECS, as tarefas são imutáveis. Para avaliar o comportamento do tempo de execução ou uma AWS Fargate tarefa em execução, verifique se o Runtime Monitoring já está ativado e reinicie a tarefa GuardDuty para adicionar o sidecar do contêiner.

Outros

Problema não identificado, para tarefas em TaskDefinition - 'TASK_DEFINITION'

Use as seguintes questões para identificar a causa raiz do problema:

  • A tarefa foi iniciada antes de você habilitar o Monitoramento de runtime?

    No Amazon ECS, as tarefas são imutáveis. Para avaliar o comportamento em tempo de execução de uma tarefa do Fargate em execução, verifique se o Runtime Monitoring já está ativado e reinicie a tarefa para adicionar o GuardDuty sidecar do contêiner.

  • Essa tarefa faz parte de uma implantação de serviço que começou antes de você ativar o Monitoramento de runtime?

    Se sim, você pode reiniciar o serviço ou atualizá-lo com forceNewDeployment usando as etapas em Atualizando um serviço.

    Você também pode usar UpdateServiceou AWS CLI.

  • A tarefa foi iniciada depois de excluir o cluster ECS do Monitoramento de runtime?

    Quando você altera a GuardDuty tag predefinida de GuardDutyManaged - true para GuardDutyManaged -false, não GuardDuty receberá os eventos de tempo de execução do cluster ECS.

  • Seu serviço contém uma tarefa que tem um formato antigo de taskArn?

    GuardDuty O Runtime Monitoring não oferece suporte à cobertura de tarefas que têm o formato antigo detaskArn.

    Para obter informações sobre Amazon Resource Names (ARNs) para recursos do Amazon ECS, consulte Amazon Resource Names (ARNs) e. IDs