Tanquem el capítol de lliurament de contingut amb la seguretat davant d'atacs. El teu web ja és ràpid (CloudFront) i xifrat (ACM), però a internet hi ha tràfic maliciós: bots, hackers, intents d'atac. El WAF (Web Application Firewall) és l'escut que filtra aquest tràfic nociu abans que arribi a la teva aplicació. Integrat amb CloudFront, protegeix el teu lloc a la vora de la xarxa.

Què és un WAF

Un WAF (Web Application Firewall) és un tallafoc especialitzat en aplicacions web. A diferència dels Security Groups (Capítol 4), que filtren per ports i IPs a nivell de xarxa, el WAF entén d'HTTP i examina el contingut de les peticions web per detectar i bloquejar atacs.

   Tràfic d'internet
   ┌─────────────────────────┐
   │ ✓ usuaris legítims       │
   │ ✗ bots maliciosos        │ ──► [ WAF ] ──► només passa el legítim ──► el teu web
   │ ✗ intents d'atac         │      (filtra)
   │ ✗ scrapers abusius       │
   └─────────────────────────┘

Analogia: el WAF és com el porter de seguretat d'una discoteca. Revisa cada persona que vol entrar: deixa passar els clients normals, però frena els que venen buscant problemes (els que porten armes, els conflictius). Inspecciona qui entra i amb quina intenció, no només la porta.

De què protegeix un WAF?

El WAF defensa contra els atacs més comuns a aplicacions web, molts d'ells del famós OWASP Top 10 (la llista de les vulnerabilitats web més crítiques):

  • Injecció SQL (SQL injection): intents de «colar» comandes malicioses a la teva base de dades a través de formularis o URLs.
  • Cross-Site Scripting (XSS): intents d'injectar scripts nocius al teu web per atacar altres usuaris.
  • Bots maliciosos: programes automàtics que rastregen, copien contingut o busquen vulnerabilitats.
  • Atacs de força bruta: intents repetits d'endevinar contrasenyes.
  • Pics de peticions abusives: massa peticions des d'una mateixa font (rate limiting).

Com funciona: les regles

El WAF funciona amb regles que defineixen què bloquejar i què permetre. Hi ha dues maneres d'obtenir-les:

Regles gestionades per AWS (el més fàcil)

AWS ofereix grups de regles predefinides i mantingudes pels seus experts en seguretat. Amb activar-les, el teu web queda protegit contra les amenaces més habituals, sense que hagis de ser un expert en seguretat. AWS les actualitza constantment a mesura que apareixen noves amenaces.

Per començar, això és el recomanable: activa les regles gestionades d'AWS (per exemple, el conjunt «Core» i el de «known bad inputs») i tindràs una protecció sòlida amb molt poc esforç.

Regles pròpies (personalitzades)

També pots crear les teves pròpies regles per al teu cas concret:

  • Bloquejar o permetre per IP: vetar IPs concretes o permetre només certes (una llista negra o blanca).
  • Bloquejar per país (geo): si el teu negoci és només nacional, pots bloquejar tràfic de països d'on només reps atacs.
  • Rate limiting (límit de velocitat): «si una IP fa més de 1.000 peticions en 5 minuts, bloqueja-la». Excel·lent contra bots i força bruta.
  • Filtrar per contingut: bloquejar peticions amb patrons sospitosos a la URL, les capçaleres, etc.
Regla de rate limiting:
  Una IP fa més de 1000 peticions en 5 min?
     → SÍ: bloqueja-la temporalment (probablement és un bot)
     → NO: deixa-la passar

Per què integrar-lo amb CloudFront

Aquí hi ha l'avantatge de combinar WAF amb CloudFront (subcapítol 16.2): en posar-lo a la CDN, el filtratge ocorre a la vora de la xarxa (les edge locations), lluny de la teva aplicació.

Atacant ──► Edge location (WAF filtra aquí) ──✗ bloquejat
                                                │
