¿Por qué los CDN no requieren autenticación para acceder a archivos estáticos?

1

¿Por qué las empresas como Facebook no requieren solicitudes HTTP / HTTPS autenticadas para acceder al contenido (como imágenes) mediante CDN?

De alguna manera, una vez que un "amigo" puede acceder a la URL de la imagen, él / ella puede publicar efectivamente esa URL al mundo, permitiendo el acceso anónimo. Esto es literalmente "seguridad a través de la oscuridad", ya que solo se basa en la URL que consiste en un fbID (similar a UUID) que es secreto. Creo que Facebook llama a esto un modelo de seguridad basado en capacidad, pero ¿no tendría sentido vincular las direcciones URL a los usuarios particulares para tener atribución, así como emplear algún tipo de rotación periódica de URL / fbID?

    
pregunta Jedi 03.07.2016 - 21:01
fuente

1 respuesta

4

El motivo de esto son las aplicaciones a gran escala. Cuando tiene aplicaciones a gran escala, la verificación de la autorización requiere una cantidad inaceptable de recursos. Es por eso que los recursos estáticos, como imágenes, videos y otro contenido, se almacenan externamente en servidores CDN estáticos utilizando un token aleatorio, y luego la respuesta autorizada puede incluir este token.

Esto significa que solo necesitan unos pocos servidores de base de datos replicados, y luego pueden tener grandes cantidades de servidores CDN que se almacenan en caché de forma permanente.

Los servidores distribuidos es lo que dificulta también la rotación, ya que entonces se debe indicar a los servidores CDN estáticos que roten ese valor. Y eso implica un uso inaceptable de los recursos, ya que debe hacerse periódicamente. A diferencia de un valor aleatorio, solo se debe establecer en la carga.

Incluso el cálculo de un hash md5, la generación de un valor aleatorio o algo que parece "simple", puede ser un gran impulso para un servidor CDN distribuido.

Entonces el servidor es un simple almacenamiento de archivos. Básicamente, toda la autenticación y la generación de valores aleatorios ocurren en los "servidores activos" (que ejecutan el código), mientras que los servidores estáticos solo almacenan archivos basados en nombres de archivos y sirven archivos basados en nombres de archivos.

    
respondido por el sebastian nielsen 03.07.2016 - 21:17
fuente

Lea otras preguntas en las etiquetas