Skip to content

feat(backend): security headers (HSTS, nosniff, X-Frame-Options, CORS) #121

Description

@IncludeLuisFerreira

Contexto

Headers de segurança em todas as respostas: HSTS, X-Content-Type-Options: nosniff, X-Frame-Options: DENY e CORS restrito ao domínio do frontend. Hardening do SaaS.

Tecnologias e Ferramentas

  • fastapi (0.141.x) — middleware
  • fastapi.middleware.cors.CORSMiddleware

Como Implementar

  1. Adicionar middleware de headers:
    @app.middleware("http")
    async def security_headers(request: Request, call_next):
        response = await call_next(request)
        response.headers["Strict-Transport-Security"] = "max-age=31536000; includeSubDomains"
        response.headers["X-Content-Type-Options"] = "nosniff"
        response.headers["X-Frame-Options"] = "DENY"
        return response
  2. Configurar CORS restrito:
    app.add_middleware(CORSMiddleware, allow_origins=["https://<frontend>"], allow_methods=["*"], allow_headers=["*"])

Critérios de Aceite

  • HSTS, nosniff e X-Frame-Options presentes
  • CORS restrito ao domínio do frontend
  • Headers em todas as respostas (curl -I)

Verificação

  • curl -I mostra os 3 headers; requisição de origem não autorizada é bloqueada

Referências

Activity

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

Metadata

Metadata

Labels

backendCódigo de backend (FastAPI/gRPC/agente)sprint-8Sprint 8 — Observabilidade e Hardening

Projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions