Capítulo 2 — Escopo, permissão e prática segura
Mapa da aula
Aula 02 publicada. Mapa, exemplo, EX014.
flowchart TD
N0["2.1 O que o papel precisa dizer"]
N1["2.2 Conferir uma lista de alvos"]
N2["2.3 Condições de parada e proibições"]
N3["2.4 Quando alguém pede para você quebrar as regras"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4
N4 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX014"]
Desenho lógico
flowchart LR
N0["2.1 O que o papel precisa dizer"]
N1["2.2 Conferir uma lista de alvos"]
N2["2.3 Condições de parada e proibições"]
N3["2.4 Quando alguém pede para você quebrar as regras"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX014"]
[2.1 O que o papel precisa dizer]
|
v
[2.2 Conferir uma lista de alvos]
|
v
[2.3 Condições de parada e proibições]
|
v
[2.4 Quando alguém pede para você quebrar as regras]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX014]
Objetivos de aprendizagem
Você vai (1) listar o que uma autorização escrita precisa conter; (2) conferir alvos propostos contra um escopo com um script curto; (3) explicar condições de parada e regras de proibição; e (4) lidar com um pedido que quebraria as regras.
2.1 O que o papel precisa dizer
Antes de qualquer teste, um acordo escrito — às vezes chamado de regras de engajamento — precisa nomear os sistemas e as pessoas no escopo, o que está fora do escopo, quais métodos são permitidos, os horários de início e de fim, a quem ligar numa emergência, como os achados serão relatados e como os dados serão tratados depois. O NIST SP 800-115 e o PTES tratam a definição do escopo como uma etapa de primeira classe, e não como formalidade. Se qualquer um desses itens faltar, o teste espera até que o acordo seja corrigido e assinado de novo. O pacote de sala de aula de Maya cobre 192.0.2.0/25, exclui o servidor da folha de pagamento em 192.0.2.10 e permite apenas uma revisão de configuração e de políticas.
2.2 Conferir uma lista de alvos
Os testadores comparam cada endereço ou nome de host proposto com o escopo escrito. Sistemas excluídos — folha de pagamento, dispositivos médicos, sistemas de segurança física — nunca podem ser tocados, mesmo que compartilhem uma rede. Uma verificação local simples pega erros antes que alguém envie um pacote.
"""Lab 2: check synthetic targets against a written scope (no network traffic is sent)."""
import ipaddress
in_scope = [ipaddress.ip_network("192.0.2.0/25")] # documentation range, synthetic
excluded = {ipaddress.ip_address("192.0.2.10")} # payroll server: owner excluded it
requested = ["192.0.2.5", "192.0.2.10", "192.0.2.130", "198.51.100.7"]
for t in requested:
ip = ipaddress.ip_address(t)
if ip in excluded:
verdict = "EXCLUDED - do not test"
elif any(ip in n for n in in_scope):
verdict = "in scope"
else:
verdict = "OUT OF SCOPE - do not test"
print(f"{t:14} {verdict}")
Execute com python3 lab_scope.py. Saída verificada:
192.0.2.5 in scope
192.0.2.10 EXCLUDED - do not test
192.0.2.130 OUT OF SCOPE - do not test
198.51.100.7 OUT OF SCOPE - do not test
O script do laboratório compara quatro endereços com uma faixa permitida e um endereço excluído, e não envia tráfego algum. Só o 192.0.2.5 está no escopo: o 192.0.2.10 é o servidor da folha de pagamento excluído, e o 192.0.2.130 e o 198.51.100.7 ficam fora de 192.0.2.0/25. Execute-o sempre que a lista mudar e guarde a saída junto com o plano, como registro de que a verificação aconteceu antes do início de qualquer trabalho.
2.3 Condições de parada e proibições
Condições de parada são eventos que encerram ou suspendem o teste na hora: o dono pede para parar, aparece uma indisponibilidade inesperada, sistemas de segurança física são envolvidos ou dados sensíveis são expostos além do propósito do teste. As regras de proibição listam métodos que nunca são permitidos, como negação de serviço ou engenharia social com estudantes, a menos que o papel os permita explicitamente. Quando ocorre uma condição de parada, suspenda na hora, acione o contato de emergência nomeado no acordo e anote o horário e o que você estava fazendo. O teste só é retomado quando o contato que autorizou disser. No exercício de sala de aula de Maya, uma página de teste do portal dos funcionários lenta é motivo suficiente para suspender e ligar.
2.4 Quando alguém pede para você quebrar as regras
Colegas às vezes pedem uma "olhadinha rápida" num sistema que não está no escopo. A resposta é sempre não, até que a autorização seja mudada por escrito. Ser prestativo não cria permissão. Se o pedido é legítimo, a pessoa deve pedir ao dono do sistema que mude o acordo por escrito. No exercício de Maya, um colega pede que ela acrescente um blog pessoal, e ela recusa: a autorização da faculdade cobre apenas os sistemas combinados da faculdade, e pressão ou amizade não mudam isso. Registre cada pedido recusado, para que seu gestor veja que as regras se mantiveram.
Exemplo resolvido (RCC sintético)
Maya recebe um rascunho de lista de alvos para um exercício de sala de aula que usa apenas endereços de documentação: 192.0.2.5, 192.0.2.10 (folha de pagamento, excluído), 192.0.2.130 e 198.51.100.7. Ela executa o script de verificação. Só o 192.0.2.5 está no escopo; os demais estão excluídos ou fora da rede combinada. Ela os retira da lista antes de qualquer outro trabalho.
Caso sintético — RCC. Os endereços vêm de faixas de documentação (RFC 5737); a faculdade e as exclusões foram inventadas.
Erros e limites
Um script só confere a lista que você lhe entrega; ele não consegue descobrir se a rede real corresponde ao papel. A varredura real exige uma autorização separada e explícita.
Exercícios
- EX014 — Conteúdo das regras. Nomeie cinco coisas que um documento de regras de engajamento precisa declarar. Rubrica: 3 = cinco entre escopo, exclusões, métodos, horários, contatos, relato, tratamento de dados; 2 = três; 1 = uma; 0 = nada.
- EX015 — Exclusão da folha de pagamento. Por que o 192.0.2.10 aparece como EXCLUDED mesmo estando no mesmo /25? Rubrica: 3 = o dono o excluiu (folha de pagamento); o escopo não é só a faixa de rede; 2 = parcial; 1 = defeito do script; 0 = nada.
- EX016 — Endereço fora do escopo. O que o laboratório imprime para o 198.51.100.7, e o que Maya precisa fazer? Rubrica: 3 =
OUT OF SCOPE - do not test; retirá-lo e não contatá-lo; 2 = só o que é impresso; 1 = testar com cuidado; 0 = nada. - EX017 — Acrescentar um endereço. Se Maya acrescentar 192.0.2.20 (não excluído) a
requested, o que o laboratório deve imprimir para ele? Rubrica: 3 = "in scope"; 2 = no escopo, sem o formato; 1 = OUT OF SCOPE; 0 = nada. - EX018 — Pedido de um amigo. Um colega pede a Maya que dê "uma olhadinha rápida" no blog pessoal dele com a ferramenta de varredura da faculdade. O que ela diz? Rubrica: 3 = recusa; não há autorização para aquele sistema; sistemas pessoais estão fora do escopo da faculdade; 2 = recusa; 1 = faz depois do expediente; 0 = concorda.
- EX019 — Condições de parada. Dê três condições de parada para um teste. Rubrica: 3 = três específicas (o dono pede para parar, indisponibilidade inesperada, exposição de dados, problema de segurança física); 2 = duas; 1 = uma; 0 = nada.
- EX020 — Contato de emergência. Para quem Maya liga se o portal dos funcionários ficar indisponível durante um teste? Rubrica: 3 = para o contato de emergência nomeado nas regras; depois para o teste; 2 = parcial; 1 = redes sociais; 0 = nada.
- EX021 — Janela de tempo. As regras dizem que o teste é permitido das 09:00 às 17:00 em dias úteis. A empresa pode começar às 20:00 para "evitar usuários"? Rubrica: 3 = não; fora da janela combinada é preciso antes uma mudança por escrito; 2 = não; 1 = sim, se for mais tranquilo; 0 = nada.
- EX022 — Tratamento de dados. O que deve acontecer com os dados do teste depois do fim do engajamento? Rubrica: 3 = seguir o acordo: guardar só o permitido e depois apagar/devolver; 2 = parcial; 1 = guardar para sempre; 0 = nada.
- EX023 — Faixas de documentação. Por que o laboratório usa endereços no estilo 192.0.2.0/24? Rubrica: 3 = faixas de documentação da RFC; seguras para exemplos; não é a internet real do RCC; 2 = parcial; 1 = campus real; 0 = nada.
- EX024 — Mudança de escopo no meio do teste. A empresa encontra um servidor relacionado e quer acrescentá-lo. Qual é o processo correto? Rubrica: 3 = suspender; mudança de escopo por escrito do contato que autorizou; retomar se aprovado; 2 = parcial; 1 = só acrescentar; 0 = nada.
- EX025 — PTES e escopo. Onde o PTES coloca a definição do escopo entre suas etapas? Rubrica: 3 = no início / etapa de primeira classe antes do trabalho técnico; 2 = "cedo"; 1 = no fim; 0 = nada.
- EX026 — Resumo da prática segura. Diga a regra de uma linha que Maya escreve no bloco de notas. Rubrica: 3 = se não está claramente no escopo escrito, não teste; 2 = parcial; 1 = varrer tudo; 0 = nada.
Síntese
Escopo escrito, exclusões e condições de parada decidem cada ação; tudo o que não está claro está proibido.
Continue estudando — capítulo 02 de 04
← Capítulo 01 (rascunho) · Índice de capítulos do curso · Capítulo 03 (rascunho) →