Conceitos básicos sobre o GuardDuty - Amazon GuardDuty

Conceitos básicos sobre o GuardDuty

Este tutorial fornece uma introdução prática ao GuardDuty. Os requisitos mínimos para habilitar o GuardDuty como uma conta independente ou como administrador do GuardDuty com AWS Organizations são abordados na Etapa 1. As etapas 2 a 5 abrangem o uso de outros recursos recomendados pelo GuardDuty para aproveitar ao máximo as descobertas.

Antes de começar

O GuardDuty é um serviço de detecção de ameaças que monitora Fontes de dados fundamentais do GuardDuty, como logs de eventos do AWS CloudTrail, eventos de gerenciamento do AWS CloudTrail, logs de fluxo da Amazon VPC e logs de DNS. O GuardDuty também analisa os atributos associados a tipos de proteção que ele oferece somente se você os habilitar separadamente. Os atributos incluem logs de auditoria do Kubernetes, atividade de login do RDS, logs do S3, volumes do EBS, monitoramento de runtime e registros de atividades de rede do Lambda. Ao usar essas fontes de dados e atributos (se habilitados), o GuardDuty gera descobertas de segurança para sua conta.

Depois de habilitado, o GuardDuty começará a monitorar seu ambiente. Você pode desabilitar o GuardDuty para qualquer conta em qualquer região, a qualquer momento. Isso impedirá que o GuardDuty processe as fontes de dados fundamentais e quaisquer recursos que tenham sido habilitados separadamente.

Não é necessário habilitar explicitamente nenhuma das opções de Fontes de dados fundamentais do GuardDuty. Ao habilitar a Proteção do S3, não é necessário habilitar explicitamente o registro de eventos de dados do Amazon S3. Da mesma forma, ao habilitar a proteção EKS, não é necessário habilitar explicitamente os logs de auditoria do Amazon EKS. O Amazon GuardDuty extrai fluxos independentes de dados diretamente desses serviços. Para uma nova conta do GuardDuty, alguns dos tipos de proteção disponíveis que são compatíveis em uma Região da AWS estão habilitados e incluídos no período de teste gratuito de 30 dias por padrão. É possível desabilitar um ou todos eles. Caso já tenha um GuardDuty habilitado, pode optar por habilitar qualquer um ou todos os planos de proteção disponíveis em sua região Conta da AWS. Para obter uma descrição geral dos planos de proteção e de quais planos de proteção serão habilitados por padrão, consulte Definição de preço do GuardDuty.

Ao habilitar o GuardDuty, considere os seguintes itens:

  • O GuardDuty é um serviço regional, o que significa que qualquer um dos procedimentos de configuração seguidos nesta página deve ser repetido em cada região que você deseja monitorar com o GuardDuty.

    É altamente recomendável que você ative o GuardDuty em todas as regiões da AWS compatíveis. Isso permite que o GuardDuty gere descobertas sobre atividades incomuns ou não autorizadas, mesmo em regiões que você não está utilizando ativamente. Isso também habilita o GuardDuty a monitorar eventos do AWS CloudTrail quanto a serviços globais da AWS, como o IAM. Se o GuardDuty não estiver habilitado em todas as regiões compatíveis, sua capacidade de detectar atividades que envolvem serviços globais será reduzida. Para obter uma lista completa das regiões em que o GuardDuty está disponível, consulte Regiões e endpoints.

  • Qualquer usuário com privilégios de administrador em uma conta da AWS pode habilitar o GuardDuty, no entanto, conforme a prática recomendada de segurança de privilégio mínimo, é recomendável criar um perfil, usuário ou grupo do IAM para gerenciar o GuardDuty especificamente. Para obter informações sobre as permissões necessárias para habilitar o GuardDuty, consulte Permissões necessárias para habilitar o GuardDuty.

  • Ao habilitar o GuardDuty pela primeira vez em qualquer região Região da AWS, por padrão, ele também habilita todos os tipos de proteção disponíveis que são suportados nessa região, incluindo a Proteção contra Malware para o EC2. O GuardDuty cria uma função vinculada ao serviço para sua conta chamada AWSServiceRoleForAmazonGuardDuty. Essa função inclui as permissões e as políticas de confiança que permitem ao GuardDuty consumir e analisar eventos diretamente do Fontes de dados fundamentais do GuardDuty para gerar descobertas de segurança. A Proteção contra malware para o EC2 cria outra função vinculada ao serviço para sua conta chamada AWSServiceRoleForAmazonGuardDutyMalwareProtection. Essa função inclui as permissões e as políticas de confiança que permitem que a Proteção contra malware para o EC2 realize verificações sem agente para detectar malware em sua conta do GuardDuty. Ele permite que o GuardDuty crie um snapshot do volume do EBS em sua conta e compartilhe esse snapshot com a conta de serviço do GuardDuty. Para obter mais informações, consulte Permissões de função vinculada ao serviço do GuardDuty. Para obter mais informações sobre funções vinculadas a um serviço, consulte Como usar funções vinculadas a serviços.

  • Ao habilitar o GuardDuty pela primeira vez em qualquer região, sua conta da AWS será inscrita automaticamente em uma avaliação gratuita de 30 dias do GuardDuty para essa região.

