View a markdown version of this page

Crie um teste de penetração - Agente de segurança da AWS

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

Crie um teste de penetração

Configure testes de penetração automatizados para seus aplicativos web configurando o escopo do teste, os domínios de destino e o acesso aos recursos da AWS. Os testes de penetração ajudam a identificar vulnerabilidades de segurança na execução de aplicativos, simulando cenários de ataque do mundo real contra seus domínios verificados.

O AWS Security Agent realiza testes de segurança abrangentes em seus aplicativos da web com base no escopo e nas permissões configurados, fornecendo descobertas detalhadas sobre vulnerabilidades exploráveis antes que os invasores possam descobri-las.

Neste procedimento, você criará um teste de penetração configurando os detalhes do teste, definindo o escopo do teste e configurando as permissões necessárias.

Pré-requisitos

Antes de começar, verifique se você tem:

  • Acesso ao aplicativo web do AWS Security Agent

  • Pelo menos um domínio verificado para teste

  • Função do IAM com permissões apropriadas para o AWS Security Agent

  • Compreensão da arquitetura e dos caminhos críticos do seu aplicativo

Comece a criar um teste de penetração

Navegue até a página de criação do teste de penetração no Agent Web App.

  1. Faça login no aplicativo web do AWS Security Agent.

  2. Navegue até a seção Testes de penetração.

  3. Escolha Criar um teste de penetração.

dica

Somente domínios verificados podem ser incluídos nos testes de penetração. Peça ao seu administrador que verifique o domínio no console de gerenciamento da AWS. Consulte Habilite um domínio de aplicativo para testes de penetração.

Nomeie seu teste de penetração

Forneça um nome descritivo que ajude a identificar o propósito e o escopo desse teste de penetração.

  1. No campo Nome do teste de penetração, insira um nome descritivo para seu teste de penetração.

    exemplo

    O nome deve identificar claramente o aplicativo, o ambiente ou o componente que está sendo testado. Máximo de 100 caracteres.

Configurar o escopo do teste de penetração

Defina quais domínios e caminhos de URL serão testados e configure exclusões opcionais para controlar os limites do teste.

Adicionar domínios de destino

Especifique os domínios verificados que serão testados ativamente quanto a vulnerabilidades de segurança.

  1. Na seção Escopo do teste de penetração, localize URLs de destino.

  2. Expanda a seção Domínios verificados para ver os domínios disponíveis.

  3. No campo URL de destino, insira uma URL de domínio de destino.

    Importante

    Somente domínios verificados podem ser testados. O URL deve estar em um domínio que você verificou anteriormente no AWS Security Agent. Sub-domains de um domínio verificado não exigem verificação separada.

  4. Para adicionar vários domínios de destino:

    1. Escolha Adicionar domínio.

    2. Insira cada URL de domínio adicional.

  5. Para remover um domínio de destino, escolha Remover ao lado da URL do domínio.

dica

Para obter melhores resultados, inclua todos os domínios que fazem parte do fluxo de usuários do seu aplicativo, incluindo subdomínios para APIs, serviços de autenticação e entrega de conteúdo. Sub-domains de um domínio principal verificado não exigem verificação separada.

Excluir tipos de risco (opcional)

Escolha categorias de risco específicas para excluir do teste se elas não forem aplicáveis ao seu aplicativo.

  1. Localize o campo Excluir tipos de risco.

  2. Escolha a lista suspensa para ver os tipos de risco disponíveis.

  3. Selecione um ou mais tipos de risco a serem excluídos do teste de penetração.

    nota

    A exclusão dos tipos de risco limita o escopo dos testes. Exclua somente os tipos de risco que não sejam relevantes para seu aplicativo ou que você queira testar separadamente.

Adicione caminhos de URL fora do escopo (opcional)

Especifique caminhos de URL que não devem ser testados durante o teste de penetração. O AWS Security Agent exclui o caminho especificado e todos os caminhos aninhados abaixo dele. Por exemplo, se você adicionar https://example.com/admin como um URL fora do escopo, https://example.com/admin/tools também estará fora do escopo.

  1. Localize a seção Out-of-scope URLs.

  2. No campo de entrada de Out-of-scope URLs, insira um caminho de URL a ser excluído (por exemplo, /admin/delete ou/api/reset).

    Atenção

    Out-of-scope os caminhos não são testados quanto a vulnerabilidades. Certifique-se de excluir somente os caminhos que não devem ser acessados durante o teste, como operações destrutivas ou funções administrativas confidenciais.

  3. Para adicionar vários caminhos fora do escopo:

    1. Escolha Adicionar URL.

    2. Insira cada caminho adicional.

  4. Para remover um caminho, escolha Remover ao lado do caminho.

Adicionar domínios acessíveis (opcional)

