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

Top comments (0)