DEV Community

Rodrigo Fernandes
Rodrigo Fernandes

Posted on

AWS WAF

Anotações sobre o AWS WAF para ajudar na preparação para as certificações da AWS.
Até o momento as anotações são para as certificações abaixo:

Image description


Anotações gerais

  • Firewall aplicação web - Camada 7 (HTTP)
  • HTTP based comunications
  • Protege contra SQL Injection attacks
  • Protege contra cross-site scripting
  • Protege contra Ataque DDoS
  • Bloqueia IP específico
  • Permitir apenas o tráfego de IP específico
  • Não inspeciona os pacotes
  • Deploy no ALB, API GW, AWS AppSync e CloudFront
  • Pode ser utilizado para proteger sites fora da AWS c/ Cloudfront
  • Não pode ser associada a uma EC2 diretamente
  • Pode bloquear requisições baseadas em User-Agent Headers
  • WEB ACL -> Association -> Rules -> Rules Statements

Rules Statements (Instruções da regra)

Documentação oficial

  • Onde realmente definimos as regras com base nas solicitações
  • As instruções de regra são a parte de uma regra que informa ao AWS WAF como inspecionar uma solicitação da Web
  • Quando o AWS WAF encontra os critérios de inspeção em uma solicitação da Web, dizemos que a solicitação da Web corresponde à instrução.
  • Cada instrução de regra especifica o que procurar e como, de acordo com o tipo de instrução
  • Rules based - Headers, HTTP Method, Query Strings, URI Path, Geo-location, Body
  • Pode ter uma instrução que combina muitas outras instruções com instruções lógicas AND, OR e NOT

Rules

Documentação oficial

  • Uma rule define como inspecionar solicitações da Web HTTP (S) e a ação a ser tomada em uma solicitação quando ela corresponde aos critérios de inspeção.
  • Você define regras somente no contexto de um grupo de regras ou ACL da Web.
  • Update a cada 5 min
  • Suporta declarações lógicas para AND, OR, NOT
  • Add: Managed rules groups or My Own rules and rules groups

Types of rules

- Regular rules
- Rate-based rules (Regular Role + Rate Limiting feature) - Pode inserir querys, rate limitis

Actions

- Allow: all requests except ones you specify
- Block: all requests except ones you specify (Pode bloquear todas as solicitações, exceto aquelas que você especificar)
- Count: requests you specify
- Captcha (novo) - documentação


WebACL

Documentação oficial

  • Scripts que provavelmente são mal-intencionados. Os invasores incorporam scripts que podem explorar vulnerabilidades nas aplicações web. Isso é conhecido como script entre sites (XSS).
  • Endereços IP ou intervalos de endereços IP dos quais as solicitações se originam. /8, /16, /24 e /32
  • País ou localização geográfica de origem das solicitações.
  • Comprimento da parte específica da solicitação, como a string de consulta.
  • Código SQL que provavelmente é mal-intencionado. Os invasores tentam extrair dados do seu banco de dados ao incorporarem código SQL mal-intencionado a uma solicitação da web. Isso é conhecido como SQL injection.
  • Strings que aparecem na solicitação, por exemplo, valores que aparecem no cabeçalho User-Agent ou strings de texto que aparecem na string de consulta. Você também pode usar expressões regulares (regex) para especificar essas strings.
  • Etiquetas que as regras anteriores na ACL da Web adicionaram à solicitação.
  • Use as regras em uma web ACL para definir como inspecionar e manipular solicitações da web HTTP (S) com base em critérios.

Association

  • Amazon CloudFront distribution_ - Global_
  • Amazon API Gateway REST API_ - Regional_
  • Application Load Balancer_ - Regional_
  • AWS AppSync GraphQL API_ - Regional_
  • Amazon Cognito user pool_ - Regional_

Referências

AWS Q Developer image

Your AI Code Assistant

Automate your code reviews. Catch bugs before your coworkers. Fix security issues in your code. Built to handle large projects, Amazon Q Developer works alongside you from idea to production code.

Get started free in your IDE

Top comments (0)

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay