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
-
EX118 — Excesso versus ausência. Qual é a diferença entre uma regra em excesso e um fluxo ausente?
Mostrar critérios de avaliação
Rubrica: 3 = o excesso permite acesso não aprovado; a ausência quebra uma função aprovada;; 2 = os dois;; 1 = iguais;; 0 = nenhuma. -
EX119 — Desvios do laboratório. Que desvios o laboratório relatou?
Mostrar critérios de avaliação
Rubrica: 3 = excesso estação-da-equipe-para-banco-de-viagens e any-to-any; ausência ingestão-para-logging;; 2 = três;; 1 = um;; 0 = nenhuma. -
EX120 — Declaração de cobertura. O que a verificação de configuração não cobre?
Mostrar critérios de avaliação
Rubrica: 3 = o comportamento de aplicação em tempo de execução;; 2 = tempo de execução;; 1 = tudo coberto;; 0 = nenhuma.
Síntese
A comparação automatizada das configurações com os fluxos aprovados transforma a segmentação em uma arquitetura verificada continuamente.