Capítulo 14 — Arquitetura e engenharia de segurança: automação
Mapa da aula
Aula 14 publicada. Mapa, exemplo, EX053.
flowchart TD
N0["14.1 Deriva entre os locais"]
N1["Laboratório — Comparação das configurações das clíni"]
N2["14.2 Relatar a deriva"]
N3["14.3 Automação segura"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4
N4 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX053"]
Desenho lógico
flowchart LR
N0["14.1 Deriva entre os locais"]
N1["Laboratório — Comparação das configurações das clíni"]
N2["14.2 Relatar a deriva"]
N3["14.3 Automação segura"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX053"]
[14.1 Deriva entre os locais]
|
v
[Laboratório — Comparação das configurações das clíni]
|
v
[14.2 Relatar a deriva]
|
v
[14.3 Automação segura]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX053]
Objetivos de aprendizagem
Você vai (1) automatizar uma comparação de configurações entre as clínicas; (2) relatar a deriva; (3) manter a automação segura.
14.1 Deriva entre os locais
As cinco clínicas deveriam compartilhar a mesma baseline, mas as configurações derivam à medida que as pessoas fazem mudanças locais. Nadia escreve um script que compara as configurações exportadas do roteador de cada clínica com uma baseline de referência e lista as diferenças. Grace exporta as configurações todo mês. A deriva importa porque uma única mudança esquecida, como uma regra temporária deixada aberta, pode desfazer a proteção que o projeto oferece. A automação permite que uma equipe pequena confira cinco locais de forma consistente em minutos, em vez de ler longos arquivos de configuração a olho. Grace concorda em rodar a comparação na primeira segunda-feira de cada mês.
Laboratório — Comparação das configurações das clínicas com uma baseline
# Compare practice router settings with a baseline (synthetic exports).
base = {"smb1": "off", "remote_admin_wan": "off", "guest_isolation": "on", "rule_preview_9443": "absent", "ntp": "on"}
sites = {"Elmfield": dict(base), "Ashby": dict(base), "Kingsley": dict(base),
"Norbury": dict(base, rule_preview_9443="present"), "Westcott": dict(base, remote_admin_wan="on")}
for s, cfg in sites.items():
diff = {k: (base[k], v) for k, v in cfg.items() if base[k] != v}
print(f"{s}: " + ("matches baseline" if not diff else f"differs {diff}"))
Execute com python3 lab_drift.py. Saída verificada:
Elmfield: matches baseline
Ashby: matches baseline
Kingsley: matches baseline
Norbury: differs {'rule_preview_9443': ('absent', 'present')}
Westcott: differs {'remote_admin_wan': ('off', 'on')}
14.2 Relatar a deriva
O laboratório compara cinco clínicas. Três correspondem à baseline. Norbury tem a regra documentada da porta de prévias do capítulo 13, que Nadia acrescenta à baseline porque todas as clínicas em breve terão os novos sensores. Westcott tem a administração remota habilitada a partir da internet, o que ninguém consegue explicar. Grace a desativa e troca a senha do roteador para o caso de ela ter sido usada. O relatório lista cada diferença com uma ação recomendada, separando as mudanças aprovadas das inexplicadas. Os achados e as ações são registrados, para que o relatório mensal seguinte possa confirmar que continuaram corrigidos.
14.3 Automação segura
O script lê as exportações e relata; ele nunca altera as configurações do roteador. As mudanças continuam sendo uma decisão humana depois de revisão. Nadia guarda o script e a baseline no repositório da Linden com histórico de mudanças, para que as atualizações da baseline fiquem visíveis. Ela acrescenta um teste que falha se uma exportação vier vazia, o que de outro modo poderia parecer conformidade perfeita. Daniel observa que a automação somente de leitura é o primeiro passo certo para equipes pequenas, já que acrescenta visibilidade sem acrescentar o risco de erros automatizados.
Exemplo resolvido
Nadia compara as configurações dos roteadores de cinco clínicas com uma baseline, atualiza a baseline para uma mudança aprovada e encontra uma administração remota inexplicada.
Caso sintético. As configurações e as clínicas são sintéticas.
Erros e limites
As exportações podem omitir algumas configurações. As baselines precisam de responsáveis para se manterem atualizadas.
Exercícios
-
EX053 — Por que a deriva importa. Por que a deriva importa? Rubrica: 3 = uma mudança esquecida pode desfazer a proteção do projeto;; 2 = desfazer;; 1 = vago;; 0 = nenhuma.
-
EX054 — Achado em Westcott. O que o laboratório encontrou em Westcott? Rubrica: 3 = administração remota habilitada a partir da internet;; 2 = administração remota;; 1 = vago;; 0 = nenhuma.
-
EX055 — Atualização da baseline. Por que a diferença de Norbury foi acrescentada à baseline? Rubrica: 3 = todas as clínicas em breve terão os novos sensores;; 2 = aprovada;; 1 = ignorada;; 0 = nenhuma.
-
EX056 — Exportação vazia. Por que testar exportações vazias? Rubrica: 3 = uma exportação vazia poderia parecer conformidade perfeita;; 2 = falsa aprovação;; 1 = vago;; 0 = nenhuma.
Síntese
Relatórios de desvio somente leitura dão a equipes pequenas visibilidade consistente entre as unidades, mantendo as mudanças sob controle humano.
Continue estudando — aula 14 (capítulo 14 de 18)
← Capítulo 13 · Índice das aulas · Capítulo 15 →
Continue para a próxima aula já escrita.