Como configurar uma Content Security Policy pra reduzir riscos de XSS imprimir

  • 0

Content Security Policy: o escudo extra contra ataques XSS no seu site

Oi! Aqui é a Sensei da GeHost 👋 Hoje vamos falar de uma camada de proteção que pouca gente conhece, mas que faz uma diferença enorme na segurança do seu site: a Content Security Policy (CSP). Calma que não é nada complicado — vou te explicar com calma, passo a passo, sem juridiquês nem termo técnico jogado sem explicação.

O que é CSP, afinal?

Pense na CSP como uma lista de convidados na porta do seu site. Você diz ao navegador: "só deixe entrar scripts, imagens e estilos que vieram destas fontes que eu autorizei". Qualquer coisa fora dessa lista — um script malicioso injetado por um invasor, por exemplo — é bloqueada automaticamente pelo navegador, antes mesmo de rodar.

Por que isso ajuda contra XSS?

XSS (Cross-Site Scripting) é quando alguém consegue injetar um código malicioso no seu site — normalmente através de um campo de formulário, comentário ou área que aceita conteúdo do visitante — e esse código acaba rodando no navegador de quem acessa a página. Uma CSP bem configurada reduz muito esse risco porque, mesmo que o invasor consiga inserir o código, o navegador vai recusar executá-lo se a origem dele não estiver na sua lista autorizada.

💡 Dica da Sensei: CSP não substitui boas práticas como validar e higienizar dados de entrada no seu site/sistema — ela é uma camada extra de defesa, tipo um cinto de segurança além do airbag.

Passo 1: Mapeie de onde vêm os recursos do seu site

Antes de criar qualquer regra, anote:

  • De onde vêm os scripts (JavaScript) que seu site carrega — são só do seu próprio domínio ou também de serviços externos, como Google Analytics, fontes do Google Fonts, chat de suporte, etc.?
  • De onde vêm as imagens e vídeos.
  • De onde vêm os estilos (CSS) — próprios ou de CDNs externos.

Essa lista é essencial: se você esquecer de autorizar uma fonte legítima, o navegador vai bloquear ela também, e alguma parte do site pode "quebrar" visualmente ou parar de funcionar.

Passo 2: Escolha como vai aplicar a política

Existem duas formas comuns de ativar a CSP:

  1. Via tag <meta> no HTML — mais simples, você adiciona uma linha dentro do <head> das páginas do seu site.
  2. Via cabeçalho HTTP — configurado no arquivo .htaccess do seu domínio (esse é o método mais forte e recomendado, porque vale para o site inteiro de uma vez).

Passo 3: Monte uma política básica

Uma CSP é formada por "diretivas" — cada uma controla um tipo de recurso. As mais usadas:

  • default-src: a regra padrão para tudo que não tiver uma regra específica.
  • script-src: de onde os scripts podem vir.
  • style-src: de onde os estilos (CSS) podem vir.
  • img-src: de onde as imagens podem vir.

Um exemplo simples e bem restritivo, que só permite recursos do próprio domínio:

Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self'

O termo 'self' significa "só do meu próprio domínio". Se você usa algum serviço externo (tipo Google Fonts ou um chat de atendimento), precisa adicionar o domínio dele na diretiva certa — senão ele será bloqueado.

Passo 4: Teste antes de travar tudo (modo Report-Only)

Essa é a dica mais importante do guia: nunca ative a CSP "travando" tudo de uma vez em produção. Existe um modo de teste chamado Content-Security-Policy-Report-Only. Nesse modo, o navegador avisa o que seria bloqueado, mas não bloqueia de verdade — assim você identifica o que precisa ajustar antes de aplicar a política real.

💡 Dica da Sensei: rode o site em modo Report-Only por alguns dias, navegando por todas as páginas importantes (formulários, checkout, área de login), antes de trocar para o modo que bloqueia de verdade.

Passo 5: Aplique a regra no seu domínio

Se você optou pelo cabeçalho HTTP (recomendado), o ajuste é feito no arquivo .htaccess da pasta do seu site. Você pode editar esse arquivo direto pelo Gerenciador de Arquivos do cPanel:

Painel inicial do cPanel com os grupos de ferramentas
  1. Acesse seu cPanel e clique em Gerenciador de Arquivos.
  2. Navegue até a pasta public_html (ou a pasta do domínio específico, se você tiver mais de um site).
  3. Localize o arquivo .htaccess (se ele estiver oculto, ative a opção "mostrar arquivos ocultos" nas configurações do Gerenciador de Arquivos).
  4. Edite o arquivo e adicione a linha da sua política de CSP.
  5. Salve e teste o site em uma aba anônima do navegador.
Gerenciador de Arquivos com a árvore de pastas incluindo public_html
⚠️ Se você não tem familiaridade com edição de arquivos do servidor, não tem problema nenhum em pedir uma força — nosso suporte pode te orientar. E lembre sempre de baixar uma cópia do .htaccess atual antes de mexer, assim você tem como voltar caso algo saia diferente do esperado.

Passo 6: Monitore e ajuste com carinho

Depois de aplicar, fique de olho por alguns dias:

  • Abra seu site em navegadores diferentes e confira se tudo carrega normalmente (imagens, formulários, botões).
  • Use o console do navegador (tecla F12, aba "Console") para ver se aparece algum aviso de bloqueio de CSP.
  • Ajuste a política aos poucos, liberando só o que realmente precisa, em vez de deixar tudo aberto "pra não dar erro" — quanto mais restritiva e específica, mais protegido fica o site.

Resumo do caminho

Mapear fontes → testar em modo Report-Only → aplicar via .htaccess → monitorar e refinar. Com esses passos, seu site ganha uma camada real de proteção contra scripts maliciosos, sem precisar de conhecimento avançado de programação.

🌱 Se tiver qualquer dúvida na hora de editar o .htaccess ou quiser que a gente revise sua política de CSP, é só chamar o suporte da GeHost pelo painel. Estamos aqui pra isso!

Esta resposta lhe foi útil?

« Retornar