◇ OpenCyber Academy
Engenharia · Capítulo 28 · Português

Capítulo 28 — Arquitetura e engenharia de segurança: implementação I

Ensino gratuito e aberto para quem deseja proteger pessoas e tecnologias. Não é preciso criar uma conta para estudar ou consultar as respostas.

Capítulo 28 — Arquitetura e engenharia de segurança: implementação I

Mapa da aula

Aula 28 publicada. Mapa, exemplo, EX082.

flowchart TD
  N0["28.1 Da arquitetura às tarefas"]
  N1["28.2 Configuração e segredos"]
  N2["28.3 Manter o alinhamento"]
  N3["Síntese"]
  N0 --> N1 --> N2 --> N3
  N3 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX082"]

Desenho lógico

flowchart LR
  N0["28.1 Da arquitetura às tarefas"]
  N1["28.2 Configuração e segredos"]
  N2["28.3 Manter o alinhamento"]
  N3["Síntese"]
  N0 --> N1 --> N2 --> N3 --> Q["EX082"]
[28.1 Da arquitetura às tarefas]
    |
    v
[28.2 Configuração e segredos]
    |
    v
[28.3 Manter o alinhamento]
    |
    v
[Síntese]
    |
    v
[Exemplo resolvido] --> [Exercício EX082]

Objetivos de aprendizagem

Você vai (1) traduzir a arquitetura em tarefas de implementação; (2) aplicar configuração segura e tratamento de segredos; (3) manter a implementação alinhada à arquitetura.

28.1 Da arquitetura às tarefas

A equipe de Sofia começa a implementar o componente de ingestão do back-office. Ela divide a arquitetura em tarefas: autenticação de dispositivos baseada em certificados, validação do esquema dos registros, detecção de replay com um repositório dos identificadores de registros recentes, verificação dos registros assinados e logging estruturado. Cada tarefa referencia o requisito e a especificação de controle que implementa e inclui testes de aceitação. Isso evita a deriva comum em que os desenvolvedores implementam o que é fácil e os controles mais difíceis da arquitetura são adiados em silêncio. As referências das tarefas também permitem que os revisores verifiquem a cobertura: todo requisito deve corresponder a pelo menos uma tarefa concluída.

28.2 Configuração e segredos

O serviço de ingestão precisa de uma chave privada para seu certificado de servidor TLS e de credenciais para seu banco de dados. Sofia garante que nenhum dos dois seja armazenado no código-fonte ou em imagens de contêiner. Os segredos vêm de um repositório gerenciado de segredos em tempo de execução, legível apenas pela identidade do serviço, e são rotacionados num calendário. A configuração fica sob controle de versão e é revisada, com as configurações relevantes para a segurança, como as versões de TLS e os emissores de certificado permitidos, verificadas automaticamente contra a especificação. Ela encontra uma credencial de teste commitada num branch antigo, remove-a do histórico e providencia sua rotação, registrando o incidente.

28.3 Manter o alinhamento

Durante a implementação, a equipe descobre que a detecção de replay precisa de mais memória do que o esperado no pico de carga. Um desenvolvedor propõe pulá-la durante os picos. Sofia leva isso como uma mudança de arquitetura, e não como uma decisão de codificação, porque enfraquece um requisito. Em vez disso, a equipe usa um repositório com limite de tempo, indexado pelo identificador do registro e pelo validador, que cabe nos limites de memória. Ela atualiza o registro de arquitetura e a especificação. Daniel ressalta que a implementação sempre ensina alguma coisa; a disciplina está em levar esse aprendizado de volta à arquitetura, em vez de deixar o sistema construído divergir em silêncio.

Exemplo resolvido

Sofia relaciona os requisitos da ingestão a cinco tarefas de implementação, leva os segredos para um repositório gerenciado, trata uma credencial de teste commitada e encaminha uma mudança na detecção de replay pela revisão de arquitetura.

Caso sintético. O componente de ingestão e o incidente são sintéticos.

Erros e limites

Os repositórios de segredos se tornam dependências críticas que precisam de alta disponibilidade. Remover segredos do histórico não desfaz a exposição; a rotação continua necessária.

Exercícios

Síntese

A implementação honra a arquitetura quando as tarefas remontam aos requisitos, os segredos ficam fora do código e as descobertas retornam ao desenho.

Continue estudando — aula 28 (capítulo 28 de 50)

← Capítulo 27 · Índice das aulas · Capítulo 29 →

Continue para a próxima aula já escrita.