OpenCyber Academy
Engenharia · Capítulo 40 · Português
Código do curso: OCA-122Capítulo 40: OCA-122-C040

Capítulo 40 — Laboratório de verificação II

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

Mapa da aula

Aula 40 publicada. Mapa, exemplo, EX118.

flowchart TD
  N0["40.1 A matriz de fluxos como especificação"]
  N1["40.2 Comparação automatizada"]
  N2["Laboratório — Regras de firewall contra a matriz de"]
  N3["40.3 Relatar desvios"]
  N4["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4
  N4 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX118"]

Desenho lógico

flowchart LR
  N0["40.1 A matriz de fluxos como especificação"]
  N1["40.2 Comparação automatizada"]
  N2["Laboratório — Regras de firewall contra a matriz de"]
  N3["40.3 Relatar desvios"]
  N4["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX118"]
[40.1 A matriz de fluxos como especificação]
    |
    v
[40.2 Comparação automatizada]
    |
    v
[Laboratório — Regras de firewall contra a matriz de]
    |
    v
[40.3 Relatar desvios]
    |
    v
[Síntese]
    |
    v
[Exemplo resolvido] --> [Exercício EX118]

Objetivos de aprendizagem

Você vai (1) verificar a segmentação da rede contra uma matriz de fluxos aprovada; (2) automatizar a verificação de configuração; (3) relatar desvios com evidências.

40.1 A matriz de fluxos como especificação

O projeto de rede do back-office define uma matriz de fluxos aprovada: quais zonas podem se conectar a quais, em quais portas. No Laboratório de Verificação II, Sofia verifica se as regras de firewall implementadas correspondem à matriz. Uma regra que permite um fluxo fora da matriz é acesso em excesso; um fluxo da matriz sem regra é uma função quebrada. Ela exporta regras de firewall sintéticas do ambiente de laboratório e as compara programaticamente com a matriz, em vez de ler centenas de regras a olho, o que é lento e sujeito a erros. O próprio script é revisado como qualquer outro controle.

40.2 Comparação automatizada

O script de Sofia lê a matriz aprovada e as regras exportadas, normaliza-as e calcula as diferenças. O laboratório abaixo roda sobre dados sintéticos e relata duas regras em excesso, uma que permite que as estações de trabalho da equipe alcancem diretamente o banco de viagens e uma regra any-to-any que sobrou dos testes, e um fluxo ausente da ingestão para o coletor de logs. A comparação roda automaticamente depois de cada mudança, transformando uma auditoria pontual numa verificação contínua. Ela guarda as saídas como evidências ligadas aos tickets de mudança, para que os auditores vejam quando cada desvio apareceu e quando foi fechado.

Laboratório — Regras de firewall contra a matriz de fluxos

# Compare synthetic firewall rules with an approved zone flow matrix.
approved = {("validators", "ingestion", 443), ("ingestion", "journey-db", 5432), ("ingestion", "logging", 6514),
            ("reporting", "journey-db", 5432), ("admin-jump", "ingestion", 22)}
rules = ["validators ingestion 443", "ingestion journey-db 5432", "reporting journey-db 5432",
         "admin-jump ingestion 22", "staff-ws journey-db 5432", "any any any"]
impl = {(a, b, int(p) if p != "any" else p) for a, b, p in (r.split() for r in rules)}
for x in sorted(impl - approved, key=str): print("EXCESS ", *x)
for x in sorted(approved - impl, key=str): print("MISSING", *x)

Execute com python3 lab_flows.py. Saída verificada:

EXCESS  any any any
EXCESS  staff-ws journey-db 5432
MISSING ingestion logging 6514

40.3 Relatar desvios

Cada desvio vira um achado com a regra, a entrada da matriz que ela viola, o risco e uma correção proposta. A regra any-to-any é crítica porque anula completamente a segmentação; a regra da estação de trabalho para o banco de dados é alta, porque recria o contorno encontrado no capítulo 22; o fluxo de logging ausente é médio, porque enfraquece a detecção em silêncio. O relatório de Sofia também declara o que a verificação cobre: a configuração das regras, não o comportamento em tempo de execução, então um teste complementar envia tráfego sintético para confirmar a aplicação. As evidências de verificação são mais fortes quando as verificações de configuração e os testes de comportamento concordam.

Exemplo resolvido

Sofia compara regras de firewall sintéticas com a matriz de fluxos aprovada, encontra duas regras em excesso e um fluxo ausente, classifica-os e acrescenta testes de comportamento.

Caso sintético. As zonas, as regras e a matriz são sintéticas.

Erros e limites

As exportações de configuração podem não refletir as regras em vigor. As matrizes precisam ser mantidas atualizadas, ou a verificação confere o alvo errado.

Exercícios

Síntese

A comparação automatizada das configurações com os fluxos aprovados transforma a segmentação em uma arquitetura verificada continuamente.

Respostas comentadas

EX118. Uma regra em excesso permite um acesso que não está na matriz; um fluxo ausente bloqueia algo que a matriz exige.

EX119. Regras em excesso das estações de trabalho da equipe para o banco de viagens e uma regra de teste any-to-any, além de um fluxo ausente da ingestão para o logging.

EX120. Se as regras são de fato aplicadas em tempo de execução, o que exige testes de tráfego de comportamento.