O que é CDN
Quando você abre um site, os dados nem sempre vêm apenas do servidor operado pelo próprio site.
Imagens, CSS, JavaScript, vídeos, fontes, arquivos para download e outros dados podem ser distribuídos por um mecanismo chamado CDN.
CDN é a sigla de Content Delivery Network.
Em termos simples, é um mecanismo que coloca dados de um site em vários lugares e os entrega a partir de um local próximo ao usuário ou menos congestionado.
Ao entender CDN, fica claro que "acessar um site" pode envolver vários elementos, como servidor do operador do site, CDN, DNS, terminação TLS, logs e cache.
Isso também é importante ao pensar em anonimato.
Isso porque a CDN pode receber a comunicação como parte do lado do site e tratar endereço IP de origem, requisição, , User-Agent, horário de acesso e outros dados.
Este artigo organiza os fundamentos de CDN, o que ela acelera, onde logs podem permanecer e o que observar em anonimato.
O que é CDN
CDN é uma rede para distribuir conteúdo Web de forma eficiente.
O servidor original de um site às vezes é chamado de servidor de origem. Em uma configuração que usa CDN, o navegador nem sempre acessa diretamente o servidor de origem; ele pode receber dados por meio de um servidor da CDN.
| Elemento | Papel | Descrição |
|---|---|---|
| Navegador do usuário | Envia requisições | Solicita página, imagem, CSS, JavaScript e outros dados |
| CDN | Intermedeia a distribuição | Devolve dados a partir de um local próximo ao usuário |
| Servidor de origem | Possui os dados originais | Servidor original do lado do operador do site |
| Cache | Armazenamento temporário | Salva no lado da CDN dados usados com frequência |
| DNS | Decide o destino de conexão | Pode direcionar para servidores da CDN |
CDN não é apenas um "equipamento para acelerar".
Na Web moderna, ela pode ter vários papéis: distribuição, balanceamento de carga, proteção contra DDoS, terminação TLS, WAF, otimização de imagens, mitigação de bots, análise de logs e outros.
Por que usar CDN
As principais razões para usar CDN são velocidade, estabilidade, balanceamento de carga e proteção contra ataques.
Se o usuário está no Brasil e o servidor de origem está em um país distante, buscar sempre no servidor distante pode ser lento. A CDN coloca dados em vários pontos do mundo e devolve a partir de um ponto próximo ao usuário.
| Objetivo | O que acontece com CDN | Efeito visto pelo usuário |
|---|---|---|
| Aceleração | Responde a partir de um ponto próximo | A página aparece mais rápido |
| Balanceamento de carga | Processa em muitos pontos | Suporta melhor concentração de acessos |
| Cache | Salva as mesmas imagens e arquivos | Reduz a carga na origem |
| Proteção contra DDoS | Recebe tráfego de ataque no lado da CDN | O site tende a cair menos |
| Terminação TLS | Processa conexões HTTPS no lado da CDN | Gerenciamento de certificados e distribuição ficam mais eficientes |
É comum que grandes sites, sites de notícias, sites de vídeo, lojas online, SaaS e APIs de aplicativos usem CDN.
Do ponto de vista do usuário, parece apenas um acesso normal ao site.
Mas, por trás disso, quem responde pode ser um ponto da CDN, não o servidor de origem.
CDN e cache
Um dos mecanismos centrais da CDN é o cache.
Cache é o mecanismo de salvar temporariamente dados já obtidos e devolver os dados salvos em acessos posteriores.
Por exemplo, o mesmo logotipo, CSS, JavaScript, fonte, imagem pública e dados semelhantes são devolvidos com o mesmo conteúdo para muitos usuários. Esses dados são fáceis de salvar no lado da CDN.
| Dado | Facilidade de cache | Ponto de atenção |
|---|---|---|
| Imagem | Alta | Uma imagem antiga pode permanecer por algum tempo |
| CSS | Alta | Pode haver diferença de tempo até uma atualização aparecer |
| JavaScript | Alta | Controle de versão se torna importante |
| Vídeo | Alta | Como o volume é grande, o efeito da CDN é maior |
| Página após login | Baixa | Conteúdo individual precisa ser tratado com cuidado |
| Resposta de API | Depende do desenho | Exige cuidado quando inclui autenticação ou dados pessoais |
Do ponto de vista de anonimato e privacidade, o cache é útil, mas também traz cuidados.
Imagens e páginas antigas podem permanecer no lado da CDN. Mesmo que o site remova o conteúdo, ele pode continuar visível até que o cache da CDN seja atualizado.
Além disso, se o desenho do site estiver errado, dados individuais que não deveriam ser armazenados em cache podem acabar salvos na CDN.
CDN e DNS
Em sites que usam CDN, o resultado de DNS pode apontar para o lado da CDN.
Quando o usuário acessa um domínio, o DNS pode devolver informações para direcionar ao servidor de borda da CDN, não ao servidor de origem.
Servidor de borda é um servidor da CDN que recebe requisições perto do usuário.
| Etapa | O que acontece |
|---|---|
| 1 | O usuário acessa o nome de domínio |
| 2 | O DNS devolve o destino de conexão do lado da CDN |
| 3 | O navegador se conecta ao servidor de borda da CDN |
| 4 | A CDN verifica o cache |
| 5 | Se houver cache, a CDN responde |
| 6 | Se não houver, a CDN busca no servidor de origem |
Por isso, o mesmo nome de domínio pode retornar endereços IP diferentes conforme região e rede.
Isso não é uma anormalidade.
Em CDN e balanceamento de carga, o destino de conexão muda conforme localização do usuário, congestionamento, falhas e outros fatores.
CDN e terminação TLS
Na comunicação HTTPS, usa-se TLS.
Em uma configuração com CDN, o destino da conexão HTTPS visto pelo navegador pode ser a CDN.
Nesse caso, a comunicação criptografada por TLS é descriptografada uma vez na CDN, e a CDN processa a requisição. Depois, a CDN encaminha para o servidor de origem por outra comunicação.
| Trecho | Comunicação | Ponto de atenção |
|---|---|---|
| Navegador para CDN | Protegida por HTTPS | O destino visto pelo usuário fica no lado da CDN |
| Dentro da CDN | Área gerenciada pela empresa de CDN | A CDN processa a requisição |
| CDN para origem | HTTPS conforme a configuração | A configuração do operador do site é importante |
| Servidor de origem | Processa os dados originais | Pode aparecer como conexão vinda da CDN |
Isso não significa que HTTPS seja inútil.
HTTPS protege a comunicação entre o navegador e o destino de conexão. No entanto, quando a CDN faz a terminação TLS, ela fica em posição de processar a comunicação.
Em anonimato, a CDN também precisa ser considerada como um "ponto de observação incluído no lado do site".
O que a CDN pode ver
A CDN pode ficar na frente do site.
Nesse caso, ela recebe requisições dos usuários. Ou seja, pode tratar endereço IP de origem, horário de acesso, User-Agent, destino da requisição, Cookie, cabeçalhos HTTP e outros dados.
| Informação | Possibilidade de tratamento pela CDN | Significado em anonimato |
|---|---|---|
| Endereço IP de origem do acesso | Existe | Vira pista da rede de origem |
| Horário de acesso | Existe | Vira eixo de comparação com outros logs |
| Caminho da URL | Existe | Mostra qual página ou API foi solicitada |
| User-Agent | Existe | Vira pista de navegador e OS |
| Cookie | Depende do desenho | Relaciona-se a estado de login e identificadores |
| Volume de comunicação | Existe | Mostra tendências de envio de arquivos ou visualização de vídeos |
Isso não significa que a empresa de CDN necessariamente salve tudo por muito tempo.
O escopo de logs, período de retenção, permissões de acesso e finalidade de uso mudam conforme a empresa de CDN e as configurações do operador do site.
O ponto importante é que a CDN não é simplesmente ar transparente no caminho da comunicação.
A CDN é uma infraestrutura do lado do site que recebe comunicação.
O IP visto pelo servidor Web pode mudar
Ao usar CDN, o endereço IP de origem visto pelo servidor de origem pode mudar.
Do ponto de vista do servidor de origem, a conexão direta vem da CDN, não do usuário. Por isso, o site pode tratar o IP original do cliente por cabeçalhos como X-Forwarded-For ou CF-Connecting-IP, ou por logs da CDN.
| Lugar que observa | IP visível | Descrição |
|---|---|---|
| CDN | IP de origem do acesso do usuário | Recebe diretamente a requisição do usuário |
| Servidor de origem | IP da CDN | A conexão direta vem da CDN |
| Aplicação | Depende da configuração | Pode tratar o IP original por cabeçalhos |
| Logs de acesso | Depende do desenho | Pode permanecer tanto no lado da CDN quanto no lado da origem |
Ao ler logs, é preciso confirmar "de qual lugar é esse log".
Logs da CDN, do balanceador de carga, do servidor de origem e da aplicação mostram informações diferentes.
CDN não é tecnologia de anonimização
CDN é um mecanismo para tornar a distribuição do site mais rápida, estável e fácil de defender.
Não é um mecanismo para tornar usuários anônimos.
Do ponto de vista do usuário, a CDN pode fazer com que o endereço IP de destino seja o da CDN, e não o do servidor de origem. Mas isso não garante anonimato ao usuário.
A CDN é infraestrutura do lado do site.
Se site de destino, CDN, aplicação, análise de acesso, tags de publicidade e base de autenticação forem combinados, o acesso do usuário será processado em vários lugares.
| Mal-entendido | Realidade |
|---|---|
| Passar por CDN torna o usuário anônimo | CDN é infraestrutura de distribuição do site, não tecnologia de anonimização |
| Como o IP da origem não aparece, está seguro | Informações do usuário são tratadas pela CDN e pelo lado do site |
| Com HTTPS, nem a CDN vê | Se a CDN faz a terminação TLS, ela processa a requisição |
| Se veio do cache, não há logs | Pode haver logs de acesso no lado da CDN |
Ao pensar em anonimato, trate a CDN como uma parte do lado de destino.
Ver informações oficiais sobre CDN
Ao estudar CDN, também vale consultar explicações oficiais de empresas de CDN.
Cloudflare é uma das empresas representativas que fornecem CDN, proteção DDoS, WAF, DNS e outros serviços. Em sua página oficial de aprendizagem, é possível verificar que tipo de mecanismo é uma CDN.
URL : https://www.cloudflare.com/learning/cdn/what-is-a-cdn/
No entanto, isso não significa que usar uma empresa específica de CDN torne algo seguro.
CDN é infraestrutura do operador do site e não é uma ferramenta que completa o anonimato do usuário. Informações oficiais devem ser lidas como referência para entender o mecanismo.
Pontos de verificação para pensar em anonimato
Ao acessar um site que usa CDN, o usuário nem sempre consegue conhecer completamente a configuração detalhada da CDN.
Mesmo assim, os pontos de vista a considerar podem ser organizados.
| Ponto de vista | O que verificar |
|---|---|
| Destino da conexão | Pode haver CDN envolvida, não apenas o site |
| Logs | Separar logs da CDN, da origem e da aplicação |
| Endereço IP | Mesmo que o IP de destino seja da CDN, isso não é anonimização |
| Cookie | Cookie e estado de login permanecem mesmo passando por CDN |
| TLS | Ter consciência de onde o TLS é terminado |
| Remoção | Dados antigos podem permanecer no cache da CDN |
CDN é um mecanismo importante que sustenta a Web moderna.
Ao mesmo tempo, em anonimato, ela também é um ponto importante de observação para pensar onde a comunicação é processada.
Resumo
CDN é um mecanismo que coloca dados de um site em vários lugares e os distribui de forma eficiente a partir de um local próximo ao usuário.
Ela é usada para acelerar páginas, distribuir carga, salvar cache, proteger contra DDoS e processar TLS em certos desenhos.
No entanto, CDN não é tecnologia de anonimização. Ela é infraestrutura do lado do site e pode tratar requisições, endereços IP, User-Agent, Cookie, horários de acesso e outros dados.
Ao pensar em anonimato, é preciso separar servidor de origem, CDN, aplicação e logs. Mesmo que HTTPS seja usado, se a CDN faz a terminação TLS, ela processa a comunicação nessa posição.
Entender CDN ajuda a ver que "acessar um site" não significa necessariamente conversar apenas com um único servidor, e sim passar por uma infraestrutura composta por vários pontos de processamento.
Ferramentas relacionadas
BrowserLeaks WebRTC
Recurso externo relacionado a este artigo. Abra apenas se fizer sentido para sua situação e seu modelo de ameaça.
Por que aparece aqui: Pode ajudar com o tema do artigo, mas fica fora do Anonymity Sense e deve ser avaliado antes do uso.
Google Search removal tools
Recurso externo relacionado a este artigo. Abra apenas se fizer sentido para sua situação e seu modelo de ameaça.
Por que aparece aqui: Pode ajudar com o tema do artigo, mas fica fora do Anonymity Sense e deve ser avaliado antes do uso.