Como proteger aplicativos da Web com AWS WAF?



Este artigo explicará como você pode proteger aplicativos da Web com AWS WAF e acompanhar com uma demonstração prática.

Este artigo explicará como você pode proteger aplicativos da Web com WAF e siga com uma demonstração prática. As dicas a seguir serão abordadas neste artigo,

Então, vamos começar,





Continuando com este artigo sobre 'Como proteger aplicativos da web com AWS WAF?'

Introdução a alguns princípios básicos

A AWS fornece serviços como EC2, ELB (Elastic Load Balancer), S3 (Simple Storage Service), EBS (Elastic Block Storage) para criar aplicativos úteis e sofisticados de forma rápida e com menos CAPEX (CAPital Expenditure). Ao criar esses aplicativos, é igualmente importante proteger o aplicativo e proteger os dados. Se não estiverem devidamente protegidos, os dados do aplicativo podem cair nas mãos erradas, como no caso do recente Incidente Capital One .



A Capital One hospedou um aplicativo da Web no EC2 e não foi protegido adequadamente. Um ex-funcionário da AWS foi capaz de explorar essa vulnerabilidade e baixar resmas de dados do cliente do S3. Mais tarde, descobriu-se que os dados de 30 outras organizações também foram baixados da AWS. Então, para enfatizar novamente, não é apenas o suficiente para arquitetar e projetar um aplicativo, mas é igualmente importante para proteger um aplicativo.

Capital One usado AWS WAF (Web Application Firewall) para proteger o aplicativo da Web, mas ele não foi configurado corretamente, por isso o hacker conseguiu acessar os dados no S3 e baixá-los. Neste artigo, exploraremos como usar e configurar o AWS WAF para proteger contra ataques comuns da Web, como SQL Injection, XSS (Cross Site Scripting) etc. O AWS WAF deve ser configurado junto com Balanceador de carga de aplicativo , CloudFront ou API Gateway. Neste cenário, usaremos o Balanceador de Carga do Aplicativo. Qualquer solicitação do cliente por meio do navegador passará pelo AWS WAF e, em seguida, para o Balanceador de carga do aplicativo e, finalmente, para o aplicativo da Web no EC2. AWS WAF pode ser usado para bloquear o pedido malicioso dos hackers usando um conjunto de regras e condições.

Imagem - Aplicativos da Web seguros com AWS WAF - Edureka

Continuando com este artigo sobre 'Como proteger aplicativos da web com AWS WAF?'



Sequência de etapas para começar com AWS WAF

Passo 1: Criando um aplicativo da web vulnerável,

A primeira etapa é criar um aplicativo da web que seja vulnerável a ataques SSRF (Server Side Request Forgery), conforme mencionado neste Blog sobre como o ataque Capital One aconteceu. Este blog possui a sequência de etapas para:

  1. Crie um EC2
  2. Instale o software necessário para criar o aplicativo da web com vulnerabilidade SSRF
  3. Criar uma função IAM com permissões S3 Read Only
  4. Anexe a função IAM ao EC2
  5. Por fim, explore a vulnerabilidade SSRF para obter as credenciais de segurança relacionadas à função IAM.

Assim que a sequência de etapas for concluída no blog mencionado, substitua 5.6.7.8 pelo endereço IP público do EC2 no URL abaixo e abra-o no navegador. As credenciais de segurança associadas à função IAM devem ser exibidas no navegador conforme mostrado abaixo. É assim que basicamente o Capital One foi hackeado. Com as credenciais de segurança em mãos, o hacker foi capaz de acessar outros serviços da AWS, como o S3, para baixar os dados.

http://5.6.7.8:80?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/Role4EC2-S3RO

Passo 2: Criando o Balanceador de Carga do Aplicativo

O AWS WAF não pode ser associado diretamente a um aplicativo da web. Mas, só pode ser associado ao Application Load Balancer, CloudFront e API Gateway. Neste tutorial, estaríamos criando o Balanceador de carga de aplicativo e associação do AWS WAF com o mesmo.

Etapa 2a: Um Grupo de Destino é uma coleção de instâncias EC2 e deve ser criado antes de criar o Balanceador de Carga do Aplicativo. No console de gerenciamento EC2, clique em Grupo de destino no painel esquerdo e clique em “Criar grupo de destino”.

Etapa 2b: Insira o nome do Grupo Alvo e clique em “Criar”. O Grupo Alvo será criado com sucesso.

como converter string para data em java

Etapa 2c: Certifique-se de que o Grupo de destino esteja selecionado e clique na guia Destinos e clique em editar para registrar as instâncias do EC2 com o grupo de destino.

Etapa 2d: Selecione a instância EC2 e clique em “Adicionar ao registrado” e clique em “Salvar”.

As instâncias devem ser registradas conforme mostrado abaixo para o grupo-alvo.

Etapa 2e: É hora de criar o balanceador de carga do aplicativo. Clique em Load Balancer no painel esquerdo do EC2 Management Console e clique em “Create Load Balancer”.

Clique em “Criar” para o “Balanceador de carga de aplicativo”.

Continuando com este artigo sobre 'Como proteger aplicativos da web com AWS WAF?'

Etapa 2f: Insira o nome do Balanceador de Carga do Aplicativo. E certifique-se de que todas as Zonas de disponibilidade estão selecionadas e clique em Avançar.

Etapa 2g: Em “Definir configurações de segurança” clique em Avançar.

Em “Configurar grupos de segurança”, crie um novo grupo de segurança ou selecione um dos grupos de segurança existentes. Certifique-se de que a porta 80 esteja aberta para acessar a página da web no EC2. Clique em Avançar.

