Les réseaux de diffusion de contenu (CDN) sont bien établis en tant que partie intégrante des flux de travail de streaming multimédia, permettant une expérience vidéo de haute qualité qui évolue à l’échelle mondiale. Alors que la plupart des services de streaming exploitent le CDN pour améliorer les performances vidéo, ils peuvent manquer une occasion de tirer parti de la pleine puissance du CDN pour sécuriser leur infrastructure de streaming OTT . Cet article examine comment un CDN peut être déployé en tant que couche de sécurité dans une infrastructure de streaming OTT pour atténuer les attaques DDoS et autres vulnérabilités. Nous partageons également les meilleures pratiques de configuration CDN qui améliorent les performances et la résilience de l’infrastructure de streaming.
Serveur de manifeste
Dans un flux de travail en continu, une fois qu’un client s’authentifie et pousse la lecture, le client/joueur établit une session avec un serveur de manifeste. Le serveur de manifest dirige le lecteur vers un magasin de vidéos, ou CDN, pour récupérer les fichiers vidéo. Le serveur de manifest est en communication constante avec le client tout au long de la lecture. Et dans certains workflows de streaming (comme avec Verizon Media, maintenant Edgio, Platform), nos serveurs de manifest créent une session pour chaque spectateur.
Dans un flux de production en streaming 1 à 1, chaque utilisateur obtient sa propre session. Étant donné que le manifeste est personnalisé et change continuellement, le manifeste ne bénéficie pas de la mise en cache CDN lorsqu’il demande au lecteur de récupérer un fichier vidéo qui change en fonction du débit binaire du flux et de la pause publicitaire. Comme nous le verrons plus loin dans cet article, vous devez configurer la mise en cache CDN afin qu’elle n’ait pas d’impact négatif sur les performances du serveur de manifest.
Les serveurs Manifest hautes performances dépendent d’une évolutivité horizontale. Par exemple, nous avons conçu l’infrastructure de serveur Manifest dans notre service de streaming pour l’étendre en temps réel sur plusieurs régions géographiques afin de fournir des millions de sessions pour des diffusions en direct populaires telles que les finales de la NBA et le Super Bowl.
L’ajout d’une couche CDN devant le flux de production manifeste peut-il encore offrir des avantages en termes de performances et de sécurité ? C’est ce que nous avons cherché à confirmer lorsque nous avons déplacé nos serveurs de manifest derrière notre CDN. Nous avons découvert trois avantages de ce flux de travail.
Figure 1. Un CDN est couramment utilisé pour améliorer la diffusion des fichiers vidéo (diagramme A), mais il peut également être exploité pour améliorer la sécurité et les performances du serveur de manifest (diagramme B).
Benefit 1 : protection DDoS automatisée
Because les serveurs Web sont accessibles publiquement en ligne, ils sont une cible ouverte et attrayante pour les attaques DDoS . Bien que les URL de serveur de manifeste ne soient généralement pas annoncées, elles sont accessibles au public. Il faut peu d’efforts pour quelqu’un ayant une connaissance du réseautage et un certain sondage de base des outils de développeur web d’un navigateur pour découvrir votre URL.
Compte tenu de la facilité relative d’identification de la surface d’attaque, les attaques DDoS sont l’un des outils les plus courants dans l’arsenal d’un pirate. En utilisant des services à faible coût sur le dark web, les attaquants peuvent harceler n’importe quel serveur Web dans le monde entier, y compris les serveurs manifestes. Malgré l’omniprésence relative des contre-mesures DDoS, Verizon a dénombré plus de 13 000 attaques DDoS en 2020.
De nombreux services Web ont déployé la technologie de défense DDoS. Le matériel spécialisé dans le centre de données et les services de centre de nettoyage tiers sont courants. Mais à mesure que les applications se sont déplacées vers le cloud, il devient de plus en plus courant de transférer la protection DDoS vers un fournisseur DDoS basé sur le cloud.
Notre CDN intègre Stonefish, une plateforme de protection des attaques DDoS résiliente et intelligente qui bloque automatiquement 99 % des attaques de couches 3 et 4. Stonefish a été spécialement conçu pour offrir une protection DDoS à grande échelle. Intégré à notre réseau de plus de 250 Tbit/s sur 300 POPS, Stonefish offre la capacité à l’échelle du cloud requise pour faire face aux plus grandes attaques DDoS. Stonefish analyse des millions de paquets par seconde, en les évaluant pour détecter les menaces et en prenant automatiquement des mesures si nécessaire ou en renvoyant les attaques au centre d’exploitation du réseau pour les remonter.
Figure 2. Stonefish échantillonne et évalue le trafic traversant notre réseau mondial et bloque automatiquement les attaques DDoS avant qu’elles n’affectent l’infrastructure Web du client.
Avantage 2 : distribution des requêtes avec IP Anycast
La protection contre les attaques DDoS est également améliorée grâce à IP Anycast, une technique de mise en réseau intégrée au réseau Verizon Media Platform Delivery. Il permet à plusieurs serveurs de partager la même adresse IP. Les routeurs l’envoient au point de terminaison le plus proche en fonction de l’emplacement d’une requête utilisateur, réduisant ainsi la latence et augmentant la redondance. IP Anycast utilise l’échelle du CDN pour se protéger contre les attaques volumétriques ou DDOS de grande envergure. Chaque serveur au sein du CDN absorbe des parties de l’attaque, ce qui réduit la pression sur le serveur et le réseau.
Avantage 3 : réduction de la latence manifeste-client
Malgré la nature non cachable des sessions de serveur manifest, un CDN offre encore certains avantages en termes de performances. Un chemin manifeste-client-serveur typique peut avoir jusqu’à 20 sauts via l’Internet public. En revanche, les CDN exploitent leurs serveurs périphériques dispersés pour combler cet écart, éliminant les sauts, ce qui réduit le nombre de liaisons où la congestion peut se produire, se connectant au point de présence le plus proche, qui est probablement juste un ou deux sauts au maximum. Le CDN achemine ensuite le trafic sur ses connexions hautement optimisées entre POP.
Optimisation du CDN pour les performances du serveur de manifest
Pour valider ces avantages, l’équipe d’ingénierie des performances d’Edgio a créé un environnement de test pour s’assurer que les résultats étaient les mêmes ou meilleurs en arrière du CDN – y compris les taux d’erreur, les temps de réponse et le temps de retard en direct –, pour les manifestes HLS et DASH.
Le test a comparé:
- Zone AWS sans CDN avec une zone AWS avec CDN
- Zone Azure sans CDN avec une zone Microsoft Azure avec CDN
Chaque zone avait une cible de 250 000 spectateurs simulés simultanés en direct pour un total de 1 million, dont 500 000 passant par le CDN. Les clients ont reçu un ratio de 10 pour 1 de VSS HLS DASH, ce qui signifie que pour chaque tranche de 10 visualiseurs HLS générés, il y aurait un visualiseur DASH. Les téléspectateurs des chaînes utilisées ont eu des pauses publicitaires fréquentes, plus élevées que la normale, conçues pour surcharger le système — des pauses publicitaires de 30 secondes une fois par minute, ce qui donne 30 secondes de contenu suivies de 30 secondes de publicités. La montée en puissance initiale des spectateurs était de plus de 700 spectateurs par seconde, simulant un démarrage rapide d’un événement en direct.
Nos tests initiaux ont révélé une certaine dégradation des performances sur les zones derrière le CDN, ce qui a entraîné une augmentation des temps de réponse et des erreurs de temporisation pour les clients. Pour résoudre ces problèmes, nous avons apporté deux modifications.
Tout d’abord, nous avons configuré le CDN pour ne pas distribuer les manifestes. Comme décrit ci-dessus, étant donné que les manifestes sont individualisés à un niveau de session 1-à-1, la mise en cache CDN des manifestes est inutile et peut dégrader les performances.
Deuxièmement, nous avons examiné la configuration du paramètre HTTP Keep-Alive de sorte que le CDN établisse une fréquence d’établissement de liaison plus optimale avec les serveurs manifest. En utilisant le paramètre Keep-Alive du serveur de manifeste comme ligne de base, nous définissons le paramètre Keep-Alive CDN juste en dessous de 12 secondes. Pourquoi ne pas garder la connexion ouverte indéfiniment? Cela doit être lié à la recherche d’un équilibre optimal entre efficacité et performance. Tout comme une réunion sur Slack ne peut conserver qu’un nombre maximal de threads avant d’être surchargée, une communication manifeste/CDN doit être configurée pour ce que les serveurs peuvent gérer. Un réglage de 12 secondes a optimisé la fréquence d’interaction, permettant au CDN et au manifeste de communiquer à des niveaux optimaux.
Suite à ces changements, nous avons trouvé peu de différence entre les performances manifestes derrière le CDN et non derrière le CDN. AWS et Microsoft Azure ont tous deux fonctionné de manière comparable dans les deux configurations. Le CDN n’a signalé aucun problème de performance et de charge.
Le tout rassemblé
The CDN est essentiel au succès de tout service média, offrant une expérience de téléspectateur de haute qualité à grande échelle. Alors que pratiquement tous les services OTT s’appuient sur le CDN pour la distribution de contenu, beaucoup ratent une occasion d’exploiter la puissance du CDN pour protéger leurs services contre les attaques DDoS. Un CDN peut vous aider de deux façons puissantes. Tout d’abord, l’ampleur massive du CDN peut correspondre à l’ampleur de la plus grande des attaques DDoS. Deuxièmement, IP Anycast propage toute attaque DDoS sur plusieurs serveurs. En plus d’améliorer la sécurité, le CDN peut également jouer un rôle dans la réduction de la latence manifeste-client.
Le nombre et la gravité des attaques DDoS augmentent chaque année. Un examen complet de l’ensemble de votre infrastructure vous permettra probablement d’améliorer les performances et d’accroître la sécurité. Les services OTT doivent prendre des mesures pour se défendre contre une attaque DDoS perturbant le service tout en maintenant des performances optimales. Le déplacement des serveurs de manifeste derrière le CDN peut atteindre cet objectif.
Laissez-nous évaluer vos besoins en matière de sécurité sur l’ensemble de votre infrastructure OTT et suggérer des moyens d’augmenter vos niveaux de protection et de performances. Contactez-nous dès maintenant pour en savoir plus.