Visão geral do laboratório
Boas-vindas ao Laboratório de Desafios AWS Web Application Firewall. O AWS WAF é um firewall de aplicativos web que ajuda a proteger seus aplicativos web ou APIs contra bots e exploits comuns na web que podem afetar a disponibilidade, comprometer a segurança ou consumir recursos em excesso. O AWS WAF oferece controle de como o tráfego alcança seus aplicativos, permitindo que você crie regras de segurança que controlam o tráfego de bots e bloqueiam padrões de ataque comuns, como injeção SQL (SQLi) e vulnerabilidade XSS (XSS). Você também pode personalizar regras que filtram padrões de tráfego específicos.
Neste laboratório, você é um engenheiro de segurança trabalhando para uma empresa que acabou de lançar uma loja de sucos on-line. Foi pedido a você que procurasse e mitigasse SQLi e vulnerabilidades XSS no aplicativo web deles.
Ao contrário dos laboratórios tradicionais, que incluíam instruções detalhadas e passo a passo, este Laboratório de Desafios fornece objetivos e apenas instruções mínimas. Você precisará aplicar seu conhecimento de exploits web de segurança e comuns para concluir as tarefas.
No primeiro conjunto de tarefas, é apresentado um aplicativo web inseguro e solicitado o uso de injeção SQL e ataques de vulnerabilidade XSS para explorá-lo. Se você tiver dificuldades, expanda os menus Dica e Solução para obter ajuda para seus ataques.
No segundo conjunto de tarefas, você implantará e configurará o AWS WAF com uma série de regras gerenciadas e personalizadas projetadas para mitigar os ataques que você iniciou anteriormente.
Objetivos
Ao final deste laboratório, você será capaz de:
- Implantar ataques simples de SQLi e XSS para comprometer um aplicativo web.
- Criar uma lista de controle de acesso da web (ACL da web) no AWS WAF e associá-la com um Application Load Balancer.
- Implantar grupos de regras gerenciadas pela AWS em uma ACL da web.
- Aplicar regras personalizadas a uma ACL da web.
Conhecimentos técnicos necessários
São necessários para este laboratório conhecimento avançado de SQL, bem como uma compreensão sólida de segurança de rede, protocolos de web comuns e framework RESTfull. Você também deve se sentir confortável trabalhando com um ambiente Windows Server usando a Área de Trabalho Remota.
Requisitos do sistema
Este laboratório requer:
- Google Chrome
Duração
O laboratório leva aproximadamente 60 minutos para ser concluído.
Lista de ícones
Vários ícones são usados neste laboratório para chamar a atenção para diferentes tipos de instruções e observações. A lista a seguir explica a finalidade de cada ícone:
- Comando: um comando que você precisa executar.
- Saída esperada: um exemplo que você pode usar para verificar a saída de um comando ou arquivo editado.
- Observação: uma sugestão, dica ou orientação importante.
- Saiba mais: onde encontrar mais informações.
- Atenção: informações de interesse ou importância especial (não tão importantes a ponto de causar problemas com o equipamento ou dados caso você não as veja, mas que podem resultar na necessidade de repetir determinadas etapas).
- AVISO: uma ação que seja irreversível e que tenha potencial de afetar a falha de um comando ou processo (inclusive avisos sobre configurações que não possam ser alteradas após serem feitas).
- A considerar: um momento de parar e pensar em como aplicar um conceito no seu ambiente ou iniciar uma conversa sobre o tópico em questão.
- Segurança: uma oportunidade de incorporar as práticas recomendadas de segurança.
- Dica: uma dica para uma pergunta ou um desafio.
- Resposta: uma resposta para uma pergunta ou um desafio.
Ambiente do laboratório
O diagrama a seguir mostra a arquitetura básica do ambiente do laboratório:
Descrição da imagem: o diagrama anterior mostra um fluxo de dados. O tráfego vai de uma instância do EC2, chamada Pen Testing Host, pelo AWS WAF e, em seguida, para uma distribuição do Cloudfront localizada em um Application Load Balancer. O ALB encaminha solicitações para um grupo do Auto Scaling.
A lista a seguir detalha os recursos mais importantes no diagrama:
- Uma VPC com duas sub-redes privadas e uma sub-rede pública distribuída em duas Zonas de Disponibilidade.
- Um Application Load Balancer interno localizado em um grupo do Auto Scaling com dois nós.
- Uma distribuição do Cloudfront em frente ao Application Load Balancer.
- O tráfego passa pelo AWS WAF antes que alcance a distribuição do Cloudfront.
- Uma instância do EC2 chamada PenTestingHost localizada na sub-rede pública.