Camadas de segurança na infraestrutura
(Secção Tecnologia e Infraestrutura)
Resumo breve
A segurança é um sistema de camadas: cada camada contém e detecta os ataques se a camada anterior falhar. Isso é particularmente crítico para os fluxos de pagamento, PII, integração de parcerias e cargas de pico. Abaixo, o esqueleto defense-in-depth, que conecta rede, identidade, aplicativos, dados e processos operacionais em um único programa administrado.
1) Modelo de ameaças e princípios básicos
Threat Modeling: STRIDE/kill chain para os fluxos-chave (login, depósito, taxa, conclusão, bacofis).
Zero Trust: «Desconfiar por omissão», direitos mínimos, verificação em cada hop.
Least Privilege & Segregation of Duties: Atômicas, operações sensíveis divididas.
Secure by Default: portas fechadas, políticas deny-all, default seguro.
Auditability: todas as acessões/alterações estão em uma auditoria centralizada.
2) Rede e perímetro
O objetivo é não permitir o deslocamento lateral e controlar o risco isoladamente.
Segmentação/zonas: Edge (CDN/WAF) → API → serviços de → de dados (DB/KMS) → admin/bacofis.
VPC/VNet isolamento + subrede para serviços públicos/privados; Controle NAT/egress (incluindo: egress-allowlist para PSP/provedores de jogos).
mTLS por todo o lado (mesh/ingress), TLS 1. 2 +/HSTS/criptoconstrução clara.
WAF/bot gestão/DDoS no perímetro; anti-escrutínio para stuffing credential.
Segurança DNS: split-horizonte, DNSSEC, resistência a falhas, cash-pinning para domínios críticos.
yaml apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: { name: api-deny-all, namespace: prod }
spec:
podSelector: { matchLabels: { app: api } }
policyTypes: [Ingress, Egress]
ingress: [] # deny-all egress:
- to:
- namespaceSelector: { matchLabels: { name: prod } }
podSelector: { matchLabels: { app: payments } }
ports: [{ protocol: TCP, port: 8080 }]
3) Identidade e acesso (IAM/PAM)
Objetivo: cada acesso é razoável, limitado e auditado de forma transparente.
SSO + MFA para pessoas e máquinas; chaves de hardware para cadastro privilegiado.
RBAC/ABAC para nuvem/K8s/bacofis; SCIM - Ativar/desligar automaticamente.
Acesso JIT (temporário), break-glass com áudio reforçado.
Service Accounts com tokens curtos (OIDC/JWT), auditoria de segredos de clientes.
Basion/espelhamento de comandos: acesso a prod-BD/nódulos - somente por base e sessões de gravação.
4) Segredos e chaves
O objetivo é eliminar as fugas e garantir um ciclo de vida controlado das chaves.
KMS/HSM (chave do assistente), rotação regular; Separar as chaves por zona/alvo.
Armazenamento de segredos (Vault/Cloud KMS Secret) com dinamic-creds e lease.
- At rest (DB/baquetes/snapshots) com envelope encrypition.
- In transit (TLS/mTLS).
- Tokenization para dados de pagamento; Os fluxos PAN safe e 3-domain security (PCI DSS).
hcl path "kv/prod/payments/" {
capabilities = ["read","list"]
}
path "database/creds/readonly" {
capabilities = ["read"]
}
5) Segurança dos contêineres e Kubernetes
O objectivo é minimizar a superfície do ataque ao nível do Rático.
Imagens: mínimo básico, sem compiladores/seda; assinaturas (cosign) e SBOM.
Controle Advision (OPA/Gatekeeper/Kyverno): proibição de ': latest', 'prived', 'hostPath', 'root'.
Runtime-политики: Seccomp/AppArmor, `readOnlyRootFilesystem`, `drop ALL` capabilities + allow-list.
Segredos como volume/eng do gerente de segredos; sem bake-in na imagem.
PodSecurity (или Pod Security Admission): enforce restricted.
Registros: privados, com verificação de vulnerabilidades (SAST/DAST/CSA).
yaml apiVersion: constraints.gatekeeper.sh/v1beta1 kind: K8sAllowedRepos metadata: { name: only-internal-registry }
spec:
repos: ["registry.internal.local/"]
6) Supply-chain и CI/CD
O objectivo é confiar nos artefatos de uma empresa à produção.
Branch-policies: código-revezamento, ramos protegidos, verificações obrigatórias.
Assinatura de artefatos e provenance (SLSA/COSIGN), marcas de formatação imutáveis (imagens imutáveis).
SBOM (CycloneDX/SPDX), Dependabot/Renovate e dependências pinning.
Isolamento CI: runners efêmeros, segredos apenas em jobs protegidos, no-plaintext.
CD-gate: quality/SAST/licenças/políticas de venda; Só é promovido através de GitOps.
7) Segurança de aplicações (API/web/mobile)
O objetivo é prevenir ataques lógicos e técnicos.
AuthN/AuthZ: OAuth2/OIDC/JWT; TTL curto, rotativo de chaves, audição/isuer verificação.
Input Security: validação/normalização, proteção contra injeções, modelos com parâmetros.
CSP/HSTS/XFO/XSS-Protecção, CORS rigoroso, limitação do MIME/tamanho carregável.
Rate limit/cotas, idempotency-keys para pagamentos/pagamentos.
Ficheflagi: rápido kill-switch para funções perigosas.
nginx add_header Strict-Transport-Security "max-age=63072000; includeSubDomains" always;
add_header Content-Security-Policy "default-src 'self'; img-src 'self' data: https:;" always;
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options DENY;
8) Dados, PII e complacência (incluindo PCI)
Objetivo: taxa mínima, acesso mínimo, transparência máxima.
Data-zones/классы: `public/internal/confidential/pii/pci`. Tags em armazéns e logs.
Minimizar PII: «player _ id», tocando adereços de pagamento.
Políticas de armazenamento: quente/frio, WORM para auditoria; remoção automática por TTL.
Acesso: somente através de papéis e atributos concordantes (região/destino).
Segmentação PCI: segmento isolado, registros de acesso, scans regulares/ASV.
9) Camada Edge: CDN/WAF/DDoS/bot-proteção
O objetivo é afastar o lixo até ao núcleo da plataforma.
CDN: geo-blocs, estratégias de kesh, proteção contra layer-7.
WAF: assinaturas de base + regras de custom sob API (esquema JSON, proibição de métodos não convencionais).
Bots: analista comportamental, device fingerprint, rate-limit/capchi para anomalias.
TLS/ALPN: Desliga os códigos antigos, ative o OCSP stapling.
10) Monitoramento, telemetria e SecOps
O objetivo é ver os ataques e reagir antes do incidente.
Observabilidade: métricas/logs/trails com 'trace _ id' e campos de auditoria.
SIEM/SOAR: correlação de eventos (autenticação, alterações IAM, WAF ativação, acesso a segredos).
As regras de detecção são 401/403, role-escalation, pagamentos em massa, anomalias geo.
Digitalização: SAST/DAST/IAST, CSPM/KSPM, testes regulares de pênis e erros de bounty.
Anti-Frod: compilação de transações/comportamento, filtros velocity, listas de sanções.
11) Confiabilidade, reserva e continuidade empresarial
O objetivo é sobreviver sem perder dados e SLA.
Replicação e PITR para BD, súmulos frequentes com restauração de testes.
Plano DR.: RTO/RPO, cenários de region failover, testes de mudança.
Segredos em DR.: chaves independentes/réplica KMS, processo de rotação de emergência.
Guias formais - cheques de recuperação e ensinamentos de game-day.
12) Processos operacionais e cultura
O objetivo é que a segurança seja «padrão».
Segurança by PR: segurança-review obrigatória para alterações sensíveis.
Políticas de lançamento: janelas noturnas/de pico fechadas; cheques pré-flight.
Secure Runbooks: instruções com parâmetros seguros, auditoria de ações.
Treinamento: simulações de phishing, treinos de incidentes, sessões de tabletop «ao vivo».
13) Listas de controle (curta)
Rede e perímetro
- Todos os ingresss por WAF/CDN; DDoS ativado
- mTLS entre os serviços; deny-all políticas de rede
- Egress-allowlist para provedores externos
Identidade
- SSO+MFA; JIT e break-glass com áudio
- RBAC/ABAC, SCIM-desativação de demissões
- Service Accounts com torneios curtos
K8s/contêineres
- Assinaturas de imagem + SBOM; proibir ': latest'
- Seccomp/AppArmor, read-only FS, drop caps
- Gatekeeper/Kyverno políticas e lista deny
Segredos/chaves
- Vault/KMS, rotações, divisão de chaves
- Criptografia at rest/in transit
- Tokenization para pagamentos
CI/CD и supply-chain
- Runners efêmeros; segredos apenas em jobs protegidos
- SAST/DAST/licenças; assinaturas de artefatos
- Promoção GitOps, gates de qualidade
Dados/PII/PCI
- Classificação de dados e marcas de formatação de armazenamento
- Políticas de retenção/WORM; acesso por papéis
- Isolamento do segmento PCI, scan ASV
SecOps
- Regras SIEM/SOAR, alertas de escalação
- Filtros anti-frod e velocidade
- Plano DR., testes RTO/RPO
14) Exemplos de políticas «rígidas»
Kyverno: proibição de contêineres privilegiados
yaml apiVersion: kyverno.io/v1 kind: ClusterPolicy metadata: { name: disallow-privileged }
spec:
rules:
- name: no-priv match: { resources: { kinds: ["Pod"] } }
validate:
message: "Privileged containers are not allowed"
pattern:
spec:
containers:
- securityContext:
privileged: "false"
OPA (Rego): proibição de 'hostNetwork'
rego package kubernetes.admission
violation[msg] {
input.request.kind.kind == "Pod"
input.request.object.spec.hostNetwork == true msg:= "hostNetwork is not allowed"
}
15) Anti-pattern
«Protegemos o perímetro» sem interna.
Segredos em vi-variáveis CI, descarregar em logs.
Imagens ': latest', falta de assinaturas e SBOM.
Política de allow-all no cluster; neimspace geral para tudo.
Criptografia «em papel» sem rotatividade real de chaves e testes de recuperação.
Depender do WAF em vez de corrigir a lógica e validar os dados.
Não há ensinamentos de DR/quadro de tabela.
16) Como começar (plano de 90 dias)
1. Semana 1-2: inventário de assets/dados, classificação, mapa de fluxo.
2. Semana 3-4: incluir mTLS/deny-all políticas de rede, WAF/DDoS/bot-filtros.
3. Semana 5-6: Vault/KMS, rotações de chaves, torneamento de pagamentos.
4. Semana 7-8: Gatekeeper/Kyverno, Seccomp/AppArmor, proibições 'prived '/' hostPath'.
5. Semana 9-10: assinaturas de imagens, SBOM, gates CI/CD, promoção GitOps.
6. Semana 11-12: regras SIEM/SOAR, alertas de escalação, anti-frod.
7. Semana 13: Doutor, atualização de runabooks e conformidade (PII/PCI).
Resumo
As camadas de segurança são uma arquitetura de soluções, não um conjunto de selos. Junte segmentação de rede e Zero Trust, IAM rigoroso, contêineres/K8s seguros, segredos controlados e criptos, pipas protegidas, protecção edge e observabilidade de SecOps. Mesmo com ataques e falhas, a plataforma preservará a integridade dos dados, a privacidade do PII/PCI e a disponibilidade de fluxos-chave - depósitos, taxas e conclusões - em qualquer horário de pico.