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á.
GuardDuty Resultados do teste em contas dedicadas
Use este documento para executar um script de testador que gera GuardDuty descobertas em relação aos recursos de teste que serão implantados em seu. Conta da AWS Você pode realizar essas etapas quando quiser entender e aprender sobre determinados tipos de GuardDuty descoberta e como os detalhes da descoberta procuram recursos reais em sua conta. Essa experiência é diferente de gerar Descobertas de exemplo. Para obter mais informações sobre a experiência de testar GuardDuty os resultados, consulteConsiderações.
Conteúdo
Considerações
Antes de continuar, leve em conta as seguintes considerações:
-
GuardDuty recomenda implantar o testador em um local dedicado que não seja de produção. Conta da AWS Essa abordagem garantirá que você seja capaz de identificar adequadamente GuardDuty as descobertas geradas pelo testador. Além disso, o GuardDuty testador implanta uma variedade de recursos que podem exigir permissões do IAM além das permitidas em outras contas. O uso de uma conta exclusiva garante que as permissões possam ter o escopo adequado com um limite de conta claro.
-
O script do testador gera mais de 100 GuardDuty descobertas com diferentes combinações AWS de recursos. Atualmente, isso não inclui todos os GuardDuty tipos de descoberta. Para obter uma lista dos tipos de descoberta que você pode gerar com esse script de testador, consulte GuardDuty descobertas que o script do testador pode gerar.
Observação
O script do testador é gerado somente AttackSequence:S3/CompromisedData para tipos de busca de sequência de ataque. Para visualizar e entenderAttackSequence:IAM/CompromisedCredentials, você pode gerar Descobertas de exemplo em sua conta.
-
Para que o GuardDuty testador funcione conforme o esperado, ele GuardDuty precisa estar habilitado na conta em que os recursos do testador são implantados. Dependendo dos testes que serão executados, o testador avalia se os planos de GuardDuty proteção apropriados estão habilitados ou não. Para qualquer plano de proteção que não esteja habilitado, GuardDuty solicitará permissão para habilitar os planos de proteção necessários por tempo suficiente GuardDuty para realizar os testes que gerarão resultados. Posteriormente, GuardDuty desativará o plano de proteção quando o teste for concluído.
- Ativando GuardDuty pela primeira vez
-
Quando GuardDuty for ativada em sua conta dedicada pela primeira vez em uma região específica, sua conta será automaticamente inscrita em um teste gratuito de 30 dias.
GuardDuty oferece planos de proteção opcionais. No momento da ativação GuardDuty, alguns planos de proteção também são ativados e incluídos no teste gratuito GuardDuty de 30 dias. Para obter mais informações, consulte Usando o GuardDuty teste gratuito de 30 dias.
- GuardDuty já está habilitado em sua conta antes de executar o script do testador
-
Quando já GuardDuty estiver ativado, com base nos parâmetros, o script do testador verificará o status da configuração de determinados planos de proteção e outras configurações no nível da conta necessárias para gerar as descobertas.
Ao executar esse script de teste, determinados planos de proteção podem ser habilitados pela primeira vez em sua conta exclusiva em uma região. Esse procedimento iniciará a avaliação gratuita de 30 dias para esse plano de proteção. Para obter informações sobre o teste gratuito associado a cada plano de proteção, consulte Usando o GuardDuty teste gratuito de 30 dias.
-
Desde que a infraestrutura do GuardDuty testador esteja implantada, você poderá ocasionalmente receber UnauthorizedAccess:EC2/TorClient descobertas da PenTest instância.
GuardDuty descobertas que o script do testador pode gerar
Atualmente, o script do testador gera os seguintes tipos de descoberta relacionados aos registros de auditoria da EC2 Amazon, Amazon EKS, Amazon S3, IAM e EKS:
Etapa 1: pré-requisitos
Para preparar seu ambiente de teste, é preciso ter os seguintes itens:
-
Git — Instale a ferramenta de linha de comando git com base no sistema operacional usado. Isso é necessário para clonar o
amazon-guardduty-tester
repositório. -
AWS Command Line Interface— Uma ferramenta de código aberto que permite que você interaja Serviços da AWS usando comandos em seu shell de linha de comando. Para obter mais informações, consulte Conceitos básicos do AWS CLI no Manual do usuário do AWS Command Line Interface .
-
AWS Systems Manager— Para iniciar sessões do Gerenciador de Sessões com seus nós gerenciados usando, AWS CLI você deve instalar o plug-in do Gerenciador de Sessões em sua máquina local. Para obter mais informações, consulte Install the Session Manager Plugin for the AWS CLI no Guia do usuário do AWS Systems Manager .
-
Node Package Manager (NPM) — Instale o NPM para instalar todas as dependências.
-
Docker: é necessário ter o Docker instalado. Para obter instruções de instalação, consulte o site do Docker
. Para verificar se o Docker foi instalado, execute o comando a seguir e confirme se há uma saída semelhante à seguinte saída:
$ docker --version Docker version 19.03.1
-
Assine a imagem do Kali Linux
no AWS Marketplace.
Etapa 2 - Implantar AWS recursos
Esta seção fornece uma lista dos principais conceitos e as etapas para implantar determinados recursos do AWS em sua conta dedicada.
Conceitos
A lista a seguir fornece os principais conceitos relacionados aos comandos que ajudam a implantar os recursos:
-
AWS Cloud Development Kit (AWS CDK)— O CDK é uma estrutura de desenvolvimento de software de código aberto para definir a infraestrutura de nuvem em código e provisioná-la por meio dela. AWS CloudFormation Você pode usar qualquer uma dessas linguagens de programação compatíveis para definir componentes de nuvem reutilizáveis conhecidos como constructos. Você os compõe em pilhas e aplicativos. Em seguida, você pode implantar seus aplicativos CDK AWS CloudFormation para provisionar ou atualizar seus recursos. Para obter mais informações, consulte O que é o AWS CDK? no Guia do AWS Cloud Development Kit (AWS CDK) desenvolvedor.
-
Bootstrapping — É o processo de preparar seu AWS ambiente para uso com. AWS CDK Antes de implantar uma pilha de CDK em um AWS ambiente, o ambiente deve primeiro ser inicializado. Esse processo de provisionamento de AWS recursos específicos em seu ambiente que são usados por AWS CDK faz parte das etapas que você executará na próxima seção -. Etapas para implantar recursos do AWS
Para obter mais informações sobre inicialização, consulte Inicialização no Guia do desenvolvedor do AWS Cloud Development Kit (AWS CDK) .
Etapas para implantar recursos do AWS
Execute as etapas a seguir para começar a implantar os recursos:
-
Configure sua conta e região AWS CLI padrão, a menos que as variáveis de região da conta dedicada sejam definidas manualmente no
bin/cdk-gd-tester.ts
arquivo. Para obter mais informações, consulte Ambientes no Guia do desenvolvedor do AWS Cloud Development Kit (AWS CDK) . -
Para implantar os recursos, execute os seguintes comandos:
git clone https://github.com/awslabs/amazon-guardduty-tester && cd amazon-guardduty-tester npm install cdk bootstrap cdk deploy
O último comando (
cdk deploy
) cria uma AWS CloudFormation pilha em seu nome. O nome dessa pilha é GuardDutyTesterStack.Como parte desse script, GuardDuty cria novos recursos para gerar GuardDuty descobertas em sua conta. Ele também adiciona o seguinte par de tags chave-valor às instâncias da Amazon EC2 :
CreatedBy
:GuardDuty Test Script
As EC2 instâncias da Amazon também incluem as EC2 instâncias que hospedam nós EKS e clusters ECS.
Tipos de instância
GuardDuty foi projetado para usar tipos de instância econômicos que fornecem o desempenho mínimo necessário para realizar testes com êxito. Devido aos requisitos de vCPU, o grupo de nós do Amazon EKS exige
t3.medium
, e devido ao aumento da capacidade de rede necessária para DenialOfService encontrando testes, o nó do driver exigem6i.large
. Para todos os outros testes, GuardDuty usa o tipo det3.micro
instância. Para obter mais informações sobre os tipos de instância, consulte Tamanhos disponíveis no Guia de tipos de EC2 instâncias da Amazon.
Etapa 3 - Executar scripts do testador
Esse é um processo de duas etapas em que você primeiro precisa iniciar uma sessão com o driver de teste e, em seguida, executar scripts para gerar GuardDuty descobertas com combinações de recursos específicas.
-
Depois que seus recursos forem implantados, salve o código da região em uma variável na sessão atual do terminal. Use o comando a seguir e
us-east-1
substitua pelo código da região em que você implantou os recursos:$ REGION=
us-east-1
-
O script do testador está disponível somente por meio do AWS Systems Manager (SSM). Para iniciar um shell interativo na instância do host do testador, consulte o host InstanceId.
-
Use o comando a seguir para iniciar sua sessão para o script do testador:
aws ssm start-session --region $REGION --document-name AWS-StartInteractiveCommand --parameters command="cd /home/ssm-user/py_tester && bash -l" --target $(aws ec2 describe-instances --region $REGION --filters "Name=tag:Name,Values=Driver-GuardDutyTester" --query "Reservations[].Instances[?State.Name=='running'].InstanceId" --output text)
O script do testador é um programa baseado em Python que cria dinamicamente um script bash para gerar descobertas com base em sua entrada. Você tem flexibilidade para gerar descobertas com base em um ou mais tipos de AWS recursos, planos de GuardDuty proteção OBJETIVO DA AMEAÇA (táticas) ouGuardDuty descobertas que o script do testador pode gerar. Fontes de dados fundamentais
Use os exemplos de comandos a seguir como referência e execute um ou mais comandos para gerar as descobertas que deseja explorar:
python3 guardduty_tester.py python3 guardduty_tester.py --
all
python3 guardduty_tester.py --s3
python3 guardduty_tester.py --tacticsdiscovery
python3 guardduty_tester.py --ec2
--eks
--tacticsbackdoor
policy
execution
python3 guardduty_tester.py --eks
--runtime
only python3 guardduty_tester.py --ec2
--runtime
only --tacticsimpact
python3 guardduty_tester.py --log-sourcedns
vpc-flowlogs
python3 guardduty_tester.py --finding 'CryptoCurrency:EC2/BitcoinTool.B!DNS
'
Para obter mais informações sobre parâmetros válidos, execute o comando de ajuda a seguir:
python3 guardduty_tester.py --help
Escolha um método de sua preferência para visualizar as descobertas geradas em sua conta.
Etapa 4 - Limpe os recursos AWS de teste
As configurações em nível de conta e outras atualizações de status de configuração feitas durante o retorno Etapa 3 - Executar scripts do testador ao estado original quando o script do testador é concluído.
Depois de executar o script do testador, você pode optar por limpar os recursos de AWS teste. Isso pode ser feito usando um dos seguintes métodos.
-
Execute o seguinte comando:
cdk destroy
-
Exclua a AWS CloudFormation pilha com o nome GuardDutyTesterStack. Para obter informações sobre as etapas, consulte Excluindo uma pilha no AWS CloudFormation console.
Solução de problemas comuns do
GuardDuty identificou problemas comuns e recomenda etapas de solução de problemas:
-
Cloud assembly schema version mismatch
— Atualize a AWS CDK CLI para uma versão compatível com a versão de montagem em nuvem necessária ou para a versão mais recente disponível. Para obter mais informações sobre a compatibilidade da CLI AWS CDK. -
Docker permission denied
— Adicione o usuário da conta dedicada ao docker ou docker-users para que a conta dedicada possa executar os comandos. Para obter mais informações sobre as etapas, consulte a opção de soquete Daemon. -
Your requested instance type is not supported in your requested Availability Zone
— Algumas zonas de disponibilidade não oferecem suporte a tipos específicos de instância. Para identificar quais zonas de disponibilidade oferecem suporte ao seu tipo de instância preferido e tentar implantar AWS recursos novamente, execute as seguintes etapas:-
Selecione um método de sua preferência para determinar quais zonas de disponibilidade são compatíveis com seu tipo de instância:
-
Tente implantar os AWS recursos novamente e especifique uma zona de disponibilidade compatível com seu tipo de instância preferido.
Para tentar implantar AWS recursos novamente
-
Configure a região padrão no arquivo
bin/cdk-gd-tester.ts
. -
Para especificar a zona de disponibilidade, abra o arquivo
amazon-guardduty-tester/lib/common/network/vpc.ts
. -
Nesse arquivo, substitua
maxAzs: 2,
poravailabilityZones: ['
onde você deve especificar as zonas de disponibilidade para seu tipo de instância.us-east-1a
', 'us-east-1c
'], -
Continue com as etapas restantes em Etapas para implantar recursos do AWS.
-
-