Capítulo 17 — Segurança quântica e pós-quântica: ferramentas
Mapa da aula
Aula 17 publicada. Mapa, exemplo, EX033.
flowchart TD
N0["17.1 Classes de ferramentas"]
N1["17.2 Atividade prática — Laboratório T"]
N2["17.3 Avaliando as ferramentas"]
N3["17.4 Uso autorizado"]
N4["17.5 Caso resolvido"]
N5["17.7 Tornando as ferramentas rotina"]
N6["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6
N6 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX033"]
Desenho lógico
flowchart LR
N0["17.1 Classes de ferramentas"]
N1["17.2 Atividade prática — Laboratório T"]
N2["17.3 Avaliando as ferramentas"]
N3["17.4 Uso autorizado"]
N4["17.5 Caso resolvido"]
N5["17.7 Tornando as ferramentas rotina"]
N6["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> Q["EX033"]
[17.1 Classes de ferramentas]
|
v
[17.2 Atividade prática — Laboratório T]
|
v
[17.3 Avaliando as ferramentas]
|
v
[17.4 Uso autorizado]
|
v
[17.5 Caso resolvido]
|
v
[17.7 Tornando as ferramentas rotina]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX033]
Objetivos de aprendizagem
Você vai (1) usar auditorias de configuração para detectar serviços apenas clássicos e mal ordenados; (2) combinar scanners, analisadores de logs e analisadores de imagens; (3) avaliar criticamente a saída das ferramentas; e (4) integrar as ferramentas às verificações de rotina.
17.1 Classes de ferramentas
Os auditores de configuração leem a configuração do servidor e reportam os grupos oferecidos e a preferência. Os clientes TLS/SSH ativos, em laboratório ou num escopo autorizado, reportam o que um servidor negocia. Os analisadores de logs resumem os algoritmos negociados a partir dos logs de produção. Os analisadores de imagens e binários encontram as versões das bibliotecas. Os inventários de certificados listam os algoritmos de assinatura e a validade. Cada um vê uma parte do quadro.
A KLS usa as cinco classes e as mantém separadas na CBOM, cada uma com o seu próprio rótulo de método. Quando elas discordam, a discordância é investigada, e não tirada a média.
17.2 Atividade prática — Laboratório T
# Lab T (ch 17): audit synthetic TLS server configurations for post-quantum key exchange and preference order.
configs = { # service: ordered list of offered groups (server preference) - synthetic
"api-gateway": ["X25519MLKEM768", "X25519", "secp256r1"],
"customer-portal": ["X25519", "X25519MLKEM768", "secp256r1"],
"partner-sftp": ["ecdh-sha2-nistp256"],
"internal-grafana": ["X25519", "secp384r1"]}
HYBRID = {"X25519MLKEM768", "SecP256r1MLKEM768", "SecP384r1MLKEM1024"}
for svc, groups in configs.items():
offered = [g for g in groups if g in HYBRID]
if not offered: verdict = "CLASSICAL ONLY"
elif groups[0] in HYBRID: verdict = "OK (hybrid preferred)"
else: verdict = "WARN hybrid offered but not preferred"
print(f"{svc:17s} {verdict}")
Saída esperada:
api-gateway OK (hybrid preferred)
customer-portal WARN hybrid offered but not preferred
partner-sftp CLASSICAL ONLY
internal-grafana CLASSICAL ONLY
O portal do cliente oferece o híbrido, mas prefere o X25519 — uma configuração errada silenciosa que uma verificação simples de "o híbrido está presente?" deixaria passar.
A auditoria lê apenas a lista de grupos configurada, então responde a duas perguntas sem tocar em nenhum servidor: há um grupo híbrido presente, e ele vem primeiro? O gateway passa; o portal lista X25519MLKEM768 em segundo lugar e é sinalizado; o SFTP e o Grafana não têm nenhum grupo híbrido. Repare que partner-sftp é um serviço SSH com um nome de algoritmo SSH; o laboratório o trata com a mesma regra, mas uma auditoria de produção deve verificar separadamente os nomes SSH, como mlkem768x25519-sha256. Estender o conjunto HYBRID ou as regras é uma mudança de código revisada como qualquer outra.
17.3 Avaliando as ferramentas
Pergunte o que uma ferramenta de fato observa, de onde e com qual biblioteca cliente. Um scanner ativo que usa uma biblioteca antiga não consegue negociar o híbrido e vai reportar todos os servidores como clássicos. Valide as ferramentas contra um servidor de laboratório com configuração conhecida antes de confiar nelas.
A KLS valida cada ferramenta contra três servidores de laboratório: híbrido preferido, híbrido oferecido mas não preferido, e apenas clássico. Uma ferramenta que reporta corretamente os três, com a sua versão registrada, é liberada para uso de rotina; uma que não consegue distinguir os dois primeiros fica limitada a verificações de presença e é rotulada assim na CBOM.
17.4 Uso autorizado
A varredura ativa de serviços exige autorização, mesmo dentro da sua organização; limite-a aos hosts listados e às janelas acordadas. Nunca varra parceiros ou terceiros sem permissão por escrito.
Na KLS, o escopo escrito lista os nomes de host, as portas, o host do scanner, a janela de tempo e o contato que pode interromper a varredura. Os servidores SFTP dos parceiros nunca são varridos; o suporte deles é conhecido pelos logs do próprio servidor da KLS quando os parceiros se conectam, o que não exige permissão porque observa apenas o lado da KLS.
A KLS executa as suas varreduras de grupos TLS nas manhãs de terça-feira e publica antes o endereço do host do scanner no canal de SRE; a única varredura que rodou sem aviso foi acionada como possível intrusão e custou uma hora do plantão.
17.5 Caso resolvido
A primeira varredura ativa da KLS reportou "0 % híbrido" em todo o parque. O OpenSSL embutido no scanner era anterior ao suporte ao ML-KEM. Depois de atualizar o scanner e validá-lo contra o servidor de laboratório, a varredura mostrou o gateway de API e os serviços atrás da CDN negociando o híbrido, em coerência com os logs.
A lição que a KLS tirou foi de procedimento. A validação contra os três servidores conhecidos do laboratório é agora uma pré-condição para que qualquer resultado de scanner chegue ao painel, e a versão da biblioteca do scanner é impressa em cada relatório. O relatório de "0 %" foi retirado com uma nota explicando o porquê, para que ninguém o citasse depois.
17.6 Erros comuns e limites
- Confiar na saída das ferramentas sem validação.
- Verificar a presença em vez da preferência.
- Varrer fora do escopo autorizado.
A varredura de 0 % é o exemplo da KLS para o primeiro erro: a ferramenta, e não o parque, era clássica. O segundo é o portal: uma verificação de presença o aprovou, uma verificação de preferência o sinalizou. O terceiro é um risco que a KLS evitou com o escopo: um scanner apontado para o servidor SFTP de um parceiro teria sido um teste não autorizado de um terceiro, qualquer que fosse a intenção. Os limites das ferramentas continuam: as auditorias de configuração deixam de fora os saltos que não são exportados, e as varreduras ativas só veem o que a sua biblioteca cliente consegue negociar.
17.7 Tornando as ferramentas rotina
Execute as auditorias de configuração toda noite contra a configuração exportada e publique o resultado no mesmo painel dos logs de negociação. Uma auditoria de configuração que discorda dos logs é um sinal: ou a exportação da configuração está desatualizada, ou um salto que não está na exportação está mudando as negociações. Mantenha no repositório a versão e o registro de validação de cada ferramenta, e valide de novo depois de cada atualização da ferramenta, já que um scanner cuja biblioteca embutida muda pode mudar silenciosamente as suas constatações.
Sempre que possível, prefira ferramentas passivas e baseadas em configuração para o uso de rotina e reserve a varredura ativa para janelas agendadas e autorizadas. Isso mantém baixa a carga operacional e evita surpreender os donos dos serviços com sondagens que eles não esperavam.
Exercícios
- EX033 — Estender o Laboratório T. Acrescente uma regra que sinalize como "review" os serviços que oferecem mais de quatro grupos. Rubrica: 3 = código funcional e saída sensata.
- EX034 — Validação de ferramentas. Descreva como validar um scanner TLS antes do uso. Rubrica: 3 = servidor de laboratório com configurações conhecidas, casos positivos e negativos.
Síntese
As ferramentas veem fatias diferentes; os implementadores as validam contra configurações conhecidas, verificam a preferência além da presença e as usam dentro do escopo autorizado.
Continue estudando — capítulo 17 de 30
← Capítulo 16 · Índice de capítulos do curso · Capítulo 18 →
Siga para a próxima lição escrita.