# AWS WAF

> Un filtro delante de tu sitio que lee cada pedido y frena los malintencionados.

- Nivel: Intermedio
- Temas: AWS, Seguridad
- URL: https://tidbit.legios.com.ar/es/aws-waf/
- En inglés: [AWS WAF](https://tidbit.legios.com.ar/aws-waf/)

Un firewall común mira direcciones y puertos: quién se conecta y a qué puerta. Un **firewall de aplicaciones web** (WAF, por sus siglas en inglés) mira adentro del pedido web: la URL, los encabezados, los campos de un formulario. **AWS WAF** es ese filtro en AWS. Lo ponés delante de Amazon CloudFront, de un balanceador de carga o de Amazon API Gateway, y cada pedido se compara con tus reglas antes de llegar a tu app.

Las reglas viven en una **web ACL** y pueden ser tan simples o tan finas como necesites. Bloquear pedidos que intentan **inyección SQL** (meter comandos de base de datos en un buscador) o cross-site scripting. Limitar a cada dirección IP a cierta cantidad de pedidos cada pocos minutos, lo que frena scrapers burdos y bots que prueban contraseñas. Permitir solo algunos países, o bloquear direcciones conocidas por malas. Cada regla dice permitir, bloquear o solo contar, así podés probar una regla antes de aplicarla en serio.

No tenés que escribir todo vos: AWS y empresas de seguridad publican **grupos de reglas administrados** que cubren ataques comunes y se mantienen actualizados. WAF no arregla los bugs de tu código, pero te da tiempo: ataja en la puerta los ataques previsibles mientras llega el arreglo de verdad.

## Una analogía

Un patovica que no solo mira la lista de invitados sino que también revisa las mochilas. La gente común entra; quien trae algo sospechoso, o intenta entrar cincuenta veces en un minuto, se queda afuera.

## Para quedarse

- Inspecciona pedidos web (capa 7), no solo direcciones y puertos.
- Se pone delante de CloudFront, balanceadores de carga y API Gateway.
- Las reglas pueden frenar inyecciones, limitar pedidos por IP o filtrar por país.
- Los grupos de reglas administrados dan protección lista y mantenida.

## Para seguir leyendo

- [¿Qué es AWS WAF? (documentación oficial)](https://docs.aws.amazon.com/es_es/waf/latest/developerguide/waf-chapter.html)
- [AWS WAF](https://aws.amazon.com/es/waf/)
- [Web application firewall en Wikipedia (en inglés)](https://en.wikipedia.org/wiki/Web_application_firewall)

## Términos relacionados

- [Firewall](https://tidbit.legios.com.ar/es/firewall/): Un portero que decide qué tráfico de red entra o sale.
- [Puerto](https://tidbit.legios.com.ar/es/port/): La puerta numerada de una computadora que dice a qué programa va una conexión.
- [URL](https://tidbit.legios.com.ar/es/url/): La dirección completa de algo en la web: protocolo, sitio y ruta.
- [Amazon CloudFront](https://tidbit.legios.com.ar/es/amazon-cloudfront/): El CDN de AWS: copias de tu contenido guardadas cerca de los usuarios en todo el mundo.
- [Balanceador de carga](https://tidbit.legios.com.ar/es/load-balancer/): El agente de tránsito que reparte los pedidos que llegan entre muchos servidores.
- [Amazon API Gateway](https://tidbit.legios.com.ar/es/amazon-api-gateway/): La puerta de entrada de tu API: recibe los pedidos y se los pasa a tu código.
- [Inyección SQL](https://tidbit.legios.com.ar/es/sql-injection/): Escribir en un formulario un texto que la base de datos confunde con sus instrucciones.
- [Base de datos](https://tidbit.legios.com.ar/es/database/): Un depósito ordenado de datos que los programas consultan y actualizan sin riesgo.
