Capítulo 8 — Fundamentos de arquitetura de segurança
Mapa da aula
Aula 08 publicada. Mapa, exemplo, EX015.
flowchart TD
N0["8.1 Fronteiras e terminação"]
N1["8.2 Diagramas anotados"]
N2["8.3 Recursos de agilidade"]
N3["8.4 Caso resolvido"]
N4["8.5 Atividade prática"]
N5["8.7 Checklist de revisão"]
N6["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6
N6 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX015"]
Desenho lógico
flowchart LR
N0["8.1 Fronteiras e terminação"]
N1["8.2 Diagramas anotados"]
N2["8.3 Recursos de agilidade"]
N3["8.4 Caso resolvido"]
N4["8.5 Atividade prática"]
N5["8.7 Checklist de revisão"]
N6["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> Q["EX015"]
[8.1 Fronteiras e terminação]
|
v
[8.2 Diagramas anotados]
|
v
[8.3 Recursos de agilidade]
|
v
[8.4 Caso resolvido]
|
v
[8.5 Atividade prática]
|
v
[8.7 Checklist de revisão]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX015]
Objetivos de aprendizagem
Você vai (1) desenhar diagramas de serviços com fronteiras de confiança; (2) anotar os fluxos com algoritmos e tempos de vida dos dados; (3) explicar os pontos de terminação TLS e as suas consequências; e (4) descrever os recursos de agilidade criptográfica que um implementador pode construir.
8.1 Fronteiras e terminação
O tráfego atravessa fronteiras — da internet para a borda, da borda para a malha de serviços, do serviço para o banco de dados, do escritório para a nuvem. O TLS muitas vezes é terminado e restabelecido a cada salto: CDN, balanceador de carga, ingress, sidecar. Cada terminação é uma negociação separada, com a sua própria escolha de algoritmo; um grupo híbrido na CDN não diz nada sobre o salto da CDN até a origem.
A KLS conta cinco terminações TLS só no caminho do cliente, e cada uma tem um dono diferente. Por isso, o diagrama precisa mostrar cada terminação com o seu controlador, porque cada dono configura e muda o seu próprio salto no seu próprio calendário.
8.2 Diagramas anotados
Anote cada fluxo com protocolo, troca de chaves, autenticação, tempo de vida dos dados e quem controla cada ponta. O diagrama anotado é o mapa do implementador: os fluxos com dados de vida longa, troca de chaves clássica e um caminho não confiável são os primeiros a mudar.
A KLS usa uma linha por fluxo: CDN→origin LB | TLS 1.3 | ECDHE X25519 | ECDSA P-256 | 10 y | KLS+CDN. É listar o tempo de vida dos dados na linha que faz o salto da CDN até a origem se destacar: o mesmo protocolo do salto do navegador, mas clássico, e transportando os mesmos dados de embarque de dez anos por redes que a KLS não controla.
8.3 Recursos de agilidade
Os implementadores constroem agilidade: configurando os algoritmos num só lugar (perfis TLS centrais, anotações do ingress, políticas criptográficas); mantendo os identificadores de algoritmo nos dados armazenados; usando bibliotecas que suportam vários algoritmos; deixando espaço nos campos e buffers para chaves maiores; e testando no CI cada algoritmo configurado. O CSWP 39 do NIST discute essas considerações.
Na KLS, cada recurso tem um teste. O perfil central é renderizado no CI e comparado com o aprovado. As assinaturas armazenadas trazem um identificador de algoritmo, para que os verificadores possam aceitar dois algoritmos durante a transição. As colunas de chaves do banco de dados são dimensionadas para o ML-DSA-87. Um job do pipeline tenta um handshake com cada grupo configurado contra a homologação, para que um grupo listado mas não suportado falhe antes da implantação, e não depois.
8.4 Caso resolvido
O caminho do cliente da KLS: navegador → CDN (híbrido) → balanceador de carga da origem (clássico) → ingress (clássico) → pods da API (texto claro dentro da malha, com sidecars mTLS, ECDHE). O salto da internet está protegido; o salto da CDN até a origem atravessa a rede do provedor e a internet e transporta dados de dez anos. Prioridade: habilitar o híbrido no balanceador de carga da origem e no ingress; depois, avaliar a malha.
O plano coloca as primeiras mudanças onde a KLS controla as duas pontas e os dados têm vida longa. O balanceador de carga da origem e o ingress são configuração da KLS; as configurações de origem da CDN são uma opção do provedor que a KLS pode habilitar. A malha fica para avaliação porque os seus saltos permanecem dentro da rede de um único provedor e os seus sidecars são atualizados no calendário de versões da plataforma.
8.5 Atividade prática
Desenhe e anote o caminho dos fluxos do SFTP dos parceiros e da VPN do escritório da KLS; marque os pontos de terminação.
Para o SFTP dos parceiros, o caminho é curto: cliente do parceiro → internet → bastion da KLS → host SFTP, com o SSH terminando uma única vez, no bastion ou no host, dependendo do projeto. Para a VPN do escritório, mostre o appliance do escritório, a internet, o gateway de VPN na nuvem e o salto interno até os serviços, observando que o IPsec termina no gateway e o tráfego continua pela malha. Dê a cada salto as mesmas cinco anotações da regra de diagramas acima. Marque como desconhecido qualquer salto em que você não tenha encontrado o algoritmo.
8.6 Erros comuns e limites
- Julgar o caminho inteiro pelo primeiro salto.
- Fixar suítes de cifras no código em muitos lugares.
- Diagramas sem tempos de vida dos dados.
A KLS cometeu os três. O relatório inicial "o caminho do cliente é híbrido" julgou o caminho pelo salto do navegador até a CDN. As listas de cifras estavam fixadas no ingress, em dois balanceadores de carga e num modelo de sidecar, então mudá-las exigia quatro revisões e um local esquecido. E os primeiros diagramas mostravam os algoritmos, mas não os tempos de vida, o que fazia os fluxos de telemetria e de embarque parecerem igualmente urgentes. O limite dos diagramas é que eles são desenhados à mão; os traces do Capítulo 12 os transformam em dados.
8.7 Checklist de revisão
Ao revisar o projeto de um novo serviço, pergunte: quais saltos terminam o TLS, e quem configura cada um; quais grupos e algoritmos de assinatura cada salto oferece e prefere; onde as escolhas de algoritmo são configuradas; quais dados armazenados trazem identificadores de algoritmo; e se algum campo, buffer ou limite de mensagem supõe tamanhos clássicos. Cinco perguntas feitas no momento do projeto evitam a maior parte do retrabalho que os inventários descobrem depois.
A KLS acrescenta as cinco perguntas ao seu modelo de revisão de projeto. No primeiro trimestre, elas sinalizaram um novo serviço de relatórios que guardava assinaturas numa coluna de 256 bytes e uma nova fila cuja biblioteca cliente fixava grupos clássicos.
Exercícios
- EX015 — Terminação. Explique por que uma borda de CDN híbrida não protege o salto da CDN até a origem. Rubrica: 3 = sessões TLS e negociações separadas.
- EX016 — Recurso de agilidade. Descreva um recurso de agilidade que você poderia acrescentar à configuração do ingress da KLS. Rubrica: 3 = perfil central ou anotação, com teste.
Síntese
Os diagramas anotados revelam cada ponto de terminação como uma negociação separada; os recursos de agilidade permitem que os implementadores mudem todos eles a partir de um só lugar.
Continue estudando — capítulo 08 de 30
← Capítulo 07 · Índice de capítulos do curso · Capítulo 09 →
Siga para a próxima lição escrita.