Especifique os domínios que são necessários para o teste, mas não são alvos do teste de vulnerabilidade.

  1. Localize a seção URLs acessíveis.

  2. No campo de entrada URLs acessíveis, insira um domínio que deve estar acessível durante o teste.

    nota

    Adicione domínios acessíveis para serviços de terceiros (como Okta, Auth0, Stripe) que estejam fora do seu domínio de destino. Isso é necessário para que o AWS Security Agent possa acessar esses URLs para login e navegação durante o teste. O AWS Security Agent NÃO testa a penetração desses domínios — eles são usados somente para fins de acesso. Os domínios acessíveis não exigem verificação de propriedade, mesmo que pertençam a um domínio diferente do seu alvo. Somente os domínios-alvo exigem propriedade verificada.

  3. Para adicionar vários domínios acessíveis:

    1. Escolha Adicionar URL.

    2. Insira cada domínio adicional.

  4. Para remover um domínio, escolha Remover ao lado do domínio.

Adicione cabeçalhos HTTP personalizados (opcional)

Especifique cabeçalhos HTTP personalizados que serão adicionados a qualquer solicitação feita pelo AWS Security Agent durante o teste de penetração.

  1. Localize a seção Cabeçalhos HTTP personalizados.

  2. No campo de entrada de cabeçalhos HTTP personalizados, insira um nome e um valor de cabeçalho que serão associados às solicitações de saída.

    nota

    Por padrão, o AWS Security Agent adiciona um cabeçalho personalizado para User-Agentdefinir como securityagent, a menos que um valor de User-Agentcabeçalho personalizado diferente seja especificado.

  3. Para adicionar vários cabeçalhos personalizados:

    1. Escolha Add header (Adicionar cabeçalho).

    2. Insira cada cabeçalho personalizado adicional.

  4. Para remover um cabeçalho personalizado, escolha Remover ao lado do cabeçalho.

Configurar a função do IAM

Selecione a função de serviço pré-configurada para esse teste de penetração. O AWS Security Agent usa um modelo de Space-based permissão de agente em que os administradores configuram as funções do IAM ao configurar seu espaço de agente. Você seleciona funções que já estão configuradas e prontas para uso.

  1. Na seção Permissões, localize o menu suspenso Funções de serviço.

  2. Selecione a função do IAM que concede ao AWS Security Agent acesso aos recursos necessários da AWS.

    Importante

    A função do IAM selecionada deve ter permissões para acessar recursos de VPC, CloudWatch registros e quaisquer outros serviços da AWS necessários para o teste de penetração. Verifique se a função tem a relação de confiança correta com o AWS Security Agent.

  3. Localize o menu suspenso do grupo de CloudWatch registros.

  4. Selecione o grupo de registros em que os registros do teste de penetração serão armazenados. (opcional)

    nota

    O grupo de CloudWatch registros selecionado armazenará registros detalhados da execução do teste de penetração, incluindo solicitações feitas, respostas recebidas e vulnerabilidades descobertas.

    Se você não selecionar um grupo de registros, um novo grupo de CloudWatch registros será criado automaticamente com o /aws/securityagent prefixo para armazenar os registros do teste de penetração.

Remediação automática de código

Marque a caixa de seleção Ativar remediação automática.

Importante

Para corrigir as descobertas de segurança em seus repositórios de código-fonte, o AWS Security Agent pode enviar pull requests para seus repositórios. As pull requests podem estar visíveis para todos os usuários que têm acesso de leitura aos repositórios.

Configurar recursos de VPC (opcional)

Se seus domínios de destino forem privados e hospedados em uma VPC, defina as configurações da VPC onde o AWS Security Agent deve executar testes de penetração. Essa etapa só é necessária para aplicativos que não estão acessíveis ao público.

nota

Ignore essa etapa se seus domínios de destino estiverem acessíveis ao público. A configuração da VPC só é necessária para testar aplicativos privados hospedados em uma Amazon Virtual Private Cloud.

Escolha a VPC, as sub-redes e os grupos de segurança para o ambiente de teste de penetração.

  1. Na seção VPC, localize o menu suspenso VPC ID.

  2. Selecione a VPC em que seus domínios de destino estão hospedados.

    Importante

    A VPC selecionada deve conter os domínios de destino que você especificou na Etapa 3. Certifique-se de que a VPC tenha roteamento e configuração de rede adequados para permitir que o AWS Security Agent acesse seus aplicativos.

  3. Localize o menu suspenso Sub-redes.

  4. Selecione uma ou mais sub-redes nas quais o teste de penetração deve ser executado.

    nota

    Escolha sub-redes que tenham acesso de rede aos seus aplicativos de destino. O teste de penetração será executado a partir de recursos implantados nessas sub-redes.

  5. Localize o menu suspenso Grupo de segurança.

  6. Selecione o grupo de segurança que controla o acesso à rede para o teste de penetração.

    Importante

    O grupo de segurança selecionado deve permitir tráfego de saída para seus domínios de destino e quaisquer domínios acessíveis. Certifique-se de que as regras do grupo de segurança permitam o acesso necessário à rede para testes abrangentes.

