Política de Segurança de Conteúdo
A Silktide verifica se todas as páginas declaram uma Política de Segurança de Conteúdo, uma medida de segurança padrão que informa aos navegadores quais fontes de scripts, imagens e outros conteúdos a página está autorizada a utilizar.
Uma Política de Segurança de Conteúdo (CSP) é enviada como um ou uma tag meta, por exemplo:
Content-Security-Policy: default-src 'self'; script-src 'self' scripts.example.com
Este exemplo informa ao navegador para carregar conteúdo apenas do seu próprio domínio, além de scripts de um host confiável.
Por que isso é importante
Sem uma CSP, uma página executa tudo o que recebe. Se um invasor conseguir injetar um script — por meio de uma tag de terceiros comprometida, de um campo de comentários vulnerável ou de uma rede de publicidade sequestrada — o navegador o executará com acesso total à página, incluindo tudo o que os visitantes digitarem. Esse tipo de ataque, conhecido como cross-site scripting, continua sendo uma das formas mais comuns de comprometer websites.
Uma CSP é a rede de segurança do lado do navegador: o conteúdo injetado de uma fonte não aprovada simplesmente não é carregado. Ela também documenta com quais terceiros as suas páginas se comunicam, o que ajuda a demonstrar conformidade com regulamentações de privacidade, como o .
Como corrigir
- Liste as fontes legítimas de onde as suas páginas carregam conteúdo: o seu próprio domínio, a sua , ferramentas de analytics, fontes e mídia incorporada.
- Escreva uma política que permita apenas essas fontes. Comece de forma rigorosa, por exemplo, com
default-src 'self', e adicione fontes específicas por tipo de conteúdo (script-src,img-src,style-src) conforme necessário. - Configure o seu servidor web, plataforma de hospedagem ou CDN para enviar a política como o cabeçalho
Content-Security-Policyem todas as páginas. Se não puder alterar os cabeçalhos, uma tag<meta http-equiv="Content-Security-Policy">no cabeçalho da página também funciona, embora o cabeçalho seja preferível. - Faça testes antes de aplicar a política: envie primeiro a política como
Content-Security-Policy-Report-Onlye observe no console do navegador o conteúdo que teria sido bloqueado. Observe que esta verificação procura o cabeçalho de aplicação da política, portanto, uma política apenas para relatórios não é suficiente para passar.
Como a Silktide testa isso
- Carrega cada página e coleta os cabeçalhos HTTP, juntamente com quaisquer tags meta
http-equivpresentes na página, que os navegadores tratam da mesma forma. - Procura um valor
Content-Security-Policyem qualquer um dos dois locais. - Emite um relatório para a página se nenhum dos dois estiver presente ou se o valor estiver vazio.
- A Silktide não avalia a qualidade da política — apenas verifica se existe uma.
Solução de problemas
Configurei uma política, mas a verificação continua falhando
Confirme se o cabeçalho aparece exatamente nas páginas que estão sendo analisadas — às vezes, as políticas são configuradas apenas para a página inicial ou para um host virtual. Você pode ver os cabeçalhos retornados por uma página nas ferramentas de desenvolvedor do seu navegador, na aba Rede.
Uma CSP pode quebrar o meu website?
Uma política excessivamente rigorosa pode bloquear os seus próprios scripts ou estilos. Por isso, é altamente recomendável testar primeiro com Content-Security-Policy-Report-Only — essa opção relata violações sem bloquear nada.