Protección del sitio web
El sitio web de su empresa está expuesto a Internet las 24 horas del día, los 7 días de la semana. Cada día se enfrenta a escaneos automatizados en busca de vulnerabilidades, bots que intentan raspar contenido o forzar el acceso a las cuentas, y ocasionalmente ataques dirigidos. La mayoría de los sitios web de empresas pequeñas no tienen ninguna protección más allá de lo que ofrece el proveedor de alojamiento, que generalmente es nada.
Cloudflare se sitúa entre su sitio web e Internet. Todo el tráfico pasa primero por su red, donde las amenazas se filtran antes de llegar a su servidor. Lo notable: el nivel gratuito incluye una protección que costaría miles de euros implementar por su cuenta.
La configuración lleva unos 30 minutos. Cambia los servidores de nombres DNS, configura algunos ajustes y su sitio está protegido.
Lo que obtiene de inmediato (nivel gratuito)
Cuando pone su sitio detrás de Cloudflare, obtiene de forma inmediata:
Mitigación de DDoS
Las inundaciones de tráfico que abrumarían su servidor son absorbidas por la red de Cloudflare. Gestionan ataques medidos en terabits por segundo: el ancho de banda de 1 Gbps de su servidor no importa porque el ataque nunca lo alcanza. Esta protección no tiene límite de uso. Sin límites de ancho de banda, sin cargos adicionales durante un ataque.
Certificados SSL/TLS
Certificado SSL gratuito para su dominio. Los visitantes ven el icono del candado, el tráfico está cifrado. Cloudflare gestiona la emisión y renovación de certificados automáticamente. Puede aplicar HTTPS en todo su sitio con un solo interruptor.
Web Application Firewall (WAF)
Protección básica contra los ataques web más habituales:
- Intentos de inyección SQL
- Cross-site scripting (XSS)
- Exploits de vulnerabilidades conocidas
El nivel gratuito incluye conjuntos de reglas gestionadas que Cloudflare actualiza a medida que emergen nuevas amenazas. También obtiene 5 reglas de firewall personalizadas para sus necesidades específicas.
Protección contra bots
Bot Fight Mode desafía el tráfico automatizado. Los scrapers, los bots de credential stuffing y los escáneres de vulnerabilidades quedan bloqueados o desafiados. Los visitantes legítimos y los rastreadores de motores de búsqueda pasan sin problemas.
CDN y caché
Su contenido estático (imágenes, CSS, JavaScript) queda almacenado en caché en los servidores de borde de Cloudflare en todo el mundo. Un visitante en Singapur no espera a que responda su servidor en Fráncfort: obtiene el contenido en caché desde una ubicación de Cloudflare cercana. Tiempos de carga más rápidos, menos carga en su servidor.
Cabeceras de seguridad
Cloudflare puede añadir cabeceras de seguridad automáticamente:
- HSTS (forzar HTTPS)
- X-Content-Type-Options
- X-Frame-Options
Estas protegen contra ataques comunes basados en navegador sin cambiar el código de su aplicación.
Analítica y visibilidad
Vea quién visita su sitio, de dónde vienen, qué amenazas se están bloqueando. El panel gratuito muestra patrones de tráfico, eventos de seguridad y métricas de rendimiento.
Nivel gratuito versus de pago: ¿cuál es la diferencia real?
| Función | Gratuito | Pro ($20/mes) | Business ($200/mes) |
|---|---|---|---|
| Mitigación DDoS | Sin límite | Sin límite | Sin límite |
| Certificados SSL | Compartido | Dedicado | Dedicado + personalizado |
| Reglas WAF gestionadas | Básicas | Más reglas | Conjunto completo |
| Reglas de firewall personalizadas | 5 | 20 | 100 |
| Rate limiting | — | 1 regla | 10 reglas |
| Detección de bots | Básica | Mejor | Avanzada |
| Optimización de imágenes | — | ✓ | ✓ |
| Page rules | 3 | 20 | 50 |
| Soporte | Comunidad | Prioritario | |
| Analítica de caché | Básica | Detallada | Avanzada |
| API shield | — | — | ✓ |
Para la mayoría de los sitios web de empresas pequeñas, el nivel gratuito es suficiente. Actualice cuando necesite:
- Rate limiting (protección de fuerza bruta para los inicios de sesión)
- Más reglas de firewall personalizadas
- Mejor detección de bots
- Soporte por correo electrónico
Configuración de Cloudflare
Paso 1: añada su sitio
- Cree una cuenta en cloudflare.com
- Haga clic en «Add a Site»
- Introduzca su dominio
- Seleccione el plan gratuito
Cloudflare escanea sus registros DNS actuales automáticamente.
Paso 2: revise los registros DNS
Cloudflare importa sus registros DNS existentes. Para cada registro, puede elegir:
Con proxy (nube naranja) — El tráfico pasa por Cloudflare, obtiene protección y caché.
Solo DNS (nube gris) — Solo resolución DNS, sin funciones de Cloudflare.
Use proxy para:
- Sitio web principal (registros A/AAAA para @ y www)
- Aplicaciones web
- APIs que se benefician de la protección
No use proxy para:
- Email (registros MX) — Cloudflare no gestiona el correo electrónico
- Acceso SSH — Use Cloudflare Access en su lugar, o manténgalo solo DNS
- Servicios que requieren conexión de IP directa
Paso 3: cambie los servidores de nombres
Cloudflare proporciona dos servidores de nombres. Vaya a su registrador de dominio y reemplace sus servidores de nombres actuales por los de Cloudflare.
| Registrador | Ubicación | ||-----------|----------| | GoDaddy | My Products → DNS → Nameservers | | Namecheap | Domain List → Manage → Nameservers | | Google Domains | DNS → Custom nameservers | | Cloudflare Registrar | Ya configurado |
La propagación lleva de minutos a 48 horas (generalmente menos de 2 horas).
Paso 4: configure SSL
En la configuración de SSL/TLS, elija el modo de cifrado:
Off — Sin cifrado. No use esto.
Flexible — HTTPS del visitante a Cloudflare, HTTP de Cloudflare a su servidor. Use solo si su servidor no puede hacer HTTPS.
Full — HTTPS en todas partes, pero Cloudflare no verifica el certificado de su servidor.
Full (Strict) — HTTPS en todas partes con verificación de certificado. Use esto. Si su servidor tiene Let's Encrypt o cualquier certificado válido, esta es la opción correcta.
Paso 5: active las funciones de seguridad
Security → Settings:
- Security Level: Medium (desafía las IPs sospechosas)
- Challenge Passage: 30 minutes
- Browser Integrity Check: On
Security → Bots:
- Bot Fight Mode: On
SSL/TLS → Edge Certificates:
- Always Use HTTPS: On
- Automatic HTTPS Rewrites: On
- Minimum TLS Version: TLS 1.2
Reglas de firewall recomendadas
Tiene 5 reglas personalizadas en el nivel gratuito. Úselas con sabiduría:
Regla 1: proteja las áreas de administración
(http.request.uri.path contains "/admin" or
http.request.uri.path contains "/wp-admin" or
http.request.uri.path contains "/login")
→ Action: Managed Challenge
Añade un CAPTCHA para el acceso de administración. Bloquea los ataques automatizados en las páginas de inicio de sesión.
Regla 2: bloquee actores maliciosos conocidos (opcional)
(ip.geoip.country in {"XX" "YY"})
→ Action: Block
Solo si genuinamente no tiene usuarios de ciertos países. Tenga cuidado: esto también bloquea a personas reales.
Regla 3: desafíe las solicitudes sospechosas
(cf.threat_score gt 10)
→ Action: Managed Challenge
Cloudflare asigna puntuaciones de amenaza a las IPs. Desafíe a los visitantes de IPs con mala reputación.
Regla 4: bloquee los user agents vacíos
(http.user_agent eq "")
→ Action: Block
Los navegadores legítimos siempre envían cadenas de user agent. Los vacíos suelen ser bots.
Regla 5: espacio de emergencia
Mantenga una regla vacía para emergencias. Si está siendo atacado desde IPs o patrones específicos, puede responder de inmediato.
Qué ocurre durante un ataque
Si su sitio es atacado:
Respuesta automática: Cloudflare detecta los patrones de ataque y empieza a filtrar automáticamente. La mayoría de los ataques se detienen sin que usted haga nada.
Respuesta manual (ataques graves):
- Inicie sesión en el panel de Cloudflare
- Vaya a Security → Settings
- Active «I'm Under Attack Mode»
Esto añade un desafío JavaScript a todos los visitantes. Lleva 5 segundos para los humanos, bloquea la mayoría de los bots.
Monitorización: Security → Events muestra todas las solicitudes bloqueadas, fuentes de ataque y patrones.
Más allá de la seguridad: beneficios de rendimiento
Cloudflare no es solo seguridad. La CDN mejora significativamente el rendimiento:
Red de borde global Contenido servido desde más de 300 ubicaciones en todo el mundo. Los visitantes obtienen datos de los servidores cercanos en lugar de su origen.
Caché automático Archivos estáticos en caché en el borde. Su servidor gestiona menos solicitudes.
Compresión Compresión Brotli y gzip para contenido de texto, automáticamente.
HTTP/2 y HTTP/3 Protocolos modernos habilitados por defecto, incluso si su servidor de origen solo soporta HTTP/1.1.
Minificación Minificación automática de JavaScript, CSS y HTML (se puede activar).
Mejora típica: cargas de página un 30-50% más rápidas, 50-70% de reducción en el ancho de banda del servidor.
Protección del servidor de origen
Cloudflare solo protege el tráfico que pasa por él. Si los atacantes encuentran la IP real de su servidor, pueden atacar directamente.
Cómo se filtran las IPs de origen
- Registros DNS antiguos (antes de Cloudflare)
- Cabeceras de correo electrónico (sus registros MX pueden apuntar al mismo servidor)
- Subdominios no redirigidos a través de Cloudflare
- Bases de datos DNS históricas (SecurityTrails, etc.)
- La aplicación expone la IP en cabeceras o páginas de error
Cómo protegerse
Configure el firewall de su servidor: Solo acepte tráfico web de las IPs de Cloudflare. Bloquee todo lo demás en los puertos 80/443.
# iptables example - allow only Cloudflare
for ip in $(curl -s https://www.cloudflare.com/ips-v4); do
iptables -A INPUT -p tcp --dport 443 -s $ip -j ACCEPT
done
iptables -A INPUT -p tcp --dport 443 -j DROP
Cambie la IP después de activar Cloudflare: Si su IP estaba expuesta antes de Cloudflare, solicite una nueva IP a su proveedor de alojamiento.
Use una IP separada para el correo electrónico: No aloje el correo electrónico en la misma IP que su sitio web. Use un servicio de correo dedicado.
Verifique la seguridad de las cabeceras: Asegúrese de que su aplicación no expone la IP de origen en las respuestas.
Comparación de servicios de protección de sitios web
CDN + Seguridad (como Cloudflare)
| Servicio | Nivel gratuito | De pago desde | Mejor para |
|---|---|---|---|
| Cloudflare | Sí | $20/mes | Mejor nivel gratuito, más funciones |
| Fastly | Limitado | ~$50/mes | Contenido dinámico, desarrolladores |
| AWS CloudFront + Shield | Shield básico gratuito | Pago por uso + $3000/mes | Infraestructura AWS |
| Akamai | No | Precios empresariales | Grandes empresas |
| Bunny CDN | No | $0.01/GB | CDN económica |
Específico para WordPress
| Servicio | Nivel gratuito | De pago desde | Incluye |
|---|---|---|---|
| Sucuri | No | $199/año | WAF + limpieza de malware |
| Wordfence | Sí (plugin) | $119/año | WAF + escaneo |
| Jetpack | Limitado | $10/mes | CDN + seguridad básica |
Alternativas autohospedadas
| Solución | Coste | Qué hace |
|---|---|---|
| ModSecurity | Gratuito | Reglas WAF para Apache/Nginx |
| Fail2ban | Gratuito | Bloqueo de IP por fallos repetidos |
| CrowdSec | Gratuito | Detección de amenazas colaborativa |
Recomendación: Empiece con Cloudflare gratuito. Es el mejor valor. Añada herramientas especializadas solo si tiene necesidades específicas que Cloudflare no cubre.
Alternativas a Cloudflare
Cloudflare es la recomendación por defecto, pero no es la única opción. Estas son las situaciones en las que considerar otra cosa.
Cuando ya está en un proveedor de nube
Si la mayor parte de su infraestructura vive en AWS, GCP o Azure, sus herramientas de protección nativas se integran más estrechamente que Cloudflare y puede que ya estén parcialmente cubiertas por su gasto.
AWS CloudFront + AWS WAF + AWS Shield
- CloudFront es la CDN; WAF añade filtrado basado en reglas; Shield Standard está incluido gratuitamente con todas las cuentas de AWS
- Shield Advanced ($3.000/mes) añade respuesta dedicada a DDoS y protección de costes: solo tiene sentido para objetivos de alto riesgo
- Mejor para: equipos que ya trabajan con AWS y quieren todo en una cuenta de facturación
- Desventaja: sin nivel gratuito de WAF (WAF cuesta ~$5/regla/mes + tráfico)
Azure Front Door
- CDN, WAF y equilibrador de carga global combinados de Microsoft
- Incluye protección contra bots y mitigación de DDoS
- Mejor para: empresas en Microsoft 365 + Azure que quieren un perímetro de seguridad unificado
- Desventaja: más complejo de configurar que Cloudflare; precios más difíciles de predecir
Google Cloud Armor
- WAF y protección DDoS para aplicaciones en GCP, integrado con Cloud Load Balancing
- La protección adaptativa usa ML para detectar y bloquear ataques automáticamente
- Mejor para: equipos que despliegan en GCP con infraestructura gestionada por Google
- Desventaja: solo protege el tráfico enrutado a través de los equilibradores de carga de GCP
Cuando necesita más control sobre las reglas WAF
Fastly — CDN y plataforma de borde para desarrolladores con un WAF completamente programable (impulsado por Signal Sciences). Popular entre los equipos de ingeniería que quieren escribir lógica personalizada en el borde. Prueba gratuita, luego precios basados en uso. Buena opción para APIs y aplicaciones dinámicas.
Imperva (anteriormente Incapsula) — WAF dedicado y protección DDoS con sólidas herramientas de cumplimiento (PCI DSS, RGPD). Más caro que Cloudflare pero ofrece un control más granular de las reglas y garantías de SLA. Orientado a empresas con requisitos de cumplimiento.
Cuando usa WordPress u otro CMS
Sucuri — Plataforma de seguridad web diseñada específicamente para sitios CMS. Incluye un WAF, escaneo de malware y servicio de limpieza de malware (les paga para que limpien si se infecta). $199+/año. Vale la pena si ya ha sido atacado o gestiona contenido sensible en WordPress.
Wordfence — Plugin de WordPress con WAF integrado, protección de inicio de sesión y escáner de malware. La versión gratuita es funcional. $119/año para inteligencia de amenazas en tiempo real. No requiere cambiar su DNS ni servidores de nombres. Buena opción para equipos que quieren protección sin enrutar el tráfico a través de un proveedor externo.
Cuando quiere control autohospedado
CrowdSec — Código abierto, detección de amenazas colaborativa. Comparte datos de IPs bloqueadas entre todos los usuarios de CrowdSec (lista de bloqueo comunitaria). Funciona como un agente en su servidor y se integra con nginx, Apache, Traefik y otros. Gratuito y mantenido activamente. Buen complemento para Cloudflare, no un reemplazo.
ModSecurity + OWASP Core Rule Set — El WAF autohospedado clásico para Apache y nginx. Gratuito, probado en batalla, altamente configurable. Requiere tiempo para ajustarlo: las reglas de fábrica generan falsos positivos. Buena opción para equipos con un administrador de sistemas que sabe lo que hace.
Fail2ban — Escanea archivos de registro y prohíbe las IPs después de intentos fallidos repetidos (fuerza bruta, credential stuffing). Ligero y efectivo para ataques de inicio de sesión. No es un WAF: no inspecciona los payloads HTTP.
Comparación rápida
| Opción | Mejor para | Nivel gratuito | Esfuerzo | ||--------|----------|-----------|--------| | Cloudflare | Todos, como punto de partida | Sí | Bajo | | AWS CloudFront + WAF | Equipos nativos en AWS | Parcial | Medio | | Azure Front Door | Entornos Azure/Microsoft | No | Medio | | Google Cloud Armor | Despliegues en GCP | No | Medio | | Fastly | Apps con muchas APIs, equipos de desarrolladores | Prueba | Medio | | Imperva | Organizaciones orientadas al cumplimiento | No | Medio | | Sucuri | WordPress, post-incidente | No | Bajo | | Wordfence | WordPress, sin cambio de DNS | Sí | Bajo | | CrowdSec | Servidores autohospedados | Sí | Medio | | ModSecurity | Control completo de WAF en sus servidores | Sí | Alto |
Errores habituales
Error 1: Dejar la IP de origen expuesta
Su servidor es directamente accesible en su IP pública. Los atacantes evitan Cloudflare por completo.
Solución: Configure el firewall para aceptar solo las IPs de Cloudflare en los puertos web.
Error 2: Modo SSL incorrecto
Usar Flexible cuando su servidor soporta HTTPS. El tráfico entre Cloudflare y su origen no está cifrado.
Solución: Use Full (Strict) con un certificado válido en su servidor.
Error 3: No usar proxy en todos los subdominios
El sitio principal está protegido, pero api.ejemplo.com o staging.ejemplo.com son solo DNS.
Solución: Use proxy en todos los subdominios de cara al público. Mantenga solo DNS únicamente para los servicios que realmente lo necesiten.
Error 4: Almacenar en caché contenido privado
Cloudflare almacena en caché el panel de un usuario conectado y lo sirve a otros visitantes.
Solución: Configure las cabeceras Cache-Control correctamente. Use page rules para evitar el caché en áreas autenticadas.
Error 5: Romper bots legítimos
La protección contra bots bloquea sus clientes de API o servicios de monitorización.
Solución: Cree reglas de firewall para permitir IPs o user agents específicos. O use solo DNS para los endpoints de API.
Taller: proteja su sitio web
Reserve de 30 a 45 minutos.
Parte 1: configuración (15 minutos)
- Regístrese en cloudflare.com
- Añada su dominio
- Revise los registros DNS (active el proxy para el tráfico web)
- Cambie los servidores de nombres en el registrador
Entregable: Dominio añadido, servidores de nombres cambiados
Parte 2: configuración de seguridad (10 minutos)
- SSL/TLS → Establezca en Full (Strict)
- SSL/TLS → Edge Certificates → Always Use HTTPS: On
- Security → Bot Fight Mode: On
- Security → Settings → Security Level: Medium
Entregable: Ajustes de seguridad principales configurados
Parte 3: reglas de firewall (10 minutos)
- Cree una regla para desafiar el acceso al área de administración
- Cree una regla para bloquear los user agents vacíos
- Guarde los espacios restantes para emergencias
Entregable: Protección personalizada para su sitio específico
Parte 4: protección del origen (10 minutos)
- Compruebe si su IP de origen es detectable (use SecurityTrails)
- Configure el firewall del servidor si es posible
- Documente el estado de protección de la IP de origen
Entregable: Exposición del origen evaluada y documentada
Lista de verificación del taller
- Cuenta de Cloudflare creada
- Dominio añadido y activo
- SSL establecido en Full (Strict)
- Always Use HTTPS activado
- Bot Fight Mode activado
- Al menos una regla de firewall creada
- Protección de IP de origen evaluada
- Sabe cómo activar el «Under Attack Mode»
Autoevaluación: ¿está su sitio protegido?
Configuración básica
- El sitio está en Cloudflare
- Los servidores de nombres apuntan a Cloudflare
- El estado muestra «Active»
- El sitio principal usa proxy (nube naranja)
Configuración de seguridad
- El modo SSL es Full o Full (Strict)
- Always Use HTTPS está activado
- Bot Fight Mode está activado
- Al menos una regla de firewall personalizada
Protección del origen
- El firewall del servidor limita el acceso web a las IPs de Cloudflare (o está documentado por qué no)
- La IP de origen no es fácilmente detectable
- El correo electrónico usa una IP/servicio separado
Monitorización
- Puede acceder al panel de Cloudflare
- Sabe dónde está el «Under Attack Mode»
- Alguien revisa los eventos de seguridad periódicamente
Marque al menos 10 de 13 elementos antes de continuar.
Cómo explicárselo a la dirección
«Configuré la protección del sitio web usando Cloudflare. Nuestro sitio ahora tiene protección DDoS, un web application firewall, SSL automático y bloqueo de bots, todo de forma gratuita. Las páginas cargan más rápido gracias al caché de la CDN global. La configuración llevó 30 minutos. Si alguna vez somos atacados, puedo activar el modo de protección de emergencia con dos clics.»
Versión corta: «Nuestro sitio web ahora está protegido contra ataques y carga más rápido. Gratis, 30 minutos.»
Qué viene después
Ha completado el módulo de Victorias Rápidas. Su empresa ahora tiene:
- Gestión de contraseñas y MFA
- Directorio de usuarios centralizado con SSO
- Inventario de SaaS y gestión de accesos
- Gestión de parches y análisis de vulnerabilidades
- Seguridad del correo electrónico (SPF, DKIM, DMARC)
- Formación en concienciación sobre phishing
- Estrategia de copia de seguridad de datos
- Protección del sitio web
Estos fundamentos protegen contra los ataques más habituales. Próximo módulo: seguridad en el desarrollo — integración de la seguridad en sus pipelines de CI/CD y código.