Cloudflare completo: CDN, DNS, WAF, DDoS, SSL/TLS y Workers
Cloudflare completo: CDN, DNS, WAF, DDoS, SSL/TLS y Workers
[!tip] Cloudflare en una frase
Cloudflare es mucho más que un CDN: es una plataforma completa de seguridad y rendimiento que opera en el edge de Internet con más de 300 data centers en 120+ ciudades. Este artículo lo cubre TODO.
¿Qué es Cloudflare?
Cloudflare es un proxy inverso global que se posiciona entre tus usuarios y tu servidor origin. Todo el tráfico pasa por Cloudflare antes de llegar a tu servidor.
La red de Cloudflare
Cloudflare Edge Network
┌─────────────────────────────────────────┐
│ │
Buenos Aires │ Miami │ Frankfurt │
Santiago │ Newark │ Ámsterdam │
Ciudad de México│ Dallas │ Londres │
│ │
───────────┴──────────────────────────────────────────┘
│
▼
Tu Servidor Origin (único punto de exposición)
Cloudflare opera en más de 300 ciudades, con una capacidad de red de 22+ Tbps (picos de más de 71.1 Tbps durante ataques DDoS masivos).
Lo que Cloudflare hace por ti
Servicio
Qué hace
Plan Free
Plan Pro
Enterprise
CDN
Caché global de contenido
✓
✓
✓
DNS
Resolución de nombres rápida
✓
✓
✓
SSL/TLS
Certificados automáticos
✓
✓
✓
DDoS Protection
Absorbe ataques volumétricos
✓
✓
✓
WAF
Firewall de aplicaciones web
✓
✓+
✓+
Rate Limiting
Limita peticiones
✓
✓
✓
Bot Management
Detecta bots
Básico
Avanzado
Completo
Argo Smart Routing
Ruteo inteligente
✗
✗
✓
Workers
Edge computing
✓
✓
✓
Stream
Video hosting
✗
✗
✗
Image Optimizer
Optimización de imágenes
✗
✓
✓
1. CDN (Content Delivery Network)
Cómo funciona el caché de Cloudflare
Usuario (Buenos Aires)
│
│ HTTPS (20ms)
▼
Cloudflare Edge (Santiago)
│
├── ¿Tiene caché válida? → Sirve directamente ✓ (20ms total)
│
└── ¿No tiene caché? → Pide al origin
│
│ HTTP (80ms)
▼
Tu Servidor Origin (Frankfurt)
│
│ Guarda en caché (TTL: 2 horas)
│
▼
Devuelve al usuario y guarda copia en Edge
Qué se cachea y qué no
Se cachea
NO se cachea
Archivos estáticos (CSS, JS, imágenes, fuentes)
Páginas con Cache-Control: private
HTML con Cache-Control: public
Respuestas con cookies de sesión
Contenido con max-age explícito
Respuestas con Vary: cookie
Assets con hash en el nombre
Páginas dinámicas (login, dashboard)
Control de caché con headers
# En tu servidor origin, envía estos headers:
Cache-Control: public, max-age=3600 ← Cachear 1 hora
Cache-Control: public, max-age=31536000, immutable ← Cachear 1 año (assets con hash)
Cache-Control: no-store ← Nunca cachear
Cache-Control: no-cache ← Cachear pero validar con ETag
Cache-Control: private, max-age=3600 ← Solo caché del navegador (no de CDN)
[!tip] Immutable es clave para assets
Los archivos con hash en el nombre (ej: app.a1b2c3.js) nunca cambian. Con immutable, Cloudflare y el navegador no los validan nunca — solo los sirven desde caché. Esto elimina peticiones de validación (If-None-Match / If-Modified-Since).
Niveles de caché
Nivel
Descripción
Plan
Standard
Caché normal en edge
Todos
Cache Reserve
Caché en disco si el edge está lleno
Business+
Super Cache
Caché de solo lectura para contenido estático
Enterprise
Bypass
Saltar caché para URLs específicas
Todos (Page Rules)
No Query
Ignorar query params al verificar caché
Pro+
[!tip] Cache Reserve
Cuando el edge de Cloudflare se queda sin memoria para caché (ocurre en sitios muy grandes con muchos URLs diferentes), Cloudflare puede leer desde un disco permanente (Cache Reserve). Es más lento que memoria pero evita caché misses costosos al origin.
Page Rules para controlar caché
# Regla 1: Caché largo para assets estáticos
*.ejemplo.com/assets/*
→ Cache Level: Cache Everything
→ Edge Cache TTL: 1 month
# Regla 2: Bypass caché para la API
api.ejemplo.com/api/*
→ Cache Level: Bypass
→ Browser Cache TTL: 0
# Regla 3: Forzar HTTPS
*.ejemplo.com/*
→ Always Use HTTPS: On
→ Automatic HTTPS Rewrites: On
# Regla 4: Redirección
*.ejemplo.com/http/*
→ Forwarding URL: https://ejemplo.com/$2 (301)
2. DNS
DNS de Cloudflare
Cloudflare opera los DNS más rápidos del mundo con 1.1.1.1 y 1.0.0.1.
Registros DNS que soporta
Tipo
Descripción
Ejemplo
A
IPv4
@ → 192.0.2.1
AAAA
IPv6
@ → 2001:db8::1
CNAME
Alias
www → example.com
MX
Email
@ → mail.example.com (10)
TXT
Texto arbitrario
@ → v=spf1 include:_spf.google.com ~all
SRV
Servicio
_sip._tcp → sip.example.com (5060)
CAA
Control de CAs
@ → 0 issue "letsencrypt.org"
NS
Nameservers
@ → ns1.cloudflare.com
TLSA
TLS Authentication
Para DANE
URL/FWD
Forwarding
blog → https://medium.com/...
SRV
Servicio con prioridad
VoIP, XMPP
Proxy DNS: Proxied vs DNS only
Proxied (naranja ☁️):
Usuario → Cloudflare (CDN+WAF+DDoS) → Tu Servidor
Beneficios: CDN, WAF, DDoS protection, SSL
Limitaciones: Solo puertos 80, 443, 2052, 2082, 2086, 2095
DNS only (gris ☁️):
Usuario → Cloudflare DNS → Tu Servidor (directo)
Beneficios: Puerto arbitrario, sin costo de edge
Limitaciones: Sin CDN, sin WAF, sin protección DDoS
DNSSEC
Cloudflare soporta DNSSEC para prevenir DNS spoofing/poisoning:
En la zona DNS:
DNSSEC Enabled: On
Cloudflare genera y firma:
DS Record (debes copiarlo en tu registrar)
│
Root → TLD → Your Zone → Records (firmados)
[!tip] 1.1.1.1
Puedes configurar tu sistema para usar 1.1.1.1 como DNS:
# En /etc/resolv.confnameserver 1.1.1.1nameserver 1.0.0.1
3. Protección SSL/TLS
Modos SSL/TLS de Cloudflare
Modo
Cliente ↔ Cloudflare
Cloudflare ↔ Origin
Cuándo usar
Off
Sin HTTPS
Sin HTTPS
Solo pruebas locales
Flexible
HTTPS
HTTP
Origin sin SSL (⚠️ inseguro)
Full
HTTPS
HTTPS (CF auto-cert)
Origin con certificado auto-emitido
Full (strict)
HTTPS
HTTPS (válido)
RECOMENDADO para producción
Strict
HTTPS
HTTPS (solo válido)
Máxima seguridad
Certificados
Tipo
Emisor
Validación
Duración
Universal SSL
Let's Encrypt (Cloudflare)
DV
90 días (auto-renovable)
Origin Certificate
Cloudflare (CA propia)
DV
15 años (solo Cloudflare→Origin)
Advanced Certificate
DigiCert
DV/OV/EV
1 año (Enterprise)
Advanced TLS Features
# OCSP Stapling (verificación rápida de certificados)
TLS 1.3:
Server → Client: Certificate + OCSP Staple
El cliente verifica sin contactar a la CA
# Early Data (0-RTT)
Cliente reenvía datos en el primer mensaje de TLS 1.3
Vulnerable a replay attacks — usar con precaución
# ECH (Encrypted Client Hello)
El SNI viaja cifrado en lugar de en texto plano
Previene que ISPs/servidores sepan qué dominio visitas
4. WAF (Web Application Firewall)
Security Rules
Cloudflare filtra tráfico malicioso antes de que llegue a tu servidor.
Ruleset: Cloudflare Managed Rules
Reglas predefinidas por Cloudflare que protegen contra las amenazas más comunes:
Cloudflare tiene una de las redes más grandes del mundo para absorber ataques DDoS.
Tipos de ataque y mitigación
Tipo de ataque
Descripción
Mitigación en Cloudflare
Volumétrico
Inunda la red con tráfico (Gbps)
Su red de 22+ Tbps absorbe el tráfico
Protocolo
Explota debilidades en TCP/IP (SYN flood, UDP flood)
Completa el handshake por ti
HTTP Flood
Satura la capa de aplicación con peticiones
Caché, JS challenge, rate limiting
Slowloris
Abre muchas conexiones lentas para saturar
Timeout automático de conexiones
¿Cómo funciona la protección?
Ataque: 100 Gbps desde 10,000 bots
│
▼
┌──────────────────────────────────────────┐
│ Cloudflare Edge (22+ Tbps capacity) │
│ │
│ 1. Los packets llegan a cualquier Edge │
│ 2. Anycast routing distribuye el tráfico │
│ 3. Análisis en tiempo real de cada packet│
│ 4. Bloquea packets maliciosos │
│ 5. Cachea respuestas legítimas │
│ 6. Rate limita IPs sospechosas │
│ 7. JS challenge para nuevos visitantes │
│ 8. Solo el tráfico legítimo llega al │
│ origin (normalmente < 1% del ataque) │
└──────────────────────────────────────────┘
│
▼
Tu servidor: recibe solo ~50 Mbps legítimos
[!tip] Anycast routing
Cloudflare usa Anycast: la misma IP (104.16.0.0/12) se anuncia desde TODOS sus data centers. Un packet llega siempre al data center más cercano, lo que distribuye automáticamente el tráfico de ataque.
6. Cloudflare Workers
Cloudflare Workers es una plataforma de edge computing que te permite ejecutar código JavaScript/WASM en los data centers de Cloudflare, cerca de tus usuarios.
Características
Tu código se ejecuta en el Edge de Cloudflare (300+ ciudades)
↓
Latencia < 50ms para cualquier usuario en el mundo
↓
Sin servidores que gestionar, sin cold starts, sin scaling
¿Qué puedes hacer con Workers?
Caso de uso
Descripción
API proxy
Reenviar peticiones a tu backend
Authentication
Validar tokens en el edge
A/B testing
Servir versiones diferentes de tu app
Redirects
Redirigir por país, idioma, dispositivo
Headers manipulation
Añadir/modificar headers en el edge
Cache control
Lógica de caché personalizada
Bot protection
Validar requests con lógica personalizada
Image manipulation
Redimensionar imágenes en el edge
Edge functions
Ejecutar lógica antes de llegar al origin
Ejemplo: Worker de authentication
// Worker que valida tokens JWT en el edgeexport default { async fetch(request) { const url = new URL(request.url); // Validar token solo en rutas de API if (url.pathname.startsWith('/api/')) { const token = request.headers.get('Authorization'); if (!token || !validateJwt(token)) { return new Response('Unauthorized', { status: 401 }); } } // Proxy al origin si pasa la validación return fetch('https://your-origin.com' + url.pathname); }};
Edge kv y Durable Objects
// Edge KV: base de datos distribuida en el edgeimport { getKV } from '@cloudflare/kv-asset-handler';// Durable Objects: estado persistente en el edge// Útil para chat, sesiones, contadores
Durable Objects vs Edge KV
Edge KV
Durable Objects
Tipo
Key-value cache (sin transaction)
Base de datos con estado
Velocidad
~5ms lectura
~1ms lectura
Consistencia
Eventual
Fuerte
Uso
Configuración, caché
Sesiones, chat, contadores
7. Argo Smart Routing
Argo Smart Routing optimiza la ruta de tu tráfico a través de la red de Cloudflare:
Sin Argo:
Usuario → Edge local → Internet pública (ruta aleatoria) → Origin
Con Argo Smart Routing:
Usuario → Edge local → Red privada de Cloudflare (ruta óptima) → Origin
Beneficios:
- Reduce latencia en 15-30% en rutas internacionales
- Evita congestión de Internet pública
- SLA de 99.99% de disponibilidad
8. Cloudflare Stream y Pages
Cloudflare Stream
Hosting de video optimizado:
Subes video → Cloudflare lo transcibe (varios codecs/resoluciones)
↓
Reproductor integrado con adaptive bitrate
↓
CDN global para distribución
↓
Webhooks para notificaciones
Cloudflare Pages
Hosting estático/SSR con CI/CD integrado:
Push a GitHub → Cloudflare detecta el push
↓
Build automático (npm run build)
↓
Deploy a Cloudflare Edge
↓
URL: https://your-app.pages.dev
↓
Preview deployments para PRs
10. Planes y precios
Planes
Característica
Free
Pro ($20)
Business ($200)
Enterprise (custom)
Banda ancha
Ilimitada
Ilimitada
Ilimitada
Ilimitada
Zonas DNS
1
5
5
Ilimitadas
Workers
100k req/día
10M req/mes
10M req/mes
10M req/mes
WAF
Basic
Advanced
Custom
Custom
Bot Management
Basic
Bot Fight
Signatures
Full
Rate Limiting
1 rule
5 rules
25 rules
Ilimitadas
SSL
Universal
Advanced
Advanced
Advanced
Support
Community
Email
Chat+Email
24/7+SLA
Custom SSL
✗
✓
✓
✓
Page Rules
3
25
50
Ilimitadas
Cache Reserve
✗
✗
✓
✓
Reglas de seguridad
# Lista de reglas recomendadas para cualquier sitio en producción:
# 1. Bloquear paths sensibles
Block: path contains "/wp-admin" OR path contains "/phpmyadmin" OR path contains "/.env"
# 2. Rate limit en login
Rate limit: /api/login → 5 req/min per IP → Managed Challenge
# 3. Rate limit en API
Rate limit: /api/* → 100 req/min per IP → Return 429
# 4. Bot fight mode (Pro+)
Enable Bot Fight Mode
# 5. Block countries no relevantes (si aplica)
Block: country is CN, RU (solo si no esperas tráfico de esos países)
# 6. SSL/TLS → Full (strict)
Full (strict) con certificado válido en origin
Resumen
Cloudflare es una plataforma completa: CDN, DNS, WAF, DDoS, SSL, Workers
El proxy (naranja) activa todas las protecciones; DNS only (gris) no
Full (strict) es el modo SSL recomendado para producción
WAF protege contra SQL injection, XSS, directory traversal, etc.
Rate limiting protege contra brute-force y API abuse
Workers permite edge computing con JavaScript/WASM
Argo Smart Routing optimiza rutas internacionales
Pages es hosting estático/SSR con CI/CD integrado
[!quote] La clave
Cloudflare no es un producto, es un ecosistema. Desde el plan free puedes obtener CDN, SSL y protección DDoS. Planes superiores añaden WAF avanzado, cache reserve, y más. Workers y Pages te dan edge computing y CI/CD. Para producción seria, combina: Full strict SSL, WAF con reglas custom, rate limiting, y Workers para lógica de edge.