¿Qué es un CDN y por que deberías de tener uno en tu sitio web?

¿Qué es un CDN y por que deberías de tener uno en tu sitio web?

Un CDN es una red de servidores que se encarga de entregar el contenido de tu sitio web protegiendo tu servidor contra ataques DDOS.

Un CDN (Content Delivery Network ó Red de entrega de contenidos), básicamente es una red de servidores que se encargan de entregar el contenido de un sitio web a cualquier visitante que lo solicite, traducido al lenguaje de a pie esto significa que cuando colocas una URL en un navegador como Google Chrome el que te sirve el contenido del sitio web vinculado a esa URL es el CDN, de tal forma que este último se encarga de intermediar entre el visitante (navegador) y el servidor (web).

Resultado de imagen de CDN

Un ejemplo muy conocido de CDN es CloudFlare, de hecho este sitio web lo está utilizando en este momento. En el caso de CloudFlare cuenta con una capacidad de 10TB/s y más de 118 centros de datos distribuidos por todo el mundo lo cual lo hace una de las opciones más robustas. Exiten otras opciones que son excelentes

 

Ventajas de utilizar un CDN

 

Mejora en el rendimiento de tu sitio web

Entendemos por rendimiento de un sitio web la velocidad en la cual el sitio web muestra el contenido al usuario que lo solicita.

Un CDN cuenta con un sistema para distribuir el contenido de forma eficiente, de tal forma que si te conectas desde España y el Servidor que contiene la web se encuentra en Estados Unidos, el CDN se encarga de comunicarse con el Servidor para servir el contenido en un servidor perteneciente al CDN que se encuentre cerca de la IP del usuario que solicita la información, de tal forma que allí queda cacheado el sitio web y en la próxima visita el usuario podrá acceder el sitio web muy rápidamente.

Resultado de imagen de cloudflare

Protege a tu servidor de ataques

Básicamente el motivo principal por el que se utiliza un CDN, es por la protección que te brinda, hoy en día en internet se encuentran conectados miles de millones de dispositivos tanto ordenadores, móviles, cámaras, neveras, etc... Algunos de estos dispositivos cuentan con sistemas operativos Linux y se conectan a internet para actualizar su software de forma automática y corregir errores sin que uno se de cuenta, lamentablemente no todos tienen el mismo tipo de seguridad así que es posible que una cámara con conexión a internet esté realizando un ataque de denegación de servicio en este mismo momento, suena a chiste pero no lo es, existen las llamadas "botnets" que son grandes redes que controlan algunos de los dispositivos mencionados, hay muchas y algunas son de fácil acceso, estas botnets se utilizan para realizar los mencionados ataques DDOS, existen muchos tipos de ataques DDOS pero lo que hacen en resumidas cuentas es enviar una solicitud de conexión al servidor que atacan de forma masiva y continua hasta que lo salturan de peticiones pudiendo llegar a tumbarlo o a relentizarlo en el mejor de los casos, los servidores són máquinas que cuentan con un límite de recursos y pueden quedar exhaustos resolviendo todas las peticiones de un ataque ya sea por la saturación de la CPU, RAM, ancho de banda u otro recurso. Incluso a veces el propio CDN te ayuda a sobrellevar mejor el incremento de usuarios en tu sitio web si tienes un servidor de baja calidad.

Algunas de las ventajas de utilizar un CDN en cuanto a la seguridad:

- Encubrimiento de la IP de nuestro servidor, dominio y servidores de correo asociados a nuestro servidor para prevenir ataques dirigidos.

- Firewall (WAF) para bloquear IPs no deseadas. Con el Firewall también podemos detectar los bots (Google, Yandex...) y crawlers (Capturadores de correos como theharvester), los cuales podemos bloquear si lo deseamos o impedir que capturen contenido de nuestro sitio web. Todos conocemos esos programas que permiten copiarnos el contenido de nuestra web como httrack, que bueno el poder bloquearlos hasta hacerlos inservibles, también recomiendo bloquearlos en el fichero .htaccess de nuestro servidor.

- Evita ataques DDOS y muestra páginas de contención para no saturar el sitio web, más adelante muestro un ejemplo con CloudFlare.

- Permite proteger las IPs de los visitantes para que estas no sean capturadas por plugins o terceros que tengan acceso a nuestro sitio web mediante algún iframe, en otro post os explicaré como podéis anular este filtro.

Gracias al CDN contamos con un web aplication firewall (WAF) que nos permite detectar estos ataques y bloquearlos, de tal forma que podemos añadir las IPs atacantes a una lista negra e impedir que se conecten a nuestro sitio web. 

Resultado de imagen de cloudflare

Por otro lado cuando el CDN detecta cuando el servidor web está recibiendo un alto número de peticiones y se encarga de disminuir la presión sobre el servidor, por ejemplo, en el caso del CDN CloudFlare muestra a los visitantes una pantalla dónde hacer saber al usuario que va a ser redireccionado, además cuenta con varios tipos de niveles de seguridad y si detecta que eres un robot muestra una serie de captchas a superar.

Ejemplo de pantalla de bloqueo (Muy común en sitios web de streaming):

Imagen relacionada

Ejemplo de pantalla de bloqueo para bots (Si habéis navegado por la deep web seguro que os suena):

Resultado de imagen de cloudflare block captch
 

 

En el siguiente gráfico te muestro cuales son los CDNs más utilizados según el comparador de software G2Crowd.com, os animo a formular una review una vez hayais experimentado con alguno de estos CDN en varios proyectos:

 

 

Si tienes un sitio web y quieres que te ayude a incorporar un CDN para que puedas protegerte estoy a tu disposición.

 


Comparte este artículo