O vídeo a seguir explica como uma conta de administrador pode começar a usar o GuardDuty e habilitá-lo em várias contas-membro.

Etapa 1: habilitar o Amazon GuardDuty

A primeira etapa é habilitar o GuardDuty para usá-lo em sua conta. Depois de habilitado, o GuardDuty começará imediatamente a monitorar as ameaças à segurança na região atual.

Caso queira gerenciar as descobertas do GuardDuty para outras contas dentro da sua organização como administrador do GuardDuty, é necessário adicionar contas-membro e ativar o GuardDuty para elas também.

nota

Caso queira habilitar a Proteção contra malware para o S3 sem habilitar o GuardDuty, para obter as etapas, consulte Proteção contra malware para S3 do GuardDuty.

Standalone account environment
  1. Abra o console do GuardDuty em https://console.aws.amazon.com/guardduty

  2. Selecione a opção Amazon GuardDuty - Todos os atributos.

  3. Selecione Comece a usar.

  4. Na página Bem-vindo ao GuardDuty, veja os termos de serviço. Selecione Como habilitar o GuardDuty.

Multi-account environment
Importante

Como pré-requisitos para esse processo, você deve estar na mesma organização de todas as contas que deseja gerenciar e ter acesso à conta de gerenciamento do AWS Organizations para delegar um administrador para o GuardDuty em sua organização. Permissões adicionais podem ser necessárias para delegar um administrador. Para obter mais informações, consulte Permissões necessárias para designar uma conta de administrador delegado do GuardDuty.

Para designar uma conta de administrador delegado do GuardDuty

  1. Use uma conta de gerenciamento para abrir o console do AWS Organizations em https://console.aws.amazon.com/organizations/.

  2. Abra o console do GuardDuty em https://console.aws.amazon.com/guardduty.

    O GuardDuty já está habilitado em sua conta?

    • Se o GuardDuty ainda não estiver habilitado, é possível selecionar Começar a usar e designar um administrador delegado do GuardDuty na página Bem-vindo ao GuardDuty.

    • Se o GuardDuty estiver habilitado, é possível designar um administrador delegado do GuardDuty na página Configurações.

  3. Digite o ID de doze dígitos da conta da AWS que você deseja designar como o administrador delegado do GuardDuty para a organização e selecione Delegar.

    nota

    Se o GuardDuty ainda não estiver habilitado, designar um administrador delegado habilitará o GuardDuty para essa conta na região atual.

Para adicionar contas-membro

Esse procedimento abrange a adição de contas-membro a uma conta de administrador delegado do GuardDuty por meio de AWS Organizations. Também é possível adicionar membros por convite. Para saber mais sobre os dois métodos para associar membros no GuardDuty, consulte Múltiplas contas no Amazon GuardDuty.

  1. Faça login na conta de administrador delegado

  2. Abra o console do GuardDuty em https://console.aws.amazon.com/guardduty.

  3. No painel de navegação, escolha Configurações e selecione Contas.

    A tabela de contas exibe todas as contas na organização.

  4. Selecione as contas que deseja adicionar como membros marcando a caixa de seleção ao lado do ID da conta. Depois, no menu Ação, selecione Adicionar membro.

    dica

    Você pode automatizar a inclusão de novas contas como membros habilitando o atributo de habilitação automática. No entanto, isso se aplica somente às contas que ingressam na sua organização após a habilitação do atributo.

Etapa 2: gerar descobertas de amostra e explorar as operações básicas

