Capítulo 2 — Redes e protocolos
Mapa da aula
Aula 02 publicada. Mapa, exemplo, EX005.
flowchart TD
N0["2.1 Uma requisição passo a passo"]
N1["2.2 O que cada camada protege"]
N2["2.3 Sintomas por camada"]
N3["Síntese"]
N0 --> N1 --> N2 --> N3
N3 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX005"]
Desenho lógico
flowchart LR
N0["2.1 Uma requisição passo a passo"]
N1["2.2 O que cada camada protege"]
N2["2.3 Sintomas por camada"]
N3["Síntese"]
N0 --> N1 --> N2 --> N3 --> Q["EX005"]
[2.1 Uma requisição passo a passo]
|
v
[2.2 O que cada camada protege]
|
v
[2.3 Sintomas por camada]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX005]
Objetivos de aprendizagem
Você vai (1) rastrear uma requisição ao portal de rastreamento pelo DNS, pelo TCP e pelo TLS; (2) explicar o que cada camada protege; (3) associar os sintomas comuns à camada que falhou.
2.1 Uma requisição passo a passo
Quando um cliente abre track.lumen.example, o navegador primeiro pergunta um endereço ao DNS, depois abre uma conexão TCP com a porta 443, depois executa um handshake TLS e só então envia a requisição HTTP com o número da encomenda. Tomás desenha essas etapas como quatro caixas. Ele observa que o DNS simples não é cifrado nem autenticado, de modo que uma resposta forjada poderia mandar o navegador para o host errado. O TLS limita o dano: o impostor não consegue apresentar um certificado válido para o nome da Lumen, então o navegador para. É por isso que a validação de certificados nunca deve ser desligada, nem mesmo durante os testes.
2.2 O que cada camada protege
O TCP dá entrega ordenada, mas nenhum sigilo; qualquer um no caminho pode ler e alterar os dados TCP simples. O TLS 1.3, especificado na RFC 8446, acrescenta confidencialidade por meio de cifração autenticada, integridade de cada registro e autenticação do servidor por meio do seu certificado. Ele não esconde o endereço IP do servidor e, na maioria das implantações, o nome solicitado continua visível no handshake. Tomás anota isso porque um gerente certa vez afirmou que o TLS torna o tráfego invisível. Ser preciso sobre o que uma camada protege e o que não protege é o primeiro passo para diagnosticar uma falha corretamente.
2.3 Sintomas por camada
Priya entrega a Tomás uma lista de chamados da central de atendimento. Um nome que não resolve é um problema de DNS. Uma conexão que expira por tempo aponta para o roteamento ou para um firewall, na camada TCP. Um aviso do navegador sobre um certificado não confiável ou expirado é um problema de TLS. Uma página que carrega, mas mostra uma mensagem de erro, é um problema da aplicação. Separar os chamados por camada economiza tempo, porque cada camada tem ferramentas diferentes: dig ou nslookup para o DNS, um teste de porta para o TCP, um teste de handshake para o TLS e os logs do servidor para a aplicação.
Exemplo resolvido
Tomás separa oito chamados sintéticos em DNS, TCP, TLS e aplicação e associa a cada um a primeira ferramenta de diagnóstico correspondente.
Caso sintético. Os textos dos chamados e os nomes de host são inventados; a RFC 8446 é real.
Erros e limites
Falhas reais podem atravessar camadas, como um firewall que quebra o TLS ao interceptá-lo. Separar por camada é uma hipótese inicial, e não um veredito.
Exercícios
-
EX005 — Ordem das etapas. Liste as quatro etapas antes que o número da encomenda chegue ao portal. Rubrica: 3 = consulta DNS, conexão TCP, handshake TLS, requisição HTTP;; 2 = três em ordem;; 1 = fora de ordem;; 0 = nenhuma.
-
EX006 — Resposta DNS forjada. Por que uma resposta DNS forjada normalmente não consegue roubar uma sessão TLS? Rubrica: 3 = o impostor não consegue apresentar um certificado válido para o nome, então a validação falha;; 2 = menciona certificado;; 1 = diz que o DNS é cifrado;; 0 = nenhuma.
-
EX007 — Visível no TLS. Dê duas coisas que o TLS não esconde de um observador no caminho. Rubrica: 3 = o endereço IP do servidor e, normalmente, o nome solicitado (SNI), além do tempo e do tamanho do tráfego;; 2 = um item;; 1 = afirma que tudo fica escondido;; 0 = nenhuma.
-
EX008 — Do chamado à camada. Um chamado diz que o navegador mostra que o certificado expirou. Que camada, e que primeira ferramenta? Rubrica: 3 = camada TLS; executar um teste de handshake e ler as datas do certificado;; 2 = só a camada;; 1 = camada errada;; 0 = nenhuma.
Síntese
Diagnosticar problemas de rede começa por saber qual camada protege o quê e qual ferramenta inspeciona cada camada.
Continue estudando — aula 02 (capítulo 02 de 18)
← Capítulo 01 · Índice das aulas · Capítulo 03 →
Continue para a próxima aula já escrita.