docs:seguranca django

Descrição

Guidelines de segurança do django para orientação à:

Checklist de Documentação

🔐 Configurações HTTPS/SSL

  • Configurar SECURE_SSL_REDIRECT para redirecionar HTTP → HTTPS
  • Configurar SECURE_PROXY_SSL_HEADER para ambientes com proxy reverso
  • Desabilitar redirecionamento HTTPS em ambiente local/desenvolvimento

🛡️ HTTP Strict Transport Security (HSTS)

  • Configurar SECURE_HSTS_SECONDS (começar com 3600, incrementar até 31536000)
  • Habilitar SECURE_HSTS_INCLUDE_SUBDOMAINS
  • Habilitar SECURE_HSTS_PRELOAD
  • Testar HTTPS completamente antes de ativar HSTS
  • Considerar submissão para HSTS Preload List

🍪 CSRF Cookies

  • Configurar CSRF_COOKIE_SECURE
  • Configurar CSRF_COOKIE_HTTPONLY
  • Configurar CSRF_COOKIE_SAMESITE como "Strict"

📋 Cabeçalhos de Segurança

  • Configurar X_FRAME_OPTIONS como "DENY" (proteção clickjacking)
  • Habilitar SECURE_CONTENT_TYPE_NOSNIFF
  • Habilitar SECURE_BROWSER_XSS_FILTER
  • Configurar SECURE_REFERRER_POLICY como "same-origin"

🔑 Validação de Senhas

  • Implementar UserAttributeSimilarityValidator
  • Configurar MinimumLengthValidator (mínimo 8 caracteres)
  • Implementar CommonPasswordValidator
  • Implementar NumericPasswordValidator

🚀 Configuração para Produção Hosts e Origens

  • Configurar ALLOWED_HOSTS com domínios específicos (nunca usar *)
  • Configurar CSRF_TRUSTED_ORIGINS para cross-origin autorizado

Variáveis de Ambiente

  • Definir DEBUG=False em produção
  • Configurar SECURE_SSL_REDIRECT=True
  • Configurar SECURE_HSTS_SECONDS=31536000
  • Configurar SESSION_COOKIE_SECURE=True
  • Configurar CSRF_COOKIE_SECURE=True

Verificação de Proteções Automáticas

  • Verificar proteção XSS em templates
  • Confirmar uso de {% csrf_token %} em todos os formulários
  • Validar uso de QuerySets parametrizados (SQL Injection)
  • Confirmar proteção contra Clickjacking ativa

🧪 Testes e Validação

  • Testar todas as configurações em ambiente de staging
  • Verificar headers de segurança em SecurityHeaders.com
  • Analisar site no Mozilla Observatory
  • Executar Django deployment checklist

Merge request reports

Loading