Etapa 2h: Em “Configurar Roteamento” selecione “Grupo-alvo existente” e selecione aquele que foi criado na etapa anterior. Clique em Avançar.

Etapa 2i: As instâncias EC2 de destino já foram registradas como parte dos grupos de destino. Assim, na aba “Cadastrar Alvo”, sem nenhuma alteração clique em Avançar.

Etapa 2j: Por fim, revise todos os detalhes do Balanceador de Carga do Aplicativo e clique em Criar. O Balanceador de Carga do Aplicativo seria criado conforme mostrado abaixo.

Etapa 2k: Obtenha o nome de domínio do Balanceador de Carga do Aplicativo e substitua o texto realçado na URL abaixo e abra o mesmo no navegador. Observe que estamos acessando o aplicativo da Web por meio do balanceador de carga do aplicativo e as credenciais de segurança são exibidas conforme mostrado abaixo. O URL abaixo pode ser bloqueado usando o AWS WAF, conforme mostrado nas etapas subsequentes para impedir o vazamento das credenciais de segurança.

MyALB-1929899948.us-east-1.elb.amazonaws.com ? url = http: //169.254.169.254/latest/meta-data/iam/security-credentials/Role4EC2-S3RO

melhor ide para desenvolvimento java

Etapa 3: Criação do AWS WAF (Web Application Firewall)

Etapa 3a: Vá para o AWS WAF Management Console e clique em “Configure web ACL”. A visão geral do AWS WAF é mostrada. Aqui está a hierarquia do AWS WAF. O Web ACL tem um monte de regras e as regras têm um monte de condições que criaríamos nas etapas subsequentes. Clique em Avançar.

Etapa 3b: Insira o nome da Web ACL, a Região como North Virginia (ou onde EC2 foi criado), o tipo de recurso como “Balanceador de Carga do Aplicativo” e, finalmente, selecione o Balanceador de Carga do Aplicativo que foi criado na etapa anterior. Clique em Avançar.

Etapa 3c: Aqui um condição para bloquear uma solicitação específica de aplicativo da web deve ser criado. Role para baixo e clique em “Criar condição” para as “Condições de correspondência de string e regex”.

Etapa 3d: Insira o nome da condição, o Tipo como “Correspondência de string”, filtre em “Todos os parâmetros de consulta” e o restante dos parâmetros exatamente como mostrado abaixo. E clique em “Adicionar filtro” e depois em Criar. Aqui, estamos tentando criar uma condição que corresponda ao URL que contém o valor do parâmetro de consulta como 169.254.169.254. Este endereço IP está relacionado ao Metadados EC2 .

Etapa 3e: Agora é a hora de criar uma regra que é um conjunto de condições. Clique em “Criar regra” e especifique os parâmetros exatamente como mostrado abaixo. Clique em “Add Condition”, Create e “Review and create”.

Continuando com este artigo sobre 'Como proteger aplicativos da web com AWS WAF?'

Etapa 3f: Por fim, reveja todos os detalhes e clique em “Confirmar e criar”. A Web ACL (Lista de Controle de Acesso) será criada e associada ao Balanceador de Carga do Aplicativo conforme mostrado abaixo.

Etapa 3g: Agora tente acessar a URL do Balanceador de Carga do Aplicativo por meio do navegador, conforme executado em Etapa 2k . Desta vez, obteríamos o “403 Forbidden”, pois nosso URL corresponde à condição Web ACL e o estamos bloqueando. A solicitação nunca chega ao Balanceador de Carga do Aplicativo ou ao Aplicativo da Web no EC2. Aqui notamos que embora o aplicativo esteja permitindo o acesso às Credenciais de Segurança, o WAF está bloqueando o mesmo.

Passo 4: Limpando os recursos da AWS criados neste tutorial. A limpeza deve ser feita exatamente na mesma ordem mencionada abaixo. Isso é para garantir que a AWS interrompa o faturamento dos recursos associados criados como parte deste tutorial.

  • Excluir condição na regra
  • Exclua a regra no WebACL
  • Desassociar o ALB no WebACL
  • Excluir WebACL
  • Exclua a regra
  • Exclua o filtro na condição
  • Exclua a condição
  • Exclua o ALB e o Grupo Alvo
  • Encerrar o EC2
  • Exclua a função IAM

Conclusão

Conforme mencionado anteriormente, criar um aplicativo da Web usando AWS é muito fácil e interessante. Mas também devemos ter certeza de que o aplicativo é seguro e que os dados não vazam para as mãos erradas. A segurança pode ser aplicada em várias camadas. Neste tutorial, vimos como usar o AWS WAF (Web Application Firewall) para proteger o aplicativo da Web contra ataques como correspondência com o endereço IP dos metadados EC2. Também poderíamos ter usado WAF para proteger contra ataques comuns como SQL Injection e XSS (Cross Site Scripting).

O uso do AWS WAF ou de qualquer outro produto de segurança não torna o aplicativo seguro, mas o produto deve ser configurado corretamente. Se não configurados corretamente, os dados podem cair nas mãos erradas, como aconteceu com a Capital One e outras organizações. Além disso, outra coisa importante a se considerar é que a segurança deve ser pensada desde o primeiro dia e não conectada ao aplicativo em um estágio posterior.

Isso nos leva ao final deste artigo sobre como proteger aplicativos da Web com o AWS WAF. Também criamos um currículo que cobre exatamente o que você precisa para quebrar o exame de arquiteto de soluções! Você pode dar uma olhada nos detalhes do curso para Treinamento.

Tem alguma questão para nós? Mencione isso na seção de comentários deste blog O que é AWS e entraremos em contato com você.