Go — Segurança
TL;DR
Galho 19 da trilha Go — o que Go dá de graça (memory safety) e o que continua sendo sua responsabilidade. 8 notas em 3 fases: o panorama de segurança (Iniciado); crypto na stdlib, TLS, validação de input e govulncheck/supply chain (Adepto); secrets, secure coding patterns e AuthN/AuthZ em serviços (Magus). Ao fim, você escreve serviços Go que resistem aos ataques comuns e faz a ponte com a trilha Auth e Identidade.
Go elimina classes inteiras de bug de memória, mas validação, cripto correta, TLS e supply chain seguem por sua conta. Ver roadmap pro estado das notas.
Notas por fase
Iniciado — o panorama
- 01 - Segurança em Go — o panorama — memory safety de graça, o que ainda é responsabilidade do dev
Adepto — as defesas concretas
- 02 - crypto na stdlib —
crypto/*, hashing, HMAC, senhas com bcrypt/argon2, nunca rolar sua cripto - 03 - TLS em Go —
crypto/tls, servidor e cliente HTTPS, verificação de certificado, mTLS - 04 - Validação e sanitização de input — validar tudo, queries parametrizadas, escaping de template
- 05 - govulncheck e supply chain —
govulncheck,go.sum, GOPROXY/GOSUMDB, auditar dependências
Magus — endurecimento e identidade
- 06 - Secrets e configuração segura — nunca hardcode, não vazar em logs, rotação, superfície de vazamento
- 07 - Secure coding patterns — comparação timing-safe,
crypto/rand, overflow, defesa em profundidade - 08 - AuthN e AuthZ em serviços Go — JWT, middleware de auth, RBAC; ponte para a trilha Auth e Identidade
Veja também
- Trilha Go — índice geral (21 galhos + capstone)
- Galho anterior: Cloud-native e produção
- Próximo galho: Go idiomático (galho 20) — a síntese: escrever Go que não parece Java escrito em Go