Segurança em Controle de Versão
Fundamentos de Segurança
Princípios Básicos
Proteção de Dados Sensíveis
Gerenciamento de Credenciais
Arquivo .gitignore Robusto
Controle de Acesso
Modelo de Permissões
Autenticação e Autorização
Métodos de Autenticação
SSH
Tokens de Acesso
Tokens de curta duração
Escopos limitados
Revogação simples
Auditoria facilitada
2FA/MFA
Proteção de Branches
Regras de Proteção
Configurações Recomendadas
Branch Principal
Requer aprovações
Proíbe force push
Exige status checks
Mantém histórico linear
Branches de Feature
Nomenclatura padronizada
Vida útil limitada
Merge apenas via PR
Testes automatizados
Monitoramento e Auditoria
Logs de Segurança
Métricas de Segurança
Vulnerabilidades Comuns
Tipos de Ameaças
Mitigação
Ferramentas de Análise
Git-secrets
TruffleHog
GitGuardian
Gitleaks
Hooks de Prevenção
Backup e Recuperação
Estratégias de Backup
Plano de Recuperação
Melhores Práticas
Checklist de Segurança
Repositório
[ ] .gitignore atualizado
[ ] Branches protegidas
[ ] Hooks configurados
[ ] Backups automatizados
Acesso
[ ] 2FA habilitado
[ ] Tokens com escopo mínimo
[ ] Revisão regular de acessos
[ ] Logs de auditoria
Código
[ ] Análise de secrets
[ ] Verificação de dependências
[ ] Assinatura de commits
[ ] Code review obrigatório
Automação de Segurança
Resposta a Incidentes
Plano de Ação
Documentação
Registro de Incidentes
Data e hora
Tipo de incidente
Impacto
Ações tomadas
Resolução
Análise Post-mortem
Causa raiz
Medidas preventivas
Melhorias necessárias
Atualizações de processo