O GuardDuty gera uma descoberta quando identifica um problema de segurança. Uma descoberta do GuardDuty é um conjunto de dados com os detalhes relacionados a esse problema de segurança exclusivo. Os detalhes da descoberta podem ser usados para ajudar a investigar o problema.

O GuardDuty é compatível com a geração de amostras de descobertas com valores de espaço reservado, que podem ser usados para testar a funcionalidade do GuardDuty e se familiarizar com as descobertas antes de precisar responder a um problema de segurança real descoberto pelo GuardDuty. Siga o guia abaixo para gerar exemplos de descobertas para cada tipo de descoberta disponível no GuardDuty. Para obter outras formas de gerar exemplos de descobertas, incluindo a geração de um evento de segurança simulado em sua conta, consulte Descobertas de exemplo.

Para criar e explorar descobertas de amostra

  1. No painel de navegação, selecione Configurações.

  2. Na página Configurações, em Amostras de descobertas, escolha Gerar amostras de descobertas.

  3. No painel de navegação, escolha Resumo para visualizar os insights sobre as descobertas geradas em seu ambiente da AWS. Para obter mais informações sobre os componentes do painel de resumo, consulte Dashboard de resumo no Amazon GuardDuty.

  4. No painel de navegação, selecione Descobertas. As descoberta de amostra são exibidas na página Descobertas atuais com o prefixo [SAMPLE].

  5. Selecione uma descoberta na lista para exibir os detalhes dela.

    1. Os diversos campos de informações disponíveis podem ser revisados no painel de detalhes da descoberta. Tipos diferentes de descobertas podem ter campos diferentes. Para obter mais informações sobre os campos disponíveis em todos os tipos de descoberta, consulte Detalhes da descoberta. No painel de detalhes, você pode utilizar as seguintes ações:

      • Na parte superior do painel, selecione o ID da descoberta para abrir os detalhes completos do JSON da descoberta. Nesse painel também é possível baixar o arquivo JSON completo. O JSON contém algumas informações adicionais não incluídas na visualização do console e é o formato que outras ferramentas e serviços podem ingerir.

      • Veja a seção Recurso afetado. Em uma descoberta real, as informações aqui ajudarão a identificar um recurso na conta que deve ser investigado e incluirão links para o AWS Management Console apropriado, que conterá recursos disponíveis para uso.

      • Selecione os ícones de lupa + ou - para criar um filtro inclusivo ou exclusivo para esse detalhe. Para obter mais informações sobre os filtros de descobertas, consulte Exibir resultados filtrados no GuardDuty.

  6. Arquive todas as suas descobertas de amostra

    1. Selecione todas as descobertas marcando a caixa de seleção na parte superior da lista.

    2. Desmarque todas as descobertas que você deseja manter.

    3. Selecione o menu Ações e, em seguida, selecione Arquivar para ocultar as descobertas de amostra.

      nota

      Selecione Atual para visualizar as descobertas arquivadas e, em seguida, Arquivado para alternar a visualização das descobertas.

Etapa 3: configurar a exportação de descobertas do GuardDuty para um bucket do Amazon S3

O GuardDuty recomenda definir configurações para exportar descobertas, porque ele permite exportá-las para um bucket do S3 para armazenamento indefinido além do período de retenção de 90 dias do GuardDuty. Isso permite manter registros das descobertas ou acompanhar problemas no ambiente da AWS ao longo do tempo. O processo descrito aqui orienta a configuração de um novo bucket do S3 e a criação de uma nova chave do KMS para criptografar as descobertas de dentro do console. Para obter mais informações sobre isso, incluindo como usar seu próprio bucket existente ou um bucket em outra conta, consulte Exportar as descobertas geradas para bucket do Amazon S3.

Para configurar a opção exportar descobertas do S3
  1. Para criptografar as descobertas, você precisará de uma chave do KMS com uma política para permitir que o GuardDuty use essa chave para criptografia. As etapas a seguir ajudarão a criar uma nova chave do KMS. Se você estiver usando uma chave do KMS de outra conta, precisará aplicar a política de chaves fazendo login na Conta da AWS proprietária da chave. A região de sua chave do KMS e do bucket do S3 deve ser a mesma. No entanto, é possível usar esse mesmo bucket e o mesmo par de chaves para cada região de onde as descobertas serão exportadas.

    1. Abra o console do AWS KMS em https://console.aws.amazon.com/kms.

    2. Para alterar a Região da AWS, use o seletor de regiões no canto superior direito da página.

    3. No painel de navegação, escolha Chaves gerenciadas pelo cliente.

    4. Escolha Criar chave.

    5. Escolha Simétrico em Tipo de chave e, em seguida, escolha Próximo.

      nota

      As etapas detalhadas da criação de sua chave do KMS podem ser consultadas em Criar chaves no Guia do Desenvolvedor do AWS Key Management Service.

    6. Forneça um Alias para sua chave e escolha Próximo.

    7. Escolha Próximo e, novamente, escolha Próximo para aceitar as permissões padrão de administração e uso.

    8. Depois de Revisar a configuração, escolha Concluir para criar a chave.

    9. Na página Chaves gerenciadas pelo cliente, escolha o alias de sua chave.

    10. Na seção Política de chaves, selecione Mudar para visualização da política.

    11. Escolha Editar e adicione a política de chaves a seguir à sua chave do KMS, concedendo ao GuardDuty acesso à sua chave. Essa instrução permite que o GuardDuty use somente a chave em que você adicionar essa política. Durante a edição da política de chaves, verifique se a sintaxe JSON é válida. Se você adicionar a declaração antes da declaração final, adicione uma vírgula após o colchete de fechamento.

      { "Sid": "AllowGuardDutyKey", "Effect": "Allow", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "kms:GenerateDataKey", "Resource": "arn:aws:kms:Region1:444455556666:key/KMSKeyId", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333", "aws:SourceArn": "arn:aws:guardduty:Region2:111122223333:detector/SourceDetectorID" } } }

      Substitua Region1 pela região da sua chave do KMS. Substitua 444455556666 com a Conta da AWS que tem a chave do KMS. Substitua o KMSKeyID pelo ID chave da chave do KMS escolhida para criptografia. Para identificar todos esses valores (região, Conta da AWS e ID da chave), visualize o ARN da sua chave do KMS. Para localizar o ARN da chave, consulte Como localizar o ID e o ARN da chave.

      Da mesma forma, substitua 111122223333 pela Conta da AWS da conta GuardDuty. Substitua a Region2 pela Região da conta GuardDuty. Substitua o SourceDetectorID pelo ID de detector da conta do GuardDuty para a Region2.

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

    12. Selecione Salvar.

  2. Abra o console do GuardDuty em https://console.aws.amazon.com/guardduty.

  3. No painel de navegação, selecione Configurações.

  4. Em Opções de exportação de descobertas, escolha Configure agora.

  5. Selecione Novo bucket. Forneça um nome exclusivo para o seu bucket do S3.

  6. (Opcional) Você pode testar suas novas configurações de exportação gerando descobertas de amostra. No painel de navegação, selecione Configurações.

  7. Em Descobertas de amostra, escolha Gerar descobertas de amostra. As novas descobertas de amostra serão exibidas como entradas no bucket do S3 criado pelo GuardDuty em até cinco minutos.

Etapa 4: configurar alertas de descoberta do GuardDuty por meio do SNS

O GuardDuty se integra ao Amazon EventBridge, que pode ser usado para enviar dados de descobertas para outros aplicativos e serviços para processamento. Com o EventBridge, você pode usar as descobertas do GuardDuty para iniciar respostas automáticas às suas descobertas conectando eventos de busca a destinos como funções do AWS Lambda, automação do Amazon EC2 Systems Manager, Amazon Simple Notification Service (SNS) e muito mais.

Neste exemplo, você criará um tópico do SNS para ser o destino de uma regra do EventBridge e, em seguida, usará o EventBridge para criar uma regra que capture dados de descobertas do GuardDuty. A regra resultante encaminha os detalhes da descoberta para um endereço de e-mail. Para saber como você pode enviar descobertas para o Slack ou o Amazon Chime e também modificar os tipos de descobertas para os quais os alertas são enviados, consulte Configurar um tópico e um endpoint do Amazon SNS.

Para criar um tópico do SNS para seus alertas de descobertas

  1. Abra o console do Amazon SNS em https://console.aws.amazon.com/sns/v3/home.

  2. No painel de navegação, escolha Tópicos.

  3. Selecione Criar tópico.

  4. Em Tipo, selecione Padrão.

  5. Em Nome, digite GuardDuty.

  6. Selecione Criar tópico. A seção Detalhes do novo tópico será aberta.

  7. Na seção Inscrições, escolha Criar inscrição.

  8. Em Protocolo, escolha E-mail.

  9. Para Endpoint, insira o endereço de e-mail que deve receber as notificações.

  10. Selecione Criar assinatura.

    É necessário confirmar a assinatura por e-mail após a criação da assinatura.

  11. Para conferir se há uma mensagem de assinatura, acesse sua caixa de entrada de e-mail e, na mensagem de assinatura, escolha Confirmar assinatura.

    nota

    Para conferir o status do e-mail de confirmação, acesse o console do SNS e escolha Assinaturas.

Para criar uma regra do EventBridge para capturar e formatar as descobertas do GuardDuty

  1. Abra o console do EventBridge em https://console.aws.amazon.com/events/.

  2. No painel de navegação, escolha Regras.

  3. Escolha Create rule.

  4. Insira um nome e uma descrição para a regra.

    Uma regra não pode ter o mesmo nome que outra na mesma Região e barramento de eventos.

  5. Em Barramento de eventos, escolha padrão.

  6. Em Tipo de Regra, escolha Regra com Padrão de Evento.

  7. Escolha Próximo.

  8. Em Origem de eventos, escolha Eventos da AWS.

  9. Em Padrão de evento, selecione Formulário de padrão de evento.

  10. Em Fonte do evento, selecione Serviços da AWS.

  11. Para Serviço da AWS, escolha GuardDuty.

  12. No menu Tipo de evento, escolha Descobera do GuardDuty.

  13. Escolha Avançar.

  14. Em Tipos de destino, escolha Serviço da AWS.

  15. Em Selecionar um destino, escolha Tópico do SNS e, em Tópico, escolha o nome do tópico do SNS que você criou anteriormente.

  16. Na seção Configurações adicionais, para Configurar entrada de destino, escolha Transformador de entrada.

    Adicionar um transformador de entrada formata os dados de descoberta JSON enviados do GuardDuty em uma mensagem legível por humanos.

  17. Escolha Configurar o transformador de entrada.

  18. Na seção Transformador de entrada de destino, em Caminho de entrada, cole este código:

    { "severity": "$.detail.severity", "Finding_ID": "$.detail.id", "Finding_Type": "$.detail.type", "region": "$.region", "Finding_description": "$.detail.description" }
  19. Para formatar o e-mail, em Modelo, cole o código a seguir e certifique-se de substituir o texto em vermelho pelos valores apropriados à sua região:

    "You have a severity severity GuardDuty finding type Finding_Type in the Region_Name Region." "Finding Description:" "Finding_Description." "For more details open the GuardDuty console at https://console.aws.amazon.com/guardduty/home?region=region#/findings?search=id%3DFinding_ID"
  20. Selecione a opção Confirmar.

  21. Escolha Próximo.

  22. (Opcional) Insira uma ou mais tags para a regra. Para mais informações, consulte Tags Amazon EventBridge em Guia de Usuário Amazon EventBridge.

  23. Escolha Próximo.

  24. Analise os detalhes da regra e selecione Criar regra.

  25. (Opcional) Teste sua nova regra gerando descobertas de exemplo com o processo na Etapa 2. Você receberá um e-mail para cada descoberta de amostra gerada.

Próximas etapas

Ao continuar usando o GuardDuty, você entenderá os tipos de descobertas relevantes para o seu ambiente. Sempre que receber uma nova descoberta, você pode encontrar informações, incluindo recomendações de remediação sobre essa descoberta, selecionando Saiba mais na descrição da descoberta no painel de detalhes da descoberta ou pesquisando o nome da descoberta em Tipos de descoberta do GuardDuty.

Os recursos a seguir ajudarão você a ajustar o GuardDuty para que ele possa fornecer as descobertas mais relevantes para seu ambiente da AWS:

  • Para classificar facilmente as descobertas com base em critérios específicos, como ID da instância, ID da conta, nome do bucket do S3 e muito mais, é possível criar e salvar filtros no GuardDuty. Para obter mais informações, consulte Exibir resultados filtrados no GuardDuty.

  • Se você estiver recebendo descobertas sobre o comportamento esperado em seu ambiente, poderá arquivar automaticamente as descobertas com base nos critérios definidos com as regras de supressão.

  • Para evitar que descobertas sejam geradas a partir de um subconjunto de IPs confiáveis ou para que o GuardDuty monitore IPs fora do escopo normal de monitoramento, você pode configurar Listas de IPs confiáveis e de ameaças.