Guía para principiantes de Cloudflare
Nunca vas a dejar de recibir ataques, no existe eso de "cero ataques". Pero sí puedes minimizarlos y evitar que te cuesten dinero.
Un truco muy común de los actores maliciosos es escanear sitios web para encontrar archivos estáticos grandes, como imágenes o videos, y lanzar montones de peticiones para quemar ancho de banda. Cada petición consume ancho de banda, y plataformas como Vercel o Netlify cobran justamente por esa transferencia de datos.
Estos ataques se conocen como EDoS y, a diferencia de un DDoS, no buscan tumbar tu sistema, buscan hacerte gastar dinero en la nube. Mira este ejemplo real de un sitio que recibió una avalancha de peticiones desde Singapur y terminó pagando de más: tweet original.

Por esto, y por temas de seguridad y rendimiento en general, uso Cloudflare. Te muestro cómo lo configuré gratis para que puedas aplicarlo en tu propio proyecto.
¿Por qué usar Cloudflare?
Cloudflare es básicamente infraestructura hecha para desarrolladores, y es muy conocida por su protección contra DDoS y por su generoso plan gratuito. Funciona así: los usuarios no llegan directo a nuestros servidores, primero pasan por los servidores de Cloudflare, que filtran y cachean el tráfico.
Muchísimos sitios usan Cloudflare, como Stripe, Discord, Shopify y varios más. Cloudflare se ha vuelto un pilar bastante importante de cómo funciona la web hoy.

¿Cómo se configura?
Entra a cloudflare.com y crea tu cuenta, es gratis.
1. Agrega tu sitio
Agrega el dominio de tu sitio web en la sección Domains. Cloudflare te va a dar unos nameservers que tienes que actualizar donde hayas comprado tu dominio.

Elige el plan gratuito, está hasta abajo del todo. Una vez que lo registres, el DNS puede tardar hasta 24 horas en actualizarse, pero normalmente es rápido.
Ya registrado, el plan gratuito incluye protección contra DDoS sin configurar nada.
2. Certificado SSL gratis
Cloudflare nos da un certificado SSL gratis. Ese certificado da la seguridad de HTTPS y se renueva solo, para siempre.
3. Always Use HTTPS
Esta opción hace que cualquier enlace que use http redirija automáticamente a https. La encuentras en SSL/TLS > Edge Certificates.

4. WAF (Web Application Firewall)
El WAF te ayuda a saber si quien entra a tu página es un usuario real o un bot/script. Puedes escribir reglas como "bloquea el tráfico de este país" o "bloquea las peticiones que usen cierto User-Agent".

Para crear una regla, ve a Security > Security rules y crea una Custom rule. Ahí defines cuándo se debe activar, por ejemplo, cuando el visitante viene de un país específico.

Después eliges qué acción se ejecuta: bloquear, mostrar un challenge (el botón de "no soy un robot") o simplemente saltarla.

Rate Limiting
También puedes activar el rate limiting, que te deja limitar cuántas peticiones puede hacer un visitante en un periodo de tiempo, por ejemplo, máximo 10 peticiones por minuto. Para configurarlo, ve a Security > Security rules y crea una Rate limiting rule.
Ahí defines el request match, o sea a qué rutas se aplica el rate limiting. En el ejemplo solo se aplica a las rutas que contienen /api.

Y más abajo defines cuántas peticiones permites y en qué periodo:

En el plan gratuito, el periodo solo puede ser de 10 segundos.
Under Attack Mode
Es una opción que puedes activar cuando estás recibiendo un ataque de verdad. Verifica que los visitantes sean genuinos y les muestra una pantalla de carga antes de dejarlos pasar. Lo activas desde Overview > Quick Actions.

5. Caché
Para mí esta es la forma más efectiva de reducir costos innecesarios. Hay varios tipos de caché, por ejemplo el más conocido es el del navegador, que se guarda localmente en el navegador de cada usuario. El que usamos aquí es el caché del CDN: una red de servidores repartidos por el mundo que guarda copias de tu contenido y se lo entrega al usuario desde el servidor más cercano, sin que tenga que viajar hasta tu servidor de origen.
Para usarlo, crea una regla de caché en Caching > Cache Rules. Define la ruta a la que se aplica y márcala como cacheable.

Otra cosa importante es configurar el Edge TTL, que controla cuánto dura el caché. En mi blog, por ejemplo, lo puse en 1 mes, porque es estático y cada vez que publico algo nuevo simplemente hago un Purge Cache.

No apliques caché general a rutas como
/api/*, porque esas necesitan seguir siendo dinámicas. Exclúyelas de la regla, o créales una regla aparte con el caché desactivado.
Purge Cache
Es una función que te deja limpiar el caché a mano, en todo el sitio o solo en ciertas rutas. La uso cada vez que publico un post nuevo en mi blog. Cuando termina el build de mi sitio, hago un Purge para que el contenido nuevo aparezca de una vez.
Para limpiarlo, ve a Caching > Configuration y busca Purge Cache.

Después de esto, cuando lleguen peticiones a las rutas cacheadas, vas a ver que la cabecera cf-cache-status dice HIT, lo que significa que el contenido se entregó directo desde el caché. Si dice MISS, quiere decir que la ruta sí es cacheable, pero esta vez todavía no estaba guardada, así que Cloudflare fue a buscarla a tu servidor de origen.

Puedes leer mi artículo sobre Cloudflare Edge TTL para más información.
Sigue aprendiendo Cloudflare
Todo lo que te mostré aquí es solo una parte de lo que ofrece Cloudflare. Hay muchísimas otras opciones, configuraciones y servicios que te pueden servir en tus proyectos. Te recomiendo leer la documentación oficial de Cloudflare y revisar Cloudflare Edge TTL, seguir investigando por tu cuenta y, sobre todo, practicar en un proyecto real, que es la mejor forma de aprender de verdad.
Frequently asked questions
¿Qué es un ataque EDoS y en qué se diferencia de un ataque DDoS?
Un ataque EDoS inunda un sitio con solicitudes, no para dejarlo fuera de servicio, sino para aumentar los costos de ancho de banda en plataformas como Vercel o Netlify. Mientras que un ataque DDoS busca dejar tu sistema fuera de línea, un ataque EDoS busca hacerte pagar.
¿Cómo configuro Cloudflare para un sitio web?
Agrega tu dominio en Cloudflare, actualiza tus servidores de nombres en tu registrador, elige el plan gratuito, luego habilita «Usar siempre HTTPS», configura reglas personalizadas de WAF, activa la limitación de tasa y configura reglas de caché con un TTL de Edge para el contenido estático.
¿Qué es el modo Under Attack de Cloudflare y cuándo debes activarlo?
Es una función gratuita de Cloudflare que muestra a los visitantes una pantalla de verificación o carga antes de permitir el paso del tráfico real. Actívala durante un ataque activo desde Resumen > Acciones rápidas para filtrar a los bots sin bloquear a los usuarios legítimos.
Comments