O que é CSP? (Content Security Policy)

Imagem CSP

Um Guardião Digital Super Inteligente para o seu Site

Imagine a sua casa, mas não uma casa qualquer. É uma casa super moderna, cheia de tecnologias. Você quer que ela seja segura, certo? Não só contra ladrões, mas também contra coisas como hackers tentando invadir seus sistemas inteligentes, ou alguém tentando instalar softwares maliciosos.

Seu site é como essa casa. Ele é construído com vários "módulos" e "ferramentas":


Apresentando o CSP: Seu Segurança e Arquiteto de Confiança

Como o CSP funciona

O CSP, ou Content Security Policy (que em português significa Política de Segurança de Conteúdo), é muito mais do que um segurança. Ele é como um arquiteto de segurança que projeta as regras de entrada e saída, e um fiscal rigoroso que garante que tudo esteja de acordo com o plano.

A principal missão do CSP é proteger seu site contra ataques maliciosos, especialmente um tipo muito comum e perigoso chamado XSS (Cross-Site Scripting).

Entendendo o Perigo do XSS:

Pense no XSS como um "Cavalo de Troia" digital. Um invasor consegue injetar um código malicioso (geralmente um script JavaScript) no seu site. Esse código não está lá por padrão; ele é inserido de forma sorrateira.

O que esse código malicioso pode fazer?

O CSP é a sua primeira e mais importante linha de defesa contra isso!


Como o CSP Protege Meu Site na Prática?

O CSP funciona como uma lista de permissões muito detalhada e restritiva. Ele não apenas diz "quem pode entrar", mas também "de onde pode vir cada tipo de coisa".

Ele faz isso enviando uma "diretriz" para o navegador do usuário (como Chrome, Firefox, Edge, Safari) antes mesmo que o site comece a carregar completamente. É como o diretor de um filme dando as instruções para os atores antes de começarem a gravar.

Quando seu site é acessado:

  1. O navegador recebe a página HTML do seu site.
  2. Antes de processar o conteúdo, ele encontra a regra CSP. Essa regra pode estar em um cabeçalho HTTP (como uma etiqueta na "caixa" que seu site envia) ou em uma meta tag dentro do HTML (como uma nota dentro do próprio documento).
  3. O navegador lê essas regras e cria um "mapa de confiança". Para cada tipo de recurso (script, imagem, estilo, etc.), ele sabe exatamente de onde ele pode ser carregado.
  4. À medida que o site tenta carregar cada recurso, o navegador consulta esse mapa:
    • Se o recurso estiver na lista de permissões e vier de um local autorizado: Ótimo! Ele é carregado normalmente.
    • Se o recurso não estiver na lista, ou tentar vir de um local não autorizado: O navegador o bloqueia imediatamente! Ele nem sequer tenta executá-lo ou exibi-lo, e muitas vezes registra um erro no console do navegador para que os desenvolvedores possam ver o que foi bloqueado.

Dissecando uma Regra CSP: Entendendo as Partes

Vamos olhar novamente para um exemplo, mas agora explicando cada pedacinho. Não se assuste com os termos, o importante é entender a lógica!

Content-Security-Policy:
  default-src 'self';
  script-src 'self' https://cdn.examplo.com;
  img-src 'self' data:;
  style-src 'self' 'unsafe-inline';
  font-src 'self' https://fonts.gstatic.com;
  connect-src 'self' api.meusite.com;
  object-src 'none';

Isso pode parecer um monte de código, mas vamos traduzir:


Implementando o CSP: Onde ele Vive?

O CSP é geralmente configurado de duas maneiras principais:

  1. Cabeçalho HTTP Content-Security-Policy (Recomendado!): Esta é a forma mais segura e flexível. As regras são enviadas junto com a página web antes que o navegador comece a processar qualquer conteúdo. É como um carimbo de segurança que chega antes da carta ser aberta.
  2. Meta Tag HTML: Você pode incluir a política CSP diretamente no <head> do seu HTML. Por exemplo:
    <meta http-equiv="Content-Security-Policy" content="default-src 'self';">
    Embora funcione, é menos seguro que o cabeçalho HTTP porque o navegador precisa primeiro ler o HTML para encontrar a meta tag. Um ataque muito rápido poderia acontecer antes que a política fosse aplicada. É mais usado em casos onde você não tem controle total sobre os cabeçalhos do servidor.

O CSP Não é Uma Bala de Prata, Mas Uma Armadura Essencial

É importante entender que o CSP é uma ferramenta de defesa poderosa, mas não é a única coisa que você precisa para ter um site seguro. Ele trabalha em conjunto com outras boas práticas de segurança, como:

Pense no CSP como a armadura mais moderna para seu site. Ela protege contra muitos golpes, mas você ainda precisa de um bom escudo e uma boa espada para se defender completamente! É uma camada crucial de proteção que ajuda a mitigar os riscos de forma proativa.

Quer criar sua própria Content Security Policy?
Experimente nosso CSP Forge e crie sua política em segundos!