Skip to main content
Todos os Termos Glossary

Conteudo Misto

Definition

Conteudo misto ocorre quando o HTML inicial e carregado via HTTPS, mas outros recursos (como imagens ou scripts) sao carregados via HTTP inseguro. Isso cria vulnerabilidades de seguranca, pois esses recursos inseguros podem ser modificados em transito. Navegadores modernos bloqueiam conteudo misto por padrao, e as melhores praticas de seguranca exigem que todos os recursos sejam servidos via HTTPS.

O que é conteúdo misto

Conteúdo misto ocorre quando uma página entregue por HTTPS carrega sub-recursos por HTTP em texto simples. O documento de nível superior é criptografado e autenticado, mas as buscas inseguras por scripts, folhas de estilo, imagens, fontes ou requisições XHR/fetch não são. Os navegadores o classificam em duas categorias. O conteúdo misto ativo, como scripts, folhas de estilo, iframes e chamadas fetch, pode alterar a página inteira e é bloqueado de imediato pelos navegadores modernos. O conteúdo misto passivo, como imagens, áudio e vídeo, não consegue reescrever a página, mas ainda vaza informações e pode ser trocado, então os navegadores cada vez mais o atualizam ou bloqueiam também. O ícone de cadeado que o usuário vê reflete o documento de topo, e é por isso que o conteúdo misto silencioso é enganoso.

Por que o conteúdo misto é um risco

Um sub-recurso HTTP trafega sem autenticação pela rede, então qualquer um posicionado entre o usuário e o servidor, em um Wi-Fi compartilhado, um roteador malicioso ou um upstream comprometido, pode lê-lo ou reescrevê-lo em trânsito. Reescrever um script carregado por HTTP equivale, na prática, à injeção arbitrária de JavaScript em uma página que, de outra forma, seria segura: o invasor herda a origem da página e pode roubar tokens de sessão, exfiltrar dados de formulários ou plantar um skimmer. Até ativos passivos podem ser alterados para falsificação de conteúdo ou usados para vazar sinais de referrer e de cookies. O conteúdo misto também mina silenciosamente as garantias que o HTTPS deveria oferecer, dando ao usuário uma falsa sensação de sessão totalmente protegida enquanto um elo fraco permanece aberto.

Eliminando o conteúdo misto

Sirva todos os recursos por HTTPS e referencie ativos com URLs https absolutas ou relativas ao protocolo. A diretiva CSP upgrade-insecure-requests instrui o navegador a reescrever automaticamente para HTTPS as requisições de sub-recursos HTTP elegíveis, e block-all-mixed-content faz o restante falhar de forma dura; combinar essas diretivas com HSTS mantém todo o caminho de entrega criptografado. Audite embeds third-party, que são uma fonte comum de chamadas HTTP dispersas. Como o conteúdo misto tem a ver fundamentalmente com o transporte, o papel da cside aqui é indireto: ela não gerencia certificados, mas, ao proxiar e analisar os payloads de scripts third-party, pode sinalizar quando um script carregado se comporta de forma maliciosa, qualquer que tenha sido o transporte que o entregou, e manter um registro forense do que de fato foi executado.

Definição

Por que meu site ainda mostra um aviso se apenas uma imagem carrega por HTTP?

Isso é conteúdo misto passivo. Uma imagem HTTP não consegue reescrever a página, então os navegadores historicamente a permitiam com um indicador de segurança rebaixado em vez do cadeado completo. Navegadores mais novos podem atualizá-la automaticamente ou bloqueá-la, então a correção mais limpa é servir a imagem por HTTPS.

Definição

Qual é a diferença entre conteúdo misto ativo e passivo?

O conteúdo misto ativo, como scripts, folhas de estilo e iframes, pode mudar a página inteira, então os navegadores o bloqueiam. O conteúdo misto passivo, como imagens, áudio e vídeo, só pode afetar o próprio recurso, então historicamente foi permitido com um aviso, embora os navegadores agora cada vez mais o atualizem ou bloqueiem também.

Got more questions

Talk to a security expert

We answer client-side security questions every day. Bring yours.

Agende uma demonstração