Configurar credenciais de autenticação (opcional)

Se seus domínios de destino exigirem autenticação, forneça credenciais para permitir que o AWS Security Agent acesse áreas protegidas do seu aplicativo durante o teste de penetração. Essa etapa só é necessária para aplicativos que exigem autenticação do usuário.

nota

Ignore esta etapa se seus domínios de destino não precisarem de autenticação ou se todas as áreas que você deseja testar estiverem acessíveis ao público. Configure as credenciais somente quando precisar do AWS Security Agent para testar seções autenticadas do seu aplicativo.

Adicionar credenciais da

Forneça credenciais de autenticação que o AWS Security Agent usará para acessar seu aplicativo.

  1. Na seção Credencial #1, selecione um método de entrada de credencial:

    • Insira suas credenciais — insira suas credenciais diretamente no AWS Security Agent.

    • Configuração avançada — Para informações confidenciais de credenciais, use opções avançadas, como o AWS Secrets Manager ou as funções do AWS Lambda. Para mais detalhes, consulte Forneça credenciais de autenticação para testes de penetração.

      dica

      Para ambientes de produção ou credenciais confidenciais, recomendamos usar a opção de configuração avançada para referenciar com segurança as credenciais armazenadas no AWS Secrets Manager ou no Systems Manager Parameter Store.

Insira os detalhes da credencial

Forneça o nome de usuário e a senha da conta autenticada.

  1. No campo Nome do usuário, insira o nome de usuário para autenticação.

  2. No campo Senha, insira a senha para autenticação.

    Importante

    Certifique-se de que as credenciais fornecidas tenham níveis de acesso adequados para as áreas que você deseja testar. As credenciais devem representar o nível de acesso de um usuário típico, em vez de privilégios administrativos.

Selecione o domínio de acesso

Especifique qual domínio de destino usará essas credenciais para autenticação.

  1. No menu suspenso Domínio do Access, selecione o domínio em que essas credenciais serão usadas.

    nota

    Se você tiver vários domínios de destino que exigem credenciais diferentes, você pode adicionar conjuntos de credenciais adicionais clicando em Adicionar outra credencial depois de concluir essa configuração de credenciais.

Configurar o prompt de login do agente (opcional)

Forneça instruções para orientar o AWS Security Agent no processo de autenticação do seu aplicativo.

  1. Expanda a seção Solicitação de login do agente se seu fluxo de autenticação exigir instruções específicas.

  2. Insira as instruções descrevendo como usar as credenciais fornecidas no fluxo de login do seu aplicativo.

    nota

    O prompt de login do agente informa ao agente como aplicar suas credenciais ao seu aplicativo. Isso é útil para fluxos de autenticação complexos, processos de login em várias etapas ou aplicativos com procedimentos de login não padrão. Inclua instruções passo a passo, como “Navegue até /login, digite o nome de usuário no campo 'E-mail', digite a senha e escolha 'Entrar'”.

Adicione várias credenciais (opcional)

Se seu aplicativo exigir vários conjuntos de credenciais ou domínios diferentes precisarem de autenticação separada, adicione outros conjuntos de credenciais.

  1. Depois de concluir a primeira configuração de credencial, escolha Adicionar outra credencial.

  2. Repita as etapas de configuração de credenciais para cada conjunto adicional de credenciais.

  3. Para remover um conjunto de credenciais, escolha Remover ao lado do cabeçalho da credencial.

dica

Configure várias credenciais ao testar diferentes funções de usuário, acessar vários domínios autenticados ou verificar controles de acesso baseados em funções em seu aplicativo.

Anexar recursos adicionais (opcional)

Forneça recursos complementares para ajudar o AWS Security Agent a realizar testes de penetração mais completos e precisos. Recursos adicionais podem incluir diagramas de arquitetura, documentação da API, arquivos de configuração, GitHub repositórios ou S3-hosted materiais que fornecem contexto sobre seu aplicativo.

nota

Recursos adicionais são opcionais, mas recomendados. Fornecer informações abrangentes sobre seu aplicativo ajuda a garantir uma cobertura completa dos testes, reduz os falsos positivos e fornece resultados mais acionáveis.

Adicione recursos ao teste de penetração

Selecione os recursos existentes ou faça o upload de novos arquivos que ajudarão a orientar o teste de penetração.

  1. Na seção Recursos conectados, você pode:

    • Escolha Selecionar entre os disponíveis para escolher entre os recursos já conectados ao AWS Security Agent (como GitHub repositórios ou buckets S3).

    • Escolha Carregar para adicionar novos arquivos diretamente do seu sistema local.

dica

