Skip to content

[API] Configurar headers de segurança no deploy #17

Description

@Ronildo22

Configurar headers de segurança no deploy

Contexto

Atualmente a aplicação não possui headers de segurança configurados no ambiente de deploy. Isso aumenta a exposição a problemas como clickjacking, execução indevida de conteúdo e vetores comuns de XSS.

Sem uma política explícita de segurança, o navegador aceita comportamentos mais permissivos do que o necessário para a aplicação.

Objetivo

Configurar headers de segurança para o projeto, com foco inicial em vercel.json, restringindo fontes de scripts e estilos e adicionando proteções básicas contra clickjacking e XSS.

A solução deve cobrir:

  • configuração de Content-Security-Policy (CSP)
  • configuração de X-Frame-Options
  • configuração de X-Content-Type-Options
  • restrição de fontes de scripts e estilos
  • mitigação de clickjacking e XSS

Exemplos de comportamento esperado

Exemplo 1 — Proteção contra clickjacking

Cenário: tentativa de abrir a aplicação dentro de um iframe externo.

Resultado esperado: o navegador bloqueia o carregamento por conta de X-Frame-Options ou diretiva equivalente na CSP.

Exemplo 2 — Bloqueio de script não autorizado

Cenário: página tenta carregar script de origem não permitida.

Resultado esperado: a política CSP bloqueia o carregamento.

Exemplo 3 — Bloqueio de tipo de conteúdo indevido

Cenário: recurso é servido com tipo incorreto ou ambíguo.

Resultado esperado: o navegador não faz MIME sniffing por causa de X-Content-Type-Options: nosniff.

Comportamento esperado

  • O deploy deve enviar headers de segurança para as rotas da aplicação.
  • A CSP deve restringir as fontes permitidas de scripts e estilos ao mínimo necessário.
  • A aplicação deve impedir carregamento em iframe não autorizado.
  • O navegador não deve fazer interpretação permissiva de tipos de conteúdo.
  • A configuração deve ser compatível com o ambiente da Vercel.
  • A política deve ser documentada para facilitar manutenção futura.

Tarefas

  • Configurar Content-Security-Policy no vercel.json.
  • Configurar X-Frame-Options no vercel.json.
  • Configurar X-Content-Type-Options no vercel.json.
  • Restringir fontes de script-src e style-src ao mínimo necessário.
  • Validar se a configuração não quebra recursos legítimos da aplicação.
  • Documentar as decisões da política de segurança.
  • Adicionar validação/teste do comportamento esperado no ambiente de deploy ou documentação de verificação manual.

Critérios de aceite

  • O deploy envia Content-Security-Policy.
  • O deploy envia X-Frame-Options.
  • O deploy envia X-Content-Type-Options: nosniff.
  • Scripts e estilos ficam restritos às origens explicitamente permitidas.
  • A aplicação fica protegida contra carregamento em iframe não autorizado.
  • A política reduz risco de XSS sem quebrar o funcionamento esperado.
  • Existe documentação ou checklist de validação da configuração.

Dependências

  • Levantamento das origens realmente necessárias para scripts, estilos e assets.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions