Cloudflare es un administrador de zonas DNS, que incorpora un proxy inverso para ofrecer sus servicios de CDN (Content Delivery Network) y seguridad para aplicaciones web.
Al estar concebidos sus servicios detrás de un proxy, Cloudflare actúa como primer nivel de contacto en la red cuando ingresas a un sitio web.
En dicho proxy, almacena una copia de tu sitio web a nivel del contenido estático (css, js, html, imágenes, etc), que luego despacha directo desde sus puntos de presencia en todo el mundo.
Esto hace que si visitas la web desde México, Chile o España, Cloudflare despachará los archivos estáticos desde el lugar más cercano a tu ubicación geográfica, acelerando el despacho de elementos de tu web. Esto también se traduce en menor cantidad de peticiones al servidor donde se aloja tu web.
Esa es la forma en que funciona Cloudflare a grandes rasgos, aunque existen más opciones por descubrir, y por sobre todo** saber si realmente nuestras aplicaciones web se verán beneficiadas con él, o si puede traernos algún que otro problema.**
Desde que Cloudflare fue concebido hace años, ha evolucionado enormemente, convirtiendose en uno de los servicios más galardonados y premiados a nivel de innovación tecnológica en Internet.
Veamos cuáles son los principales beneficios de usar Cloudflare para nuestras webs.
Acelera tu Web
El CDN de Cloudflare es sencillamente fantástico, junto con Akamai, su más grande competidor, tienen la mejor red de distribución de contenido del mundo, están en casi todos los países y cada mes agregan nuevos puntos de presencia en todo el globo.
Al usar su CDN acelearás la carga de tu web drásticamente, esto es bueno tanto para los usuarios que navegan tu sitio, como para Google, que te premiará en sus rankings si tu web es rápida.
Reduce la carga del servidor
No importa si tienes un sitio pequeño, o uno grande, el servidor y los administradores de sistema que lo manejan te agradecerán si comienzas a despachar el contenido estático desde Cloudflare, de esta manera reducirás el número de peticiones despachadas desde el server, estará más estable y consumiendo menos recursos de CPU/memoria y uso de disco a nivel de I/O.
Protege tu web contra Bots
CloudFlare nació originalmente como “Project Honey Pot”, un proyecto para luchar contra bots y amenazas maliciosas desde la web para actuar como barrera antes de que la petición llegue incluso al server destino. Hoy está integrado y mejorado dentro del core de Cloudflare y te ayudará a prevenir ataques automatizados a tu web.
Protege contra spam en formularios
Otro de los beneficios de usar CF es que tiene una protección nativa para evitar que (si tienes un formulario sin captcha) lleguen spammers a tu sitio y te inunden con datos falsos los forms de contacto, los de registros de usuario o sistemas de comentarios de los CMS más populares como Wordpress.
Protección anti-hotlinking
CF incorpora un modo anti-hotlinking que te permite proteger tus imágenes y demás recursos estáticos para evitar que puedan hacerte peticiones a ellos desde págians webs desconocidas, eso te ahorra transferencia y protege tus contenidos.
SSL Gratuito
Universal SSL fue el nombre que recibieron en su primer momento los SSL gratis de Cloudflare, hoy en día también se los conoce como Flexible SSL.
Se trata de certificados gratuitos para tu sitio y subdominios que puede activarse con un par de clicks, sin verificación ni pérdida de tiempo como en los SSL tradicionales.
Esto es algo muy útil hoy en día cuando Google Chrome y Mozilla están alertando sobre sitios inseguros al visitar una web que no contiene un certificado SSL.
Modo Offline
En el hipotético caso de que tu proveedor de hosting falle, Cloudflare puede avisar a tus usuarios que el sitio está offline temporalmente y que pronto volverá online.
Esto ayudará a que tu web no quede complemente off, y comunicará a los visitantes que hay una falla temporal.
Sistema de Estadísticas
CloudFlare tiene un sistema de estadísticas muy genial que te informa sobre el rendimiento del CDN, cuantos kbs o mbs te has ahorrado de transferencia, los orígenes desde donde se han despachado, así como también estadísticas de protección de ataques contra tu web, como se puede apreciar en esta captura de abajo:
Cloudflare parece como salido de un cuento de hadas, ofrecen todo esto… ¿y gratis?
En realidad, no todo es color de rosa como parece.
Lo que te hemos comentado anteriormente es todo verdad, pero existen varias cosas a tener en cuenta sobre sus limitaciones o desventajas que deberías evaluar antes de activar este servicio.
Compartes IP
Estarás compartiendo IP con centenares o miles de sitios web que usan la misma IP de los servidores de Cloudflare. Entre ellos sitios de malware, phising, warez, entre otros, que lo usan para justamente proteger la IP de origen. Esto puede llegar a traerte alguna complicación a futuro, como la que veremos en el siguiente punto.
Impacto en el SEO
Si bien Cloudflare ha dicho lo contrario en varias ocasiones, e incluso afirman que el SEO con ellos puede llegar a mejorar, siempre he tenido mis dudas sobre los posibles efectos de compartir la misma IP y DNS con cientos de sitios de mala reputación.
Existen muchísimos casos y reportes que han mostrado pérdidas significativas de visitas tras comenzar a usar el CDN de Cloudflare directo sobre sus webs.
Y no es de extrañar, al activar Cloudflare directo sobre un sitio éste toma contro total de los headers HTTP, incluso de cómo realizas hasta las redirecciones 301, y mucho más.
Así que si quieres cuidar tu SEO, mi recomendación es que no lo pruebes, hay formas de beneficiarse de este CDN sin correr riesgos, como explicaré más abajo.
Cloudflare puede caerse
Esto es algo que también puede afectarte negativamente, pues toda tu infraestructura de servidores con tu proveedor de hosting puede estar online y funcionando perfecto, sin embargo si Cloudflare cae, puede que tu sitio quede offline también, un router puede fallar, o bien tener una degradación de performance por ataques DDOS masivos a la zona donde te hospedas (algo que sucede muy a menudo).
SSL no tan seguro
El SSL gratuito de Cloudflare se llama Flexible SSL, y no es un SSL seguro ya que no encripta la información por completo, sólo la encripta desde el proxy hacia el visitante, pero no hacia el sitio que corre en el backend, tiene muchas diferencias con el SSL tradicional o incluso con el SSL de Let’s Encrypt.
Así que cuidado con usarlo en sitios que tengamos en producción, sólo los recomendaría en sitios temporales o de desarrollo.
Pierdes control
Tener toda casi toda tu infraestructura web dependiendo de un solo servicio no es nada bueno, en el hipotético caso que algo le suceda a la red de Cloudflare (que sucede cada tanto), no sólo perderías control de sus registros DNS, también de los certificados SSL, y claro está de la disponibilidad de tu web.
Todo lo que ofrece Cloudflare a nivel de seguridad (excepto la protección ante grades DDOS) se puede hacer nativamente en tus servidores o clouds, sin tener que recurrir tanto a ellos.
Ganarás independencia, y tendrás control sobre aspectos que solo Cloudflare maneja de otra forma.
Todo sitio necesita mejorar la velocidad (más aún cuando Google ama los sitios rápidos) y aumentar la seguridad, eso se transmite en mayor usabilidad para los usuarios, mejor experiencia navegando, y ganas la confianza del navegante, eso algo innegable.
Sin embargo, como todo en la vida, debe haber un balance. Por eso mi sugerencia es que lo uses pero para lo que sea estrictamente necesario, veamos algunos casos prácticos:
Despachar el contenido estático desde el CDN
Cloudflare lo que hace con su proxy es cachear el contenido estático de nuestra web, y despacharlo rápidamente desde su CDN, ¿verdad?
Pues una forma de tomar ventaja de esto sin tener que exponer nuestro dominio por completo, es mover nuestros estáticos a un dominio exclusivo para ello, o bien a un subdominio. En Infranetworking para despachar muchos de los recursos estáticos tenemos un dominio sólo para js, css, e imágenes con Cloudflare.
Si crees que no vale la pena tener un dominio registrado para ello, entonces la sugerencia que voy a darte es que simplemente crees un subdomino clásico como: static.tuweb.com, de esta forma al agregar tu sitio a Cloudflare, activarás el CDN sólo para ese subdominio en particular. Pues al fin y al cabo, el mayor beneficio a nivel de performance es cuando hacemos uso de su CDN.
Mejorar la Seguridad
Y en cuanto a seguridad, si hacemos las cosas bien desde nuestros servidores podremos protegernos contra el hotlinking, ataques de bots con un firewall de aplicaciones (WAF), o bien usando captchasen
formularios, por citar algunos ejemplos, para esas cosas no necesitas CF.
¿Y qué pasa si hay un DDOS contra mi sitio?
Por la naturaleza de los ataques DDOS y floods masivos, la realidad es que desde tu proveedor de hosting podrán ayudarte a detener ataques pequeños y medianos, pero no gigantes. En eso el 99% de las veces debes recurrir a servicios especializados como Cloudflare, Incapsula, entre otros.
También vale aclarar que los DDOS no suceden todos los días, es la realidad, y salvo tengas una web super atacada y popular, no necesitarás de una protección constante.
Si hay un DDOS contra tu sitio que desde el Datacenter donde te alojas no pueden mitigar, en ese caso al ya tener el sitio agregado a Cloudflare, lo ideal será activarlo para toda tu web y activar el modo I’m under attack, sumado a varios tweaks más que harán muy efectiva la mitigación contra el tráfico malicioso que recibes.
En el siguiente artículo de esta serie de Cloudflare veremos en detalle cómo activar el cache de Cloudflare, tanto para el dominio entero, como para sus subdominios y exploraremos las opciones para mejorar la performance de tu web. Descubre más conceptos con Platzi, como serverless.