Os recursos úteis incluem documentação da API, diagramas de arquitetura, OpenAPI/Swagger especificações, arquivos de configuração, diagramas de fluxo de autenticação e qualquer outro material que descreva a estrutura e o comportamento do seu aplicativo.

Selecione entre os recursos disponíveis

Escolha entre recursos que já estão integrados ao AWS Security Agent.

  1. Escolha Selecionar dos recursos existentes.

  2. Navegue pela lista de recursos disponíveis de fontes conectadas, como:

    • GitHub repositórios, na guia GitHub repositórios

    • Buckets do S3

    • Arquivos enviados anteriormente

    • Repositórios de documentação

  3. Selecione os recursos que você deseja incluir no teste de penetração.

  4. Escolha Adicionar ao teste de penetração para anexar os recursos selecionados.

exemplo

Recomendamos selecionar e adicionar GitHub repositórios relevantes ao seu pentest, para que o AWS Security Agent possa desenvolver uma compreensão do contexto do seu aplicativo e gerar correções de código prontas para implementação por meio de pull requests (quando ativadas)

nota

Os recursos selecionados das fontes disponíveis permanecem sincronizados com sua localização original. Se você atualizar um GitHub repositório ou arquivo S3, o teste de penetração usará a versão atualizada.

nota

Se você tiver uma VPC privada associada ao seu pentest e um GitHub repositório configurado, certifique-se de que ela GitHub esteja acessível por meio da sua VPC privada para extrair recursos. GitHub Na maioria dos casos, você precisará garantir que o tráfego de saída via VPC NAT Gateway seja permitido por padrão ou configurar regras específicas para permitir tráfego de saída GitHub para IPs (consulte Meta API Endpoint) GitHub

Carregar novos recursos

Faça upload de arquivos diretamente do seu sistema local ou forneça conteúdo em texto simples para o AWS Security Agent.

  1. Escolha Carregar.

  2. Escolha um dos seguintes métodos de entrada:

    • Carregar arquivos locais - Selecione um ou mais arquivos do seu sistema local.

    • Colar texto sem formatação - Digite ou cole o conteúdo do texto diretamente no campo de entrada. Escolha Carregar.

  3. Em seguida, escolha Adicionar para concluir o carregamento.

  4. Os recursos carregados aparecem na tabela Recursos conectados.

dica

Use a opção de texto sem formatação quando quiser fornecer rapidamente listas de endpoints de API, padrões de URL, instruções de teste ou outras informações baseadas em texto sem criar um arquivo separado.

Importante

Certifique-se de que os arquivos enviados e o conteúdo colado não contenham informações confidenciais, como credenciais de produção, chaves privadas ou informações de identificação pessoal (PII). Use versões higienizadas dos arquivos de configuração e da documentação.

Conecte os recursos existentes

Os recursos existentes podem ser do que você enviou anteriormente para o AWS Security Agent, do seu bucket do S3 e dos seus GitHub repositórios integrados. Escolha Selecionar dos recursos existentes para selecioná-los.

Gerencie recursos conectados

Revise, organize e remova os recursos associados ao teste de penetração.

A tabela Recursos conectados exibe todos os recursos incluídos no teste de penetração com as seguintes informações:

  • Nome - O nome do arquivo ou identificador do recurso

  • Tipo - A categoria do recurso (arquivos enviados, recursos do S3, GitHub repositórios etc.)

Para gerenciar recursos:

  1. Selecione um ou mais recursos usando as caixas de seleção.

  2. Escolha Remover do teste de penetração para separar os recursos selecionados.

nota

Você pode classificar a tabela por Nome ou Tipo clicando nos cabeçalhos das colunas. Isso ajuda a organizar os recursos ao trabalhar com muitos arquivos.

Crie o teste de penetração

Finalize e inicie sua configuração de teste de penetração.

Depois de definir todas as configurações, você está pronto para criar o teste de penetração.

  1. Revise todas as seções de configuração para garantir a precisão.

  2. Escolha uma das seguintes opções:

    • Escolha Criar penetração para salvar a configuração sem executá-la imediatamente.

    • Escolha Criar e executar para salvar a configuração e iniciar imediatamente o teste de penetração.

    • Escolha Cancelar para descartar a configuração do teste de penetração.

Importante

Antes de executar um teste de penetração, verifique se:

  • Todos os domínios de destino estão corretamente verificados e acessíveis

  • As funções do IAM têm as permissões apropriadas

  • Out-of-scope os caminhos estão configurados adequadamente para evitar testes de operações destrutivas

  • Você tem autorização para realizar testes de segurança em todos os domínios de destino

nota

Após o início do teste de penetração, você pode monitorar seu progresso na seção Execuções do teste de penetração. O teste pode levar várias horas para ser concluído. A maioria é concluída em 16 horas, dependendo do escopo e da complexidade da sua aplicação.