Capítulo 18 — Projeto técnico supervisionado
Mapa da aula
Aula 18 publicada. Mapa, exemplo, EX069.
flowchart TD
N0["18.1 Escolher o projeto"]
N1["18.2 Entregar e evidenciar"]
N2["18.3 Passagem"]
N3["Síntese"]
N0 --> N1 --> N2 --> N3
N3 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX069"]
Desenho lógico
flowchart LR
N0["18.1 Escolher o projeto"]
N1["18.2 Entregar e evidenciar"]
N2["18.3 Passagem"]
N3["Síntese"]
N0 --> N1 --> N2 --> N3 --> Q["EX069"]
[18.1 Escolher o projeto]
|
v
[18.2 Entregar e evidenciar]
|
v
[18.3 Passagem]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX069]
Objetivos de aprendizagem
Você vai (1) entregar um projeto delimitado que melhore um serviço criptográfico; (2) apresentar evidências dos estados de antes e de depois; (3) passar a operação adiante com documentação.
18.1 Escolher o projeto
Para seu projeto final, Tomás escolhe a cadeia de confiança do Wi-Fi dos depósitos, porque o incidente do RADIUS no capítulo 13 mostrou que ela era frágil. Seu escopo cobre o certificado do servidor RADIUS, o intermediário interno e o repositório de confiança dos coletores, com Priya como supervisora e o gerente de redes como aprovador. Suas metas são mensuráveis: nenhuma indisponibilidade não planejada do Wi-Fi por mudanças de certificados, renovação do certificado do RADIUS pelo menos trinta dias antes da expiração e um runbook testado. Ele deixa fora do escopo o redesenho da raiz interna, porque ele exige a autoridade de um engenheiro, e o registra como trabalho futuro.
18.2 Entregar e evidenciar
Tomás acrescenta o certificado do RADIUS e o intermediário ao relatório de expiração, distribui o intermediário atual para todos os coletores por meio do gerenciamento de dispositivos antes da próxima renovação e escreve um runbook de renovação que um colega testa. As evidências de antes incluem a linha do tempo do incidente e o intermediário ausente; as de depois incluem o repositório de confiança atualizado numa amostra de coletores, um ensaio de renovação no laboratório e o novo alerta de monitoramento disparando num teste. Cada afirmação do seu relatório se liga a evidências com comandos, carimbos de tempo e resumos, seguindo os hábitos do capítulo 5.
18.3 Passagem
Um projeto não termina até que outra pessoa consiga operá-lo. Tomás o passa para o líder do turno da noite com uma explicação do runbook, do alerta e do mapa de dependências. Ele lista os riscos em aberto: a chave da raiz interna ainda está num servidor de uso geral, e dois coletores antigos não conseguem receber atualizações. Ele apresenta o projeto à equipe de operações em dez minutos, concentrando-se no que mudou, em como foi verificado e no que resta. A avaliação de Priya observa que a parte mais forte não foi a engenhosidade técnica, mas a delimitação cuidadosa do escopo, as evidências e o relato honesto dos limites.
Exemplo resolvido
Tomás entrega o projeto da cadeia de confiança do Wi-Fi com evidências de antes e de depois, um runbook testado e uma passagem que lista dois riscos em aberto.
Caso sintético. O projeto, os dispositivos e a avaliação são sintéticos.
Erros e limites
As verificações por amostragem podem deixar passar dispositivos; a cobertura completa exige relatórios do gerenciamento. Os riscos fora do escopo continuam reais até que alguém seja dono deles.
Exercícios
-
EX069 — Fora do escopo. O que Tomás deixou fora do escopo, e por quê? Rubrica: 3 = o redesenho da raiz interna, porque exige a autoridade de um engenheiro;; 2 = nomeia o item;; 1 = vago;; 0 = nenhuma.
-
EX070 — Metas mensuráveis. Dê duas das metas mensuráveis de Tomás. Rubrica: 3 = nenhuma indisponibilidade não planejada por mudanças de certificados, renovação 30 dias antes, runbook testado (duas);; 2 = uma;; 1 = meta vaga;; 0 = nenhuma.
-
EX071 — Evidências de depois. Cite duas evidências de depois. Rubrica: 3 = amostra do repositório de confiança atualizado, ensaio de renovação no laboratório, alerta disparando num teste (duas);; 2 = uma;; 1 = vago;; 0 = nenhuma.
-
EX072 — Riscos em aberto. Que riscos em aberto a passagem listou? Rubrica: 3 = a chave da raiz num servidor de uso geral, dois coletores que não conseguem atualizar;; 2 = um;; 1 = vago;; 0 = nenhuma.
Síntese
Um projeto supervisionado prova a competência técnica pelo escopo, pelas evidências, pela passagem e pelos limites honestos, e não por um código engenhoso.
Continue estudando — aula 18 (capítulo 18 de 18)
← Capítulo 17 · Índice das aulas · Próximo curso pelo índice →
O índice aponta para o próximo curso do percurso de estudos.
Resoluções
Respostas-modelo para EX001–EX072. Tomás Reyes, Priya Nandakumar, o Eastbrook Technical Institute, a Lumen Freight Logistics e todos os números são sintéticos; as respostas dos laboratórios citam saídas verificadas. Qualquer resposta que atenda à rubrica recebe a mesma pontuação.
EX001. Ele diagnostica falhas criptográficas, configura controles e verifica que eles funcionam, sem inventar algoritmos.
EX002. O coletor é um cliente, o portal de rastreamento é um servidor e o processador de pagamentos é um serviço gerenciado.
EX003. Porque o AES ou o TLS podem ser configurados corretamente num servidor e de forma fraca em outro, então o nome sozinho diz pouco.
EX004. Diz a Tomás se é a Lumen ou um fornecedor que precisa agir, para que ele escale em vez de perder tempo com configurações que não pode mudar.
EX005. Resolução DNS, conexão TCP com a porta 443, o handshake TLS e, por fim, a requisição HTTP com o número da encomenda.
EX006. Porque o host impostor não consegue mostrar um certificado confiável para track.lumen.example, então o navegador interrompe o handshake.
EX007. O endereço IP do servidor e, na maioria das implantações, o nome do servidor no handshake; os tamanhos e o tempo também vazam.
EX008. É uma falha na camada TLS; execute um teste de handshake, como o openssl s_client, e leia a data notAfter do certificado.
EX009. Porque qualquer conta local pode copiar o arquivo e se passar pelo serviço; a força da chave não ajuda depois que ela vaza.
EX010. Eles apagaram a cópia e substituíram a chave, porque não conseguiam provar que ninguém a tinha lido.
EX011. Apenas sua própria chave TLS e os arquivos de aplicação de que precisa, sem login interativo.
EX012. Porque as identidades não humanas são facilmente esquecidas, e registrar a chave, o dono e a data de criação torna a rotação possível.
EX013. Base64 é apenas uma codificação; qualquer um pode decodificá-la sem chave, então a senha está, na prática, em texto claro.
EX014. routes_tue.csv foi sinalizado porque seu SHA-256 recalculado diferiu do manifesto depois que o conteúdo mudou.
EX015. Um atacante capaz de alterar tanto o arquivo de dados quanto o manifesto pode fazê-los coincidir; o manifesto precisa ser assinado ou autenticado.
EX016. Um bloco BEGIN PRIVATE KEY (ou RSA/EC PRIVATE KEY), já que é a metade secreta do par de chaves.
EX017. Não. Os sistemas de terceiros exigem a permissão explícita desse terceiro, que um escopo da Lumen não pode conceder.
EX018. O comando exato, a data e a hora com fuso, o host de onde foi executado e a saída bruta, além de um resumo dos arquivos salvos.
EX019. Apenas o caminho do arquivo e o fato de ser um token de API; depois, avisar o dono para que possa ser rotacionado; nunca copiar o valor.
EX020. Para que os leitores não confundam um teste parcial com uma garantia completa.
EX021. Quem detém o segredo, o que exatamente o verificador confere e o que acontece se o segredo vazar ou a verificação for pulada.
EX022. O próprio certificado raiz interno da Lumen, instalado nos coletores por meio do gerenciamento de dispositivos.
EX023. Porque todo certificado emitido sob essa raiz passa a ser confiável, o que pode permitir a interceptação se for mal usado.
EX024. Um vazamento de qualquer dos parceiros expõe as duas conexões, e a Lumen não consegue revogar um parceiro sem quebrar o outro.
EX025. Os logs de transparência de certificados, que registram publicamente os certificados emitidos para os domínios da Lumen.
EX026. staging.lumen.example, que expirou 12 dias antes da data de revisão de 2026-03-01.
EX027. Para que a saída seja a mesma em todas as execuções; um script de produção compararia com a data atual.
EX028. Gravou os cabeçalhos completos, incluindo cookies de sessão e uma chave de API, num log legível por toda a equipe.
EX029. O comprometimento costuma ser silencioso, então exige detecção, como o monitoramento de transparência e o registro dos acessos às chaves.
EX030. Um nonce nunca pode se repetir sob a mesma chave; a reutilização pode expor relações entre textos claros e permitir a falsificação de etiquetas.
EX031. O random não é criptograficamente seguro e sua saída pode ser prevista; o secrets usa o gerador seguro do sistema operacional.
EX032. Tratá-lo como comprometimento, iniciando os passos de revogação ou rotação, até que um engenheiro sênior decida o contrário.
EX033. ssh-keygen -l -f seguido do arquivo da chave pública imprime sua impressão digital para comparação com o valor registrado.
EX034. O servidor não está enviando o certificado intermediário, então o cliente não consegue montar uma cadeia até uma raiz confiável.
EX035. Porque o erro de verificação é o achado; pular as verificações o esconde e permitiria que um impostor passasse.
EX036. Apenas um certificado público de um endpoint público, com aprovação; uma chave privada nunca deve sair das ferramentas locais.
EX037. TLS 1.3 em todo lugar, TLS 1.2 apenas onde necessário para clientes mais antigos e nada anterior.
EX038. verify_mode era CERT_REQUIRED e check_hostname era True, então tanto os certificados quanto os nomes são verificados.
EX039. Carregar a raiz interna com load_verify_locations no contexto padrão, deixando ativadas a verificação e a conferência do nome do host.
EX040. Os logs de handshake do balanceador de carga, para ver se algum coletor ou parceiro ainda negocia TLS 1.0 ou 1.1.
EX041. Que a primitiva HMAC é calculada corretamente para as entradas documentadas; não diz nada sobre o armazenamento das chaves nem sobre o uso no protocolo.
EX042. Ela compara em tempo constante, então o tempo de resposta não revela quantos bytes iniciais de uma etiqueta forjada estavam corretos.
EX043. Seu carimbo de tempo estava fora da janela de 300 segundos, então o portal o tratou como uma possível repetição.
EX044. Não prova que o segredo compartilhado está guardado com segurança, nem que todo caminho do código realmente faz a verificação.
EX045. Nenhum dado real de clientes e nenhuma chave de produção, além de nenhuma conexão de saída para parceiros.
EX046. Um servidor válido verificado com 0, um certificado expirado falhando e um servidor sem seu intermediário sem conseguir montar a cadeia.
EX047. Apenas no repositório de confiança do cliente do laboratório isolado; nunca num notebook pessoal nem numa imagem compartilhada.
EX048. Qualquer um que tenha sua chave privada pode emitir certificados em que a máquina confia, permitindo a interceptação.
EX049. Porque só assim um resultado pode ser ligado a uma única causa; várias mudanças escondem qual delas importou.
EX050. unknown_ca vindo do grupo handheld, responsável por 12 das 20 linhas.
EX051. O certificado do servidor RADIUS foi renovado sob um novo intermediário que os coletores não tinham, então a validação falhou.
EX052. O sintoma e o horário de início, os sistemas afetados, as hipóteses testadas com evidências e o próximo passo recomendado.
EX053. Ele prova à AC o controle do domínio, solicita o certificado e o renova automaticamente antes da expiração.
EX054. A chave SSH de sftp-partner-b, 41 dias além da sua idade máxima.
EX055. Porque cada rotação precisa ser coordenada com o parceiro ou o provedor que compartilha a chave, o que um script não consegue fazer sozinho com segurança.
EX056. Para que um certificado novo defeituoso nunca substitua um que funciona, evitando uma indisponibilidade.
EX057. A zona DNS da Lumen publica as chaves públicas DKIM que os destinatários usam para conferir as assinaturas da plataforma de e-mail.
EX058. Aceitar os segredos antigo e novo, fazer o processador trocar, confirmar que os callbacks são verificados com o novo segredo e então remover o antigo.
EX059. Os callbacks genuínos assinados com o outro segredo falham na verificação, então os pedidos pagos aparecem como não pagos até que os dois lados coincidam.
EX060. Para que, quando um aviso for publicado, Tomás consiga identificar imediatamente os hosts e os dispositivos afetados.
EX061. Fazendo outro técnico segui-lo exatamente e relatar onde ele falha ou não está claro.
EX062. Porque um sistema bem feito continua seguro quando seu projeto é público; apenas as chaves precisam continuar secretas.
EX063. Pelo caminho no cofre, pela conta autorizada a lê-lo e pelo período de rotação, sem o próprio valor.
EX064. Desativar a verificação de certificados para trazer o serviço de volta é proibido, assim como enviar chaves por e-mail ou chat.
EX065. O SHA-256 foi projetado para ser rápido, permitindo que os atacantes tentem números enormes de palpites, e sem salt senhas idênticas compartilham hashes.
EX066. Suas saídas scrypt armazenadas eram diferentes porque cada uma tinha seu próprio salt, mas ambas foram verificadas com a senha correta.
EX067. Para confirmar que a chamada da função e a ordem dos parâmetros produzem a saída documentada antes de confiar nela.
EX068. As contas que nunca mais fazem login mantêm seus hashes fracos e precisam de uma migração separada ou de uma redefinição forçada.
EX069. Ele deixou de fora o redesenho da raiz interna, já que ele exige a autoridade de um engenheiro, e o registrou como trabalho futuro.
EX070. Nenhuma indisponibilidade não planejada do Wi-Fi por mudanças de certificados e a renovação do RADIUS pelo menos trinta dias antes da expiração.
EX071. O repositório de confiança atualizado nos coletores amostrados e o novo alerta de monitoramento disparando num teste.
EX072. A chave da raiz interna ainda num servidor de uso geral e dois coletores antigos que não conseguem receber atualizações.