Content Delivery Networks (CDNs) sind als integraler Bestandteil von Streaming-Medien-Workflows etabliert und ermöglichen ein qualitativ hochwertiges Videoerlebnis, das weltweit skaliert werden kann. Während die meisten Streaming-Dienste das CDN nutzen, um die Videoleistung zu verbessern, verpassen sie möglicherweise die Gelegenheit, die volle Leistung des CDN zur Sicherung ihrer OTT-Streaming-Infrastrukturzu nutzen. In diesem artikel wird erläutert, wie ein CDN als Sicherheitsebene in einer OTT-Streaming-Infrastruktur bereitgestellt werden kann, um DDoS-Angriffe und andere Schwachstellen abzuwehren. Wir teilen auch Best Practices für die CDN-Konfiguration mit, die die Leistung und Ausfallsicherheit der Streaming-Infrastruktur verbessern.
Der Manifest-Server
Sobald sich ein Client in einem Streaming-Workflow authentifiziert und die Wiedergabe anschiebt, richtet der Client/Player eine Sitzung mit einem Manifestserver ein. Der Manifestserver leitet den Player zu einem Videospeicher oder CDN, um die Videodateien abzurufen. Der Manifestserver kommuniziert während der Wiedergabe ständig mit dem Client. Und in einigen Streaming-Workflows (wie bei Verizon Media, jetzt Edgio, Platform) erstellen unsere Manifest-Server eine Sitzung für jeden Zuschauer.
In einem 1:1-Streaming-Workflow erhält jeder Benutzer seine eigene Sitzung. Da das Manifest personalisiert ist und sich ständig ändert, profitiert das Manifest nicht vom CDN-Caching, wenn der Player anweist, eine Videodatei abzurufen, die sich je nach Stream-Bitrate und Anzeigenumbruch ändert. Wie wir später in diesem artikel besprechen, müssen Sie das CDN-Caching so konfigurieren, dass es sich nicht negativ auf die Performance des Manifest-Servers auswirkt.
Hochleistungsfähige Manifest-Server sind auf horizontale Skalierung angewiesen. Beispielsweise haben wir die Manifest-Server-Infrastruktur in unserem Streaming-Service so konzipiert, dass sie in Echtzeit über mehrere geografische Regionen hinweg skaliert werden kann, um Millionen von Sessions für beliebte Live-Streams wie die NBA Finals und den Super Bowl bereitzustellen.
Kann das Hinzufügen einer CDN-Schicht vor dem Manifest-Workflow immer noch Vorteile für Leistung und Sicherheit bieten? Das wollten wir bestätigen, als wir unsere Manifest-Server hinter unser CDN verschoben haben. Wir haben drei Vorteile dieses Workflows entdeckt.
Abbildung 1. Ein CDN wird häufig verwendet, um die Bereitstellung von Videodateien zu verbessern (Diagramm A), aber es kann auch genutzt werden, um die Sicherheit und Leistung des Manifest-Servers zu verbessern (Diagramm B).
Benefit 1: Automatisierter DDoS-Schutz
Because Webserver sind online öffentlich zugänglich und stellen ein offenes, attraktives Ziel für DDoS-Angriffedar. Manifest-Server-URLs werden in der Regel nicht bekannt gegeben, sind aber öffentlich zugänglich. Für jemanden mit Netzwerkkenntnissen und grundlegenden Tests der Webentwickler-Tools eines Browsers ist es wenig Aufwand erforderlich, um Ihre URL zu finden.
Angesichts der relativ einfachen Identifizierung der Angriffsfläche sind DDoS-Angriffe eines der häufigsten Tools im Arsenal eines Hackers. Mithilfe kostengünstiger Dienste im dunklen Web können Angreifer jeden Webserver weltweit belästigen, einschließlich Manifest-Server. Trotz der relativen Allgegenwart von DDoS-Gegenmaßnahmen zählte Verizon 2020 mehr als 13.000 DDoS-Angriffe.
Viele Webservices haben DDoS-Verteidigungstechnologie implementiert. Spezielle Hardware im Rechenzentrum und Services von Drittanbietern sind häufig vorhanden. Da Anwendungen jedoch in die Cloud verlagert wurden, wird es immer häufiger, DDoS-Schutz auf einen cloudbasierten DDoS-Anbieter zu verlagern.
Unser CDN umfasst Stonefish, eine ausfallsichere und intelligente DDoS-Abwehrplattform, die automatisch 99 % aller Layer-3- und -4-Angriffe blockiert. Stonefish wurde speziell entwickelt, um DDoS-Schutz in großem Maßstab zu bieten. Stonefish ist in unser Netzwerk mit mehr als 250 Tbit/s über 300 Pops integriert und bietet die Cloud-Skalierbarkeit, die für die größten DDoS-Angriffe erforderlich ist. Stonefish analysiert Millionen von Paketen pro Sekunde, bewertet sie auf Bedrohungen und ergreift bei Bedarf automatisch Maßnahmen oder leitet Angriffe zur Eskalation an das Network Operations Center weiter.
Abbildung 2. Stonefish nimmt Datenverkehr, der unser globales Netzwerk durchquert, und blockiert automatisch DDoS-Angriffe, bevor sie sich auf die Webinfrastruktur des Kunden auswirken können.
Vorteil 2: Verteilung mit IP Anycast anfordern
Der DDoS-Schutz wird auch durch IP Anycast verbessert, eine Netzwerktechnik, die in das Verizon Media Platform Delivery-Netzwerk integriert ist. Sie ermöglicht es mehreren Servern, dieselbe IP-Adresse gemeinsam zu nutzen. Router senden sie an den nächstgelegenen Endpunkt basierend auf dem Speicherort einer Benutzeranforderung, wodurch die Latenz verringert und die Redundanz erhöht wird. IP Anycast nutzt die Skalierung des CDN, um sich vor großen volumetrischen oder DDOS-Angriffen zu schützen. Jeder Server innerhalb des CDN absorbiert Teile des Angriffs, wodurch Server und Netzwerk weniger belastet werden.
Vorteil 3: Reduzierung der manifest-Client-Latenz
Obwohl Manifest-Server-Sessions nicht erreichbar sind, bietet ein CDN dennoch einige Leistungsvorteile. Ein typischer Pfad zwischen Manifest und Client und Server kann bis zu 20 Hops über das öffentliche Internet enthalten. Im Gegensatz dazu nutzen CDNs ihre verteilten Edge-Server, um diese Lücke zu schließen und Hops zu eliminieren, wodurch die Anzahl der Verbindungen, bei denen Engpässe auftreten können, reduziert wird. Sie stellen eine Verbindung zum nächstgelegenen Point of Presence (POP) her, der wahrscheinlich höchstens ein oder zwei Hops ist. Das CDN leitet dann den Datenverkehr über seine hochoptimierten Verbindungen zwischen POPs weiter.
Optimieren des CDN für die Performance des Manifest-Servers
Um diese Vorteile zu validieren, hat das Performance Engineering-Team von Edgio eine Testumgebung erstellt, um sicherzustellen, dass die Ergebnisse im Vergleich zum CDN gleich oder besser waren – einschließlich Fehlerraten, Reaktionszeiten und Zeitverzögerung – sowohl für HLS- als auch für DASH-Manifeste.
Der Test verglich:
- AWS-Zone ohne CDN-Front mit AWS-Zone mit CDN-Front
- Azure-Zone ohne CDN und Microsoft Azure-Zone mit CDN-Front
Jede Zone hatte ein Ziel von 250.000 gleichzeitig simulierten Live-Zuschauern für insgesamt 1 Million, davon 500.000 durch das CDN. Die Clients erhielten ein Verhältnis von 10:1 von HLS im Vergleich zu DASH, was bedeutet, dass pro 10 generierten HLS-Zuschauern ein DASH-Betrachter vorhanden wäre. Bei den verwendeten Kanälen waren die Werbepausen häufiger als normal, um das System zu überlasten – 30 Sekunden Werbepausen einmal pro Minute, was zu 30 Sekunden Inhalt und 30 Sekunden Werbung führte. Der erste Zuschaueranstieg betrug mehr als 700 Zuschauer pro Sekunde, was einen schnellen Start eines Live-Events simulierte.
Unsere ersten Tests haben eine gewisse Leistungsverschlechterung in den Zonen hinter dem CDN ergeben, was zu längeren Reaktionszeiten und Timeout-Fehlern bei Clients führte. Um diese Probleme zu lösen, haben wir zwei Änderungen vorgenommen.
Zuerst haben wir das CDN so konfiguriert, dass es die Manifeste nicht verteilt. Wie oben beschrieben, ist das Caching von Manifesten durch CDN-Caching von Manifesten nicht erforderlich, da Manifeste auf 1-zu-1-Sessionebene individualisiert werden und die Performance beeinträchtigen kann.
Zweitens wurde die HTTP-Keep-Alive-Einstellung so konfiguriert, dass das CDN eine optimalere Handshake-Frequenz mit den Manifest-Servern einstellte. Unter Verwendung der Keep-Alive-Einstellung des Manifest-Servers als Baseline legen wir die CDN-Keep-Alive-Einstellung knapp unter 12 Sekunden fest. Warum sollte die Verbindung nicht unbegrenzt geöffnet bleiben? Dies hat mit einer optimalen Balance zwischen Effizienz und Leistung zu tun. So wie eine Besprechung über Slack nur eine maximale Anzahl von Threads verwalten kann, bevor sie überlastet wird, muss eine Manifest/CDN-Kommunikation für die Anforderungen konfiguriert werden, die die Server verarbeiten können. Eine Einstellung von 12 Sekunden optimiert die Interaktionsfrequenz, sodass CDN und Manifest optimal kommunizieren können.
Im Anschluss an diese Änderungen haben wir kaum einen Unterschied zwischen der manifesten Leistung hinter dem CDN und nicht hinter dem CDN festgestellt. Sowohl AWS als auch Microsoft Azure lieferten in beiden Setups vergleichbare Ergebnisse. Das CDN meldete keine Probleme mit Performance und Last.
Alles zusammenführen
The CDN ist für den Erfolg jedes Mediendienstes von entscheidender Bedeutung und bietet ein qualitativ hochwertiges Zuschauererlebnis in großem Maßstab. Während praktisch alle OTT-Dienste bei der Inhaltsverteilung auf das CDN angewiesen sind, verpassen viele die Gelegenheit, die Macht des CDN zu nutzen, um ihre Dienste vor DDoS-Angriffen zu schützen. Ein CDN kann auf zwei Arten hilfreich sein. Erstens kann die massive Größe des CDN mit der Größe der größten DDoS-Angriffe mithalten. Zweitens verbreitet IP Anycast DDoS-Angriffe auf mehrere Server. Neben der verbesserten Sicherheit kann das CDN auch eine Rolle bei der Reduzierung der Manifest-Client-Latenz spielen.
Anzahl und Schwere von DDoS-Angriffen nehmen jährlich zu. Ein umfassender Blick auf Ihre gesamte Infrastruktur zeigt wahrscheinlich Möglichkeiten zur Verbesserung der Leistung und zur Erhöhung der Sicherheit auf. OTT-Services müssen Maßnahmen ergreifen, um sich vor einem Service-Unterbrechungs-DDoS-Angriff zu schützen und gleichzeitig die optimale Leistung zu gewährleisten. Dieses Ziel kann erreicht werden, wenn Manifest-Server hinter das CDN verschoben werden.
Lassen Sie uns Ihre Sicherheitsanforderungen in Ihrer gesamten OTT-Infrastruktur bewerten und Möglichkeiten vorschlagen, Ihren Schutz und Ihre Performance zu verbessern. Kontaktieren Sie uns jetzt, um mehr zu erfahren.