As redes de distribuição de conteúdo (CDNs) são bem estabelecidas como parte integrante dos fluxos de trabalho de streaming de mídia, permitindo uma experiência de vídeo de alta qualidade que se expande globalmente. Enquanto a maioria dos serviços de streaming aproveitam a CDN para melhorar o desempenho de vídeo, eles podem estar perdendo a oportunidade de aproveitar todo o poder da CDN para proteger sua infraestrutura de streaming OTT . este artigo irá analisar como uma CDN pode ser implantada como uma camada de segurança em uma infraestrutura de streaming OTT para mitigar ataques DDoS e outras vulnerabilidades. Também compartilhamos as melhores práticas de configuração da CDN que melhoram o desempenho e a resiliência da infraestrutura de streaming.
O servidor de manifesto
Em um fluxo de trabalho de streaming, uma vez que um cliente autentica e envia a reprodução, o cliente/jogador estabelece uma sessão com um servidor de manifesto. O servidor de manifesto direciona o leitor para uma loja de vídeo, ou CDN, para recuperar os arquivos de vídeo. O servidor manifesto está em constante comunicação com o cliente durante toda a reprodução. E em alguns fluxos de trabalho de streaming (como na Verizon Media, agora Edgio, Plataforma), nossos servidores de manifesto criam uma sessão para cada espetador.
Num fluxo de trabalho de streaming de 1 para 1, cada utilizador recebe a sua própria sessão. Como o manifesto é personalizado e está em constante mudança, o manifesto não se beneficia do armazenamento em cache de CDN ao direcionar o leitor para buscar um arquivo de vídeo que muda dependendo da taxa de bits do fluxo e da quebra de anúncios. Como discutiremos mais adiante neste artigo, você deve configurar o armazenamento em cache do CDN para que ele não tenha um impactos negativo no desempenho do servidor manifesto.
Os servidores de manifesto de alto desempenho dependem da escala horizontal. Por exemplo, arquitetámos a infraestrutura de servidores de manifesto no nosso serviço de streaming para aumentar em tempo real através de várias regiões geográficas para proporcionar milhões de sessões para transmissões ao vivo populares, como as finais da NBA e o Super Bowl.
A adição de uma camada de CDN à frente do fluxo de trabalho manifesto ainda pode oferecer vantagens para desempenho e segurança? Foi o que procurámos confirmar quando movemos os nossos servidores de manifesto para trás da nossa CDN. Descobrimos três benefícios deste fluxo de trabalho.
Figura 1. Uma CDN é comumente usada para melhorar a entrega de arquivos de vídeo (diagrama A), mas também pode ser aproveitado para melhorar a segurança e o desempenho do servidor manifesto (Diagram B).
1: Proteção automatizada contra DDoS Benefit
Because Os servidores web são acessíveis publicamente online, são um alvo aberto e atraente para ataques DDoS. Embora as URLs de servidor manifesto não sejam normalmente publicitadas, elas são publicamente acessíveis. É preciso pouco esforço para alguém com um conhecimento de rede e algumas sonas básicas das ferramentas de desenvolvimento web de um navegador para descobrir a sua URL.
Dada a relativa facilidade de identificar a superfície de ataque, os ataques DDoS são uma das ferramentas mais comuns no arsenal de um hacker. Usando serviços de baixo custo na dark web, os invasores podem assediar qualquer servidor web em todo o mundo, incluindo servidores de manifesto. Apesar da relativa ubiquidade das contramedidas DDoS, a Verizon contou mais de 13 000 ataques DDoS em 2020.
Muitos serviços web implementaram tecnologia de defesa DDoS. Hardware especializado no centro de dados e serviços de centros de análise de terceiros são comuns. Mas à medida que os aplicativos mudaram para a nuvem, está se tornando cada vez mais comum mover a proteção DDoS para um provedor de DDoS baseado na nuvem.
A nossa CDN incorpora a Stonefish, uma plataforma de mitigação de DDoS resiliente e inteligente que bloqueia automaticamente 99% dos ataques das camadas 3 e 4. A Stonefish foi criada para oferecer proteção DDoS em grande escala. Integrada na nossa rede de mais de 250 Tbps em 300 Pops, a Stonefish oferece a capacidade em escala de nuvem necessária para corresponder aos maiores ataques DDoS. A Stonefish analisa milhões de pacotes por segundo, pontuando-os em busca de ameaças e tomando medidas automaticamente quando necessário ou referindo ataques ao centro de operações de rede para escalonamento.
Figura 2. A Stonefish dá amostras e marca o tráfego que atravessa a nossa rede global e bloqueia automaticamente os ataques DDoS antes que eles possam afetar a infraestrutura da web do cliente.
Benefício 2: Solicitar distribuição com o IP Anycast
A proteção contra DDoS também é melhorada através do IP Anycast, uma técnica de rede integrada na rede Verizon Media Platform Delivery. Permite que vários servidores partilhem o mesmo endereço IP. Os roteadores enviam-no para o endpoint mais próximo com base na localização de uma solicitação do usuário, reduzindo a latência e aumentando a redundância. O IP Anycast usa a escala da CDN para proteger contra grandes ataques volumétricos ou DDOS. Cada servidor dentro da CDN absorve partes do ataque, resultando em menos tensão no servidor e na rede.
Benefício 3: Reduzindo a latência do cliente manifesto
Apesar da natureza incacheável das sessões de servidores manifestos, uma CDN ainda oferece algumas vantagens de desempenho. Um caminho típico de manifesto para cliente para servidor pode ter até 20 saltos através da internet pública. Em contraste, os CDNs aproveitam seus servidores de borda dispersos para fechar essa lacuna, eliminando saltos, que reduzem o número de links onde o congestionamento pode ocorrer, conetando-se ao ponto de presença mais próximo (pop), que provavelmente é apenas um ou dois saltos no máximo. A CDN então encaminha o tráfego através das suas conexões altamente otimizadas entre POPs.
Otimização da CDN para desempenho de servidor manifesto
Para validar esses benefícios, a equipe de engenharia de desempenho de Edgio criou um ambiente de teste para garantir que os resultados fossem os mesmos ou melhores quando estavam por trás da CDN, incluindo taxas de erro, tempos de resposta e tempo por trás do tempo ao vivo, para os manifestos HLS e DASH.
O teste comparou:
- Zona AWS não-frontada com CDN com zona AWS frontada com CDN
- Zona do Azure não-frontada pelo CDN com uma zona do Microsoft Azure frontada pelo CDN
Cada zona tinha um alvo de 250 000 espetadores simultâneos simulados ao vivo, num total de 1 milhões, com 500 000 a passar pela CDN. Os clientes receberam uma proporção de 10 para 1 de HLS vs DASH, o que significa que para cada 10 visualizadores HLS gerados, haveria um visualizador DASH. O canal usado pelos telespetadores teve intervalos de anúncios frequentes e mais altos do que o normal, projetados para aumentar o stress do sistema – intervalos de anúncios de 30 segundos uma vez por minuto, resultando em 30 segundos de conteúdo seguido de 30 segundos de anúncios. O aumento inicial do espetador foi de mais de 700 espetadores por segundo, simulando um início rápido para um evento ao vivo.
Nosso teste inicial revelou alguma degradação de desempenho nas zonas atrás da CDN, resultando em clientes com tempos de resposta maiores e erros de tempo limite. Para resolver estes problemas, fizemos duas mudanças.
Primeiro, configuramos a CDN para não distribuir os manifestos. Como descrito acima, como os manifestos são individualizados a nível de sessão de 1 para 1, o armazenamento em cache de manifestos CDN é desnecessário e pode degradar o desempenho.
Em segundo lugar, analisamos a configuração de keep-alive do HTTP para que a CDN estabelecesse uma frequência de aperto de mão mais ótima com os servidores de manifesto. Usando a configuração keep-alive do servidor manifesto como linha de base, definimos a configuração keep-alive do CDN pouco abaixo de 12 segundos. Porque não manter a ligação aberta indefinidamente? Isto tem a ver com um equilíbrio ideal entre eficiência e desempenho. Assim como uma reunião sobre o Slack só pode manter um número máximo de encadeamentos antes de ficar sobrecarregada, uma comunicação manifest/CDN precisa ser configurada para o que os servidores podem lidar. Uma configuração de 12 segundos otimizou a frequência de interação, permitindo que a CDN e o MANIFEST comuniquem em níveis ótimos.
Após essas mudanças, encontramos pouca diferença entre o desempenho manifesto por trás da CDN e não por trás da CDN. Tanto a AWS como o Microsoft Azure tiveram desempenho comparável em ambas as configurações. A CDN não reportou nenhum problema com o desempenho e o carregamento.
Juntando tudo
The A CDN é vital para o sucesso de qualquer serviço de mídia, oferecendo uma experiência de visualização de alta qualidade em escala. Embora praticamente todos os serviços OTT dependam da CDN para distribuição de conteúdo, muitos perdem a oportunidade de aproveitar o poder da CDN para proteger seus serviços contra ataques DDoS. Uma CDN pode ajudar de duas maneiras poderosas. Primeiro, a escala massiva da CDN pode corresponder à escala do maior dos ataques DDoS. Segundo, o IP Anycast espalha qualquer ataque DDoS em vários servidores. Juntamente com a segurança melhorada, a CDN também pode desempenhar um papel na redução da latência do cliente manifesto.
O número e a gravidade dos ataques DDoS estão a aumentar anualmente. Uma visão abrangente de toda a sua infraestrutura provavelmente revelará oportunidades para melhorar o desempenho e aumentar a segurança. Os SERVIÇOS OTT devem tomar medidas para se defender de um ataque DDoS que perturba o serviço, mantendo o desempenho ideal. Mover servidores de manifesto por trás da CDN pode atingir esse objetivo.
Vamos avaliar as suas necessidades de segurança em toda a sua infraestrutura OTT e sugerir maneiras de aumentar os seus níveis de proteção e desempenho. Ligue-se a nós agora para saber mais.