🛡️ Segurança & DevSecOps
Mentalidade: A segurança é uma responsabilidade partilhada. O objetivo é “Shift Left” — detetar vulnerabilidades o mais cedo possível no ciclo de desenvolvimento, onde o custo de correção é menor.
🚀 Ciclo de Segurança na Pipeline (Shift Left)
Section titled “🚀 Ciclo de Segurança na Pipeline (Shift Left)”Para um sistema ser considerado seguro a nível sénior, a pipeline de CI/CD deve incluir:
- SAST (Static Application Security Testing): Analisa o código fonte em busca de padrões inseguros (ex: SQL Injection, Hardcoded secrets).
- Ferramentas: SonarQube, Snyk, Semgrep.
- SCA (Software Composition Analysis): Verifica se as bibliotecas (npm, pip, nuget) têm vulnerabilidades conhecidas (CVEs).
- Ferramentas: Dependabot, OWASP Dependency-Check.
- DAST (Dynamic Testing): Testa a aplicação em runtime, simulando ataques externos (ex: XSS).
- Secret Scanning: Garante que chaves de API ou passwords não são commitadas no Git.
🔐 Gestão de Segredos e Identidade
Section titled “🔐 Gestão de Segredos e Identidade”Nunca, sob circunstância alguma, os segredos devem estar em ficheiros .env no servidor ou em variáveis de ambiente planas na Cloud.
- Vaults: Utilização de serviços como HashiCorp Vault, AWS Secrets Manager ou Azure Key Vault.
- Rotação Automática: Segredos devem ter validade curta e ser rodados automaticamente para limitar o raio de impacto em caso de fuga.
- Princípio do Menor Privilégio: Cada serviço (ou pod no K8s) deve ter apenas as permissões estritamente necessárias para a sua função.
🌐 Hardening de APIs e Proteção de Rede
Section titled “🌐 Hardening de APIs e Proteção de Rede”Um sénior desenha APIs assumindo que o cliente pode ser malicioso.
Defesas Ativas
Section titled “Defesas Ativas”- Rate Limiting & Throttling: Proteção contra ataques de negação de serviço (DoS) e brute-force.
- WAF (Web Application Firewall): Filtragem de tráfego malicioso antes de chegar à aplicação.
- Security Headers: Configuração rigorosa de
Content-Security-Policy(CSP),HSTSeX-Frame-Options.
OWASP Top 10
Section titled “OWASP Top 10”Conhecimento obrigatório das vulnerabilidades mais comuns, como:
- Broken Access Control: Garante que o Utilizador A não consegue ver os dados do Utilizador B mudando apenas um ID no URL.
- Insecure Deserialization: Cuidado ao aceitar objetos complexos de fontes não confiáveis.
⚖️ Estratégia de Defesa (O olhar do Sénior)
Section titled “⚖️ Estratégia de Defesa (O olhar do Sénior)”Defense in Depth (Defesa em Camadas)
Section titled “Defense in Depth (Defesa em Camadas)”Não confies apenas numa firewall. Se o atacante passar pela rede, ele deve encontrar uma base de dados encriptada. Se aceder à base de dados, os dados sensíveis devem estar com hashing (bcrypt/argon2).
SBOM (Software Bill of Materials)
Section titled “SBOM (Software Bill of Materials)”Em ambientes de alta conformidade, é necessário gerar uma “lista de ingredientes” (SBOM) de todo o software e sub-dependências para garantir a rastreabilidade em caso de uma vulnerabilidade global (como foi o caso do Log4j).
💡 Nota de Senioridade: Segurança não é sobre dizer “não” a novas funcionalidades, mas sobre criar paved roads (caminhos seguros por defeito). Se a empresa fornece uma biblioteca de autenticação pré-aprovada, os developers vão usá-la em vez de tentarem criar a sua própria (quase sempre insegura).
🔗 Links Relacionados
Section titled “🔗 Links Relacionados”- [[DevOps-Cloud-Kubernetes]]
- [[Backend-Autenticacao-JWT]]
- [[Qualidade-Code-Review]]