Capítulo 5 — Criptografia e serviços de confiança: ferramentas e interpretação
Mapa da aula
Aula 05 publicada. Mapa, exemplo, EX021.
flowchart TD
N0["5.1 Uma verificação de inventário"]
N1["Laboratório — Sinalizações da linha de base"]
N2["5.2 Interpretando a saída"]
N3["5.3 Ruído e falsos positivos"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4
N4 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX021"]
Desenho lógico
flowchart LR
N0["5.1 Uma verificação de inventário"]
N1["Laboratório — Sinalizações da linha de base"]
N2["5.2 Interpretando a saída"]
N3["5.3 Ruído e falsos positivos"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX021"]
[5.1 Uma verificação de inventário]
|
v
[Laboratório — Sinalizações da linha de base]
|
v
[5.2 Interpretando a saída]
|
v
[5.3 Ruído e falsos positivos]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX021]
Objetivos de aprendizagem
Você vai (1) executar uma verificação de inventário sobre certificados e algoritmos; (2) interpretar a saída das ferramentas sem afirmar além do que ela mostra; (3) distinguir achados de ruído das ferramentas.
5.1 Uma verificação de inventário
A Copperleaf mantém um inventário simples por cliente: cada endpoint, a expiração do seu certificado, o tipo e o tamanho da sua chave, seu algoritmo de assinatura e as versões de TLS que aceita. Dana escreve um script curto que lê o inventário sintético da Bayside e sinaliza as linhas que violam a linha de base da Copperleaf: certificados que expiram em até trinta dias, chaves RSA menores que 2048 bits, assinaturas SHA-1 e aceitação de TLS 1.0 ou 1.1. A linha de base segue orientações do NIST como a SP 800-131A Rev. 2 e a SP 800-52 Rev. 2. O laboratório abaixo mostra as sinalizações de cinco endpoints sintéticos e a contagem dos limpos.
Laboratório — Sinalizações da linha de base
# Flag synthetic endpoints against a simple baseline (NIST SP 800-131A/800-52 inspired).
import datetime
REVIEW = datetime.date(2026, 3, 1)
eps = [("book.bayside.example", "2026-03-18", "RSA", 2048, "sha256", ["1.2", "1.3"]),
("clinic-srv.bayside.lan", "2027-01-10", "RSA", 1024, "sha256", ["1.2"]),
("printer.bayside.lan", "2028-05-02", "RSA", 2048, "sha1", ["1.0", "1.2"]),
("mail-gw.bayside.example", "2026-09-30", "ECDSA", 256, "sha256", ["1.1", "1.2", "1.3"]),
("api.bayside.example", "2026-11-20", "ECDSA", 256, "sha256", ["1.3"])]
clean = 0
for host, exp, kt, bits, sig, vers in eps:
f = []
d = (datetime.date.fromisoformat(exp) - REVIEW).days
if d <= 30: f.append(f"expires in {d} d")
if kt == "RSA" and bits < 2048: f.append(f"RSA-{bits}")
if sig == "sha1": f.append("SHA-1 signature")
old = [v for v in vers if v in ("1.0", "1.1")]
if old: f.append("TLS " + "/".join(old))
if f: print(f"{host:26} " + "; ".join(f))
else: clean += 1
print("clean endpoints:", clean)
Execute com python3 lab_inventory.py. Saída verificada:
book.bayside.example expires in 17 d
clinic-srv.bayside.lan RSA-1024
printer.bayside.lan SHA-1 signature; TLS 1.0
mail-gw.bayside.example TLS 1.1
clean endpoints: 1
5.2 Interpretando a saída
Uma sinalização é uma pergunta, não um veredito. O script sinaliza a impressora antiga da clínica por TLS 1.0, mas a impressora fica numa rede isolada e só o servidor fala com ela. A sinalização continua verdadeira, mas o risco é menor que o de um site público. Dana registra a sinalização, acrescenta o contexto e deixa a classificação de risco refletir as duas coisas. Ela também anota de onde vieram os dados e quando, porque um inventário exportado no mês passado pode não conter um certificado renovado ontem. Interpretar a saída significa declarar o que a ferramenta mediu, o que ela não conseguiu ver e o que isso implica para o cliente.
5.3 Ruído e falsos positivos
Os scanners muitas vezes relatam itens tecnicamente corretos, mas irrelevantes, como um certificado autoassinado numa página interna de gerenciamento acessível apenas a partir de um notebook de administrador, ou interpretam mal uma configuração. Dana confere manualmente cada sinalização numa amostra antes de relatar: ela se conecta com openssl s_client ou lê o certificado com openssl x509 e confirma o valor. As questões confirmadas viram achados; as leituras erradas são registradas como ruído da ferramenta, com uma breve explicação. Essa prática mantém os relatórios críveis, porque um achado obviamente errado faz o cliente duvidar de todas as outras linhas do relatório.
Exemplo resolvido
Dana executa o laboratório de inventário, confirma manualmente o certificado de agendamento prestes a expirar, rebaixa com contexto a sinalização de TLS 1.0 da impressora isolada e registra uma leitura errada do scanner como ruído.
Caso sintético. Os endpoints, os tamanhos e as datas são sintéticos; a NIST SP 800-131A Rev. 2 e a SP 800-52 Rev. 2 são reais.
Erros e limites
As linhas de base ficam atrás das novas orientações; revise-as anualmente. A amostragem manual pode deixar passar leituras erradas raras.
Exercícios
-
EX021 — Regras da linha de base. Liste as quatro regras da linha de base no script de Dana. Rubrica: 3 = expiração em até 30 dias, RSA abaixo de 2048, assinatura SHA-1, TLS 1.0 ou 1.1 aceito;; 2 = três;; 1 = uma;; 0 = nenhuma.
-
EX022 — Contagem de sinalizações do laboratório. Quantos endpoints o laboratório sinalizou e quantos estavam limpos? Rubrica: 3 = quatro sinalizados, um limpo;; 2 = contagem de um dos lados;; 1 = errado;; 0 = nenhuma.
-
EX023 — Contexto da impressora. Por que a sinalização de TLS 1.0 da impressora recebe classificação menor? Rubrica: 3 = ela está isolada e só o servidor a alcança;; 2 = isolamento;; 1 = sinalização falsa;; 0 = nenhuma.
-
EX024 — Confirmação manual. Como Dana confirma uma sinalização antes de relatá-la? Rubrica: 3 = conecta com openssl s_client ou lê o certificado com openssl x509;; 2 = ferramenta citada;; 1 = confia no scanner;; 0 = nenhuma.
-
EX025 — Credibilidade. O que um achado obviamente errado faz com um relatório? Rubrica: 3 = faz o cliente duvidar de todos os outros achados;; 2 = dúvida;; 1 = vago;; 0 = nenhuma.
Síntese
As ferramentas produzem sinalizações; os profissionais as transformam em achados confirmando-as, acrescentando contexto e declarando os limites.
Continue estudando — aula 05 (capítulo 05 de 12)
← Capítulo 04 · Índice das aulas · Capítulo 06 →
Continue para a próxima aula já escrita.