◇ OpenCyber Academy
Técnico · Capítulo 1 · Português

Capítulo 1 — Arquitetura de computação e de serviços

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 1 — Arquitetura de computação e de serviços

Mapa da aula

Aula 01 publicada. Mapa, exemplo, EX001.

flowchart TD
  N0["1.1 Serviços"]
  N1["1.2 Camadas"]
  N2["1.3 Onde os testes começam"]
  N3["1.4 Dependências frágeis"]
  N4["1.5 Disciplina do diagrama de arquitetura"]
  N5["1.6 Janelas de mudança"]
  N6["1.7 Contatos dos responsáveis no diagrama"]
  N7["1.8 Por que os diagramas envelhecem"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7
  N7 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX001"]

Desenho lógico

flowchart LR
  N0["1.1 Serviços"]
  N1["1.2 Camadas"]
  N2["1.3 Onde os testes começam"]
  N3["1.4 Dependências frágeis"]
  N4["1.5 Disciplina do diagrama de arquitetura"]
  N5["1.6 Janelas de mudança"]
  N6["1.7 Contatos dos responsáveis no diagrama"]
  N7["1.8 Por que os diagramas envelhecem"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7 --> Q["EX001"]
[1.1 Serviços]
    |
    v
[1.2 Camadas]
    |
    v
[1.3 Onde os testes começam]
    |
    v
[1.4 Dependências frágeis]
    |
    v
[1.5 Disciplina do diagrama de arquitetura]
    |
    v
[1.6 Janelas de mudança]
    |
    v
[1.7 Contatos dos responsáveis no diagrama]
    |
    v
[1.8 Por que os diagramas envelhecem]
    |
    v
[Exemplo resolvido] --> [Exercício EX001]

Objetivos de aprendizagem

Você vai (1) esboçar os principais serviços da NMT; (2) explicar camadas e limites de confiança; (3) localizar onde os testes autorizados costumam começar; (4) identificar dependências frágeis.

1.1 Serviços

A NMT opera um site público, uma API de planejamento de viagens, uma intranet dos funcionários, um Active Directory para os empregados, uma VPN e uma rede de cobrança de tarifas que fica fora do escopo dos testes comuns. O trabalho autorizado comum de Sam Park na Northline Municipal Transit cobre o site público, a API do planejador de viagens, a intranet dos funcionários, o Active Directory e a VPN. A rede de cobrança de tarifas aparece em vermelho em todo diagrama e fica fora do ENG-512, a menos que se assinem regras de engajamento (ROE) especializadas. Confundir esses serviços com as catracas de tarifa é o caminho pelo qual operadores pedem sondagens que não podem executar.

1.2 Camadas

As camadas de web e de API voltadas para a internet ficam atrás de um balanceador de carga; os servidores de aplicação conversam com os bancos de dados; a identidade dos funcionários fica no AD. Limites de confiança são os pontos em que pacotes ou credenciais passam de zonas menos confiáveis para zonas mais confiáveis. Na NMT, o balanceador de carga atende tanto o site público quanto a API do planejador de viagens, então um único conjunto de regras do WAF cobre os dois. O limite do AD importa porque uma senha de funcionário obtida por phishing atravessa da VPN para a zona dos funcionários. As verificações do ENG-512 feitas por Sam começam do lado de fora do WAF e param antes da rede de tarifas, porque cruzar essa linha sem autorização especializada está fora do escopo.

1.3 Onde os testes começam

Testes técnicos autorizados costumam começar pelas camadas de web e de API voltadas para a internet e pelo acesso remoto dos funcionários, porque é isso que estranhos e funcionários vítimas de phishing alcançam primeiro. Estranhos alcançam o site e a API do planejador de viagens, enquanto credenciais de funcionários obtidas por phishing alcançam a VPN; por isso esses três vêm primeiro. Validadores de tarifa e equipamentos de rádio não são pontos de partida para janelas comuns. A folha de abertura do ENG-512 lista, portanto, o site, a API do planejador de viagens e a VPN dos funcionários nessa ordem, com os validadores de tarifa na lista de itens intocáveis, e nenhuma ferramenta roda antes de ela ser lida. Começar por outro lugar é um erro de escopo, mesmo que uma ferramenta facilite.

1.4 Dependências frágeis

Catracas de tarifa e sistemas de rádio podem prejudicar a operação se forem perturbados. Eles ficam excluídos, a menos que um engajamento especializado diga o contrário. Um validador travado numa estação movimentada no pico da manhã transformaria um teste num incidente visível para os passageiros. A folha de abertura de Sam lista validadores de tarifa e rádio entre os itens intocáveis, ao lado do nome do contato de operações, e as ROE do ENG-512 repetem a exclusão na mesma frase que define a janela de sábado, para que ninguém trate a tarifa como um desvio interessante. Um trabalho especializado em tarifas exigiria verba separada, outras ROE e operadores treinados em validadores; as janelas comuns de sábado nunca herdam esses direitos. Sam repete esse limite quando gestores pedem só uma olhadinha.

1.5 Disciplina do diagrama de arquitetura

Sam mantém um diagrama datado, com responsáveis em cada caixa. A data fica no carimbo do diagrama, ao lado das iniciais do responsável pela rede na última confirmação. Testar contra um diagrama desatualizado causa erros de escopo, como sondar um host de homologação aposentado que agora compartilha o nome com a produção. Antes do ENG-512, Sam pede ao responsável pela rede que confirme por escrito a data do diagrama e arquiva essa confirmação no chamado do ENG-512 antes de o lab_ports rodar. Um diagrama sem essa confirmação é tratado como não confiável, mesmo que pareça familiar.

1.6 Janelas de mudança

Mudanças de arquitetura, como um novo gateway de API ou uma atualização do AD, disparam uma revisão das ROE antes do próximo teste. A lista de gatilhos fica no topo das ROE, para que o responsável pela rede saiba quais mudanças exigem uma nova assinatura. Sam não reaproveita a janela de ENG do trimestre anterior se o planejador de viagens passou para trás de um novo conjunto de regras do WAF sem uma atualização assinada. Depois de uma atualização do AD, ele confere de novo os grupos da tst-sam-web e o MFA antes da próxima janela. Reaproveitar as ROE do trimestre anterior sem essa verificação é o caminho pelo qual direitos vencidos sobrevivem.

1.7 Contatos dos responsáveis no diagrama

Cada caixa do diagrama de Sam nomeia uma pessoa, e não apenas uma equipe. Quando surge um achado na API do planejador de viagens, ele sabe a quem ligar sem procurar num diretório. A caixa da API do planejador de viagens, por exemplo, traz o nome do responsável pela API e um número para fora do horário comercial. Isso economiza minutos durante uma parada, quando o SOC precisa de uma decisão do responsável, e não de uma busca no diretório. Os contatos do diagrama são copiados para a nota de abertura do ENG-512 e para a mensagem de início ao SOC, para que a equipe de plantão da madrugada chegue ao responsável pela API sem ligar para o telefone pessoal de Sam. Um rótulo só com o nome da equipe não basta.

1.8 Por que os diagramas envelhecem

Um terceirizado acrescenta uma CDN de homologação e ninguém redesenha a figura. As mudanças de terceirizados só chegam ao diagrama quando alguém registra o redesenho, por isso Sam pergunta ao líder do terceirizado o que mudou desde o último engajamento. Sua primeira tarefa em cada engajamento é confirmar o diagrama por escrito com o responsável pela rede; uma caixa desatualizada é o caminho pelo qual uma lista de serviços aprovados fica errada antes mesmo de o lab_ports rodar. Quando uma CDN de homologação aparece sem redesenho, Sam abre um chamado de atualização do modelo antes de confiar em qualquer serviço novo. Figuras desatualizadas são a causa raiz de muitas surpresas NOT APPROVED.

Exemplo resolvido (NMT sintética)

Sam desenha a NMT: Internet → WAF → web/API → aplicação → BD; um caminho separado VPN → jump → intranet/AD; a rede de tarifas desenhada em vermelho, fora do escopo.

Caso sintético — Northline Municipal Transit (NMT). A operadora de transporte, Sam Park e todos os números foram inventados para fins didáticos.

Erros e limites

Sistemas de transporte reais e equipamentos de tarifa nunca são testados sem uma autorização separada e especializada. Este livro usa apenas dados sintéticos e não concede autorização para testar sistemas reais.

Exercícios

Síntese

A arquitetura mostra camadas, limites de confiança e exclusões antes que qualquer ferramenta rode.

Continue estudando — capítulo 01 de 18

← Página do curso · Índice de capítulos do curso · Capítulo 02 (rascunho) →