Usuari ───► Edge location (WAF l'aprova) ──✓──► la teva aplicació

Benefici doble:

  • El tràfic maliciós es bloqueja a la vora, abans de viatjar fins al teu servidor. La teva aplicació ni s'assabenta de l'atac.
  • Com que el filtratge està distribuït per tot el món, absorbeix atacs a gran escala sense saturar el teu origen.

Exemple del món real: una botiga online pateix un atac de bots que intenten provar milers de targetes robades al seu formulari de pagament. Amb WAF integrat a CloudFront, una regla de rate limiting detecta les peticions massives des de les mateixes IPs i les bloqueja a les edge locations, lluny de la botiga. Els servidors de la botiga segueixen funcionant amb normalitat per als clients reals, sense assabentar-se de l'atac.

WAF i la resta: una defensa en capes

El WAF no substitueix les altres proteccions; es suma a elles formant una defensa en profunditat (concepte que ampliarem al Capítol 23):

Capa Què protegeix Nivell
WAF Atacs a l'aplicació web (SQL injection, XSS, bots) Aplicació (HTTP)
Security Groups (Cap. 4) Quins ports/IPs arriben als teus recursos Xarxa
Network ACLs (Cap. 6) Tràfic a nivell de subxarxa Xarxa
IAM (Cap. 7) Qui pot fer què a AWS Identitat

Cada capa cobreix un aspecte diferent. Juntes, fan la teva aplicació molt més difícil d'atacar.

El que has de recordar

  • Un WAF (Web Application Firewall) és un tallafoc que entén d'HTTP i filtra el tràfic web maliciós examinant el contingut de les peticions (a diferència dels Security Groups, que filtren per xarxa). És com el «porter de seguretat» del teu web.
  • Protegeix contra atacs comuns de l'OWASP Top 10: injecció SQL, XSS, bots maliciosos, força bruta i pics abusius.
  • Funciona amb regles: les gestionades per AWS donen protecció sòlida sense ser expert (el recomanat per començar), i pots afegir regles pròpies (bloqueig per IP/país, rate limiting...).
  • Integrat amb CloudFront, filtra el tràfic maliciós a la vora de la xarxa, lluny de la teva aplicació, i absorbeix atacs a gran escala.
  • El WAF forma part d'una defensa en capes juntament amb Security Groups, Network ACLs i IAM.

Has acabat el Capítol 16! La teva aplicació ja és ràpida, segura i protegida de cara a internet. Al Capítol 17 tanquem la Part IV amb els contenidors a AWS: Docker, ECR, ECS i EKS, una altra forma fonamental de desplegar aplicacions.

Cloud, AWS & Terraform — De zero a expert

Capítol 1 · Què és el cloud computing

Capítol 2 · El mercat cloud i els grans proveïdors

Capítol 3 · Regions, zones de disponibilitat i edge

Capítol 4 · Càlcul: EC2

Capítol 5 · Emmagatzematge: S3

Capítol 6 · Xarxes: VPC

Capítol 7 · Identitat i accés: IAM

Capítol 8 · Bases de dades gestionades

Capítol 9 · Per què Infraestructura com a Codi

Capítol 10 · HCL: el llenguatge de Terraform

Capítol 11 · Providers i estat

Capítol 12 · La teva primera infraestructura real amb Terraform

Capítol 13 · Balanceig de càrrega i autoescalat

Capítol 14 · Serverless amb Lambda

Capítol 15 · Missatgeria i esdeveniments

Capítol 16 · Lliurament de contingut i DNS

Capítol 17 · Contenidors a AWS

Capítol 18 · Mòduls: reutilització i composició

Capítol 19 · Workspaces i gestió d'entorns

Capítol 20 · Backends remots i locking

Capítol 21 · Testing d'infraestructura

Capítol 22 · Terraform en CI/CD

Capítol 23 · Seguretat en profunditat

Capítol 24 · Observabilitat: logs, mètriques i traces

Capítol 25 · Optimització de costos

Capítol 26 · Alta disponibilitat i disaster recovery

Capítol 27 · Well-Architected Framework d'AWS

Capítol 28 · Arquitectures serverless a escala

Capítol 29 · Plataformes de dades a AWS

Capítol 30 · Multi-compte i landing zones

Capítol 31 · Platform Engineering i Internal Developer Platform

Capítol 32 · Certificacions AWS rellevants

Capítol 33 · Projectes per consolidar el que s'ha après

Capítol 34 · Recursos i comunitat

© Copyright 2024. Tots els drets reservats