Cloudflare: Introducción y setup
¿Cómo funciona Cloudflare?
Básicamente, Cloudflare es una vasta red de servidores que puede mejorar la seguridad, el rendimiento y la fiabilidad de cualquier recurso conectado a Internet. Para ello, Cloudflare funciona como un proxy inverso para tu tráfico web. Todas las solicitudes hacia y desde tu servidor de origen pasan a través de Cloudflare y, durante este proceso, podemos aplicar varias reglas y optimizaciones para mejorar la seguridad, el rendimiento y la fiabilidad.
Ciclo de una solicitud
Antes de tu incorporación a Cloudflare, las búsquedas de DNS para la URL de tu aplicación devolvían la dirección IP de tu servidor de origen. Cuando se utiliza Cloudflare con registros DNS no redireccionados mediante proxy, las búsquedas DNS para dominios o subdominios no redireccionados mediante proxy también devuelven la dirección IP de tu servidor de origen. Otra manera de entender este concepto es que los visitantes se conectan directamente con tu servidor de origen.
Con Cloudflare, lo que significa que tu dominio o subdominio está utilizando registros DNS redireccionados mediante proxy, las búsquedas DNS para la URL de tu aplicación se resolverán a las direcciones IP Anycast de Cloudflare en lugar de su destino DNS original. Por lo tanto, todas las solicitudes destinadas a los nombres de servidor redireccionados mediante proxy irán primero a Cloudflare y luego se reenviarán a tu servidor de origen.
Incorporación a Cloudflare
Para conseguir las ventajas de seguridad, rendimiento y fiabilidad de Cloudflare, debes configurar Cloudflare en tu dominio.
Crea tu cuenta: — inicia sesión en el panel de control, haz clic en Añadir sitio en la barra de navegación superior, escribe el dominio raíz de tu sitio web (example.com) y haz clic en Añadir sitio.
Para tu nivel de plan, selecciona inicialmente un plan gratuito para que podamos iniciar la actualización.
Cloudflare buscará automáticamente tus registros DNS. No es posible garantizar que se encuentren todos los registros DNS existentes, por tanto, revisa atentamente tus registros, prestando especial atención a los registros del dominio raíz (example.com), registros de subdominio (www.example.com o blog.example.com) y registros del correo electrónico.
Minimiza el tiempo de inactividad siguiendo nuestra guía de solución de problemas. Si activas tu dominio en Cloudflare sin configurar los registros DNS correctos para tu dominio y subdominio, tus visitantes pueden ver errores DNS_PROBE_FINISHED_NXDOMAIN.
Si encuentras algún registro que falte, añádelo manualmente.
Dependiendo de la configuración de tu sitio, es posible que desees ajustar el estado del proxy para ciertos registros A, AAAA o CNAME.
Haz clic en Continuar y, a continuación, en Listo, y comprueba los servidores de nombres.
Una vez creada la cuenta, acceder al panel de control en https://dash.cloudflare.com/ y clic en la cuenta, Accounts > <nombre de la cuenta>. En la imagen de abajo, ya había seleccionado el plan gratuito.
El panel de control es el siguiente, en este punto ya había añadido el dominio:
Para la gestión del dominio inicial, habría que ir a la sección Domains > Overview y hacer clic en el nombre de dominio (una vez agregado):
En la sección DNS > Records, se ve como están añadidos y son del tipo Proxied los siguientes records del tipo A:
Cuando un record está configurado como "Proxied", Cloudflare se situa entre medias de los visitantes y el sitio web, optimizando, cacheando y protegiendo el tráfico. Cuando el record está configurado como "DNS-only", Cloudflare responde a cualquier petición con la IP real del servidor, sin enrutar el tráfico HTTP/HTTPS a traves de la red de Cloudflare. Sólo los records de tipo A, AAAA y CNAME pueden ser configurados en tipo "Proxied". En resumen, cuando configuras un registro DNS como "Proxy" (representado por un icono de nube naranja en el panel de control, también conocido como "nube naranja"), Cloudflare puede:
- Proteger el servidor de origen (el servidor que aloja el sitio web o aplicación) de ataques DDoS
- Optimizar, almacenar en caché y proteger todas las solicitudes a la aplicación.
- Aplicar las configuraciones de Cloudflare (como reglas WAF, almacenamiento en caché y redireccionamiento) al tráfico entrante.
Permite direcciones IP de Cloudflare
Todo el tráfico redireccionado a los registros DNS mediante proxy pasará por Cloudflare antes de llegar a tu servidor de origen. Esto significa que tu servidor de origen dejará de recibir tráfico de las direcciones IP individuales de los visitantes y, en su lugar, recibirá tráfico de las direcciones IP de Cloudflare, que comparten todos los nombres de servidor redireccionados mediante proxy.
Esta configuración puede causar problemas si tu servidor de origen bloquea o limita la velocidad de las conexiones de las direcciones IP de Cloudflare. Dado que todo el tráfico de los visitantes parecerá proceder de las direcciones IP de Cloudflare, el bloqueo accidental de las mismas impedirá que el tráfico de los visitantes llegue a tu aplicación.
Añado un Alias para las IPv4 de Cloudflare en OPNsense, como muestro a continuación:
Y añadir este filtro alias como Source en las reglas de Destination NAT ya creadas para los puertos 80 y 443 que apuntan al NPM:
La URL es una lista de IPs:
De esta manera se bloquean los accesos por IP directamente. Todo debe venir de Cloudflare para poder acceder a la Wiki:
|
Antes (sin whitelist aplicada en OPNsense):
|
Después (con whitelist aplicada en OPNsense), NO RESPONSE TIMEOUT:
|
Con esta solución se blinda el acceso a los servicios web que self-hosteo aplicando un filtro de origen en OPNsense que restringe el tráfico de los puertos 80 y 443 únicamente a los rangos de IP oficiales de Cloudflare.
Cualquier petición que no provenga de los nodos de Cloudflare es descartada inmediatamente por el WAF de Cloudflare, garantizando que el NPM solo procese tráfico legítimo y previamente filtrado.
Elige tu tipo de configuración de DNS
Completa tu configuración de DNS para que tu dominio pueda empezar a utilizar Cloudflare para la resolución de DNS.
Tienes dos opciones, como se detalla en nuestro vídeo de configuración del DNS, pero recomendamos una configuración completa por razones de seguridad. Con esta opción, utilizas Cloudflare como tu proveedor principal de DNS y gestionas tus registros DNS en Cloudflare.
Cloudflare DNS ofrece varias opciones de configuración. La configuración principal (también conocida como Full) es la más común y la única disponible para los planes Free (el mio) y Pro.
En el modo Full, Cloudflare actúa como DNS autoritativo principal, lo que significa que, cuando un visitante intenta acceder a tu sitio web o aplicación, los servidores DNS considerarán los registros DNS que tienes en Cloudflare.
Poco que configurar aquí ya que no hay otra opción que usar el modo Full con el plan Free.
Cambia tus servidores de nombre a Cloudflare
Después de elegir una configuración, te solicitaremos que cambies sus servidores de dominio a Cloudflare:
Accede a tu cuenta y busca el nombre de tus servidores de nombre de Cloudflare en la pestaña Información general del panel de control.
Define quién es tu registrador de dominios y accede a tu cuenta de registrador. Si no estás seguro de quién es tu registrador, busca tu sitio utilizando una herramienta como WhoIs.net.
A continuación, actualiza tus servidores de nombre en Cloudflare. Ponte en contacto con el centro de soporte de tu registrador si no estás seguro de cómo hacerlo. Sigue nuestra guía aquí
El cambio de los servidores de nombre puede tardar hasta 72 horas. Recibirás un correo electrónico de confirmación. Cuando veas que tu estado cambia de Estado: pendiente a Estado: activo, tu dominio estará funcionando a través de Cloudflare.
Para que esto funcione, hay que seguir algunos pasos que involucran no solo a Cloudflare, sino también al registrar (Dynu en mi caso).
Siguiendo los pasos indicados aquí (https://developers.cloudflare.com/dns/zone-setups/full-setup/setup/) para poder completar el setup de la primary zone (Full) debo cambiar los nameserver autoritativos para mi dominio sergio-jimenez.net a los que automaticamente me ha asignado Cloudflare al incorporar el dominio, que son:
| NS | andronicus.ns.cloudflare.com |
| NS | jillian.ns.cloudflare.com |
Los nameservers (NS) son servidores especializados que almacenan los registros DNS de tu dominio y "responden" a las solicitudes de los navegadores proporcionando la dirección IP específica necesaria para conectarse a tu sitio web.
Con esta información, voy a Dynu, a la sección Name Servers, y borro todos los que había por defecto (de Dynu), y añado los de Cloudflare:









