Duração: 80 minutos (explicação 20, prática guiada 50, verificação 10). Resultados dos TdR trabalhados: Segurança desde a concepção; Identificar vulnerabilidades e aplicar mitigação; Políticas, normas e boas práticas.
Objectivos
- Aplicar uma lista de verificação de reforço a um encaminhador Linux de prática.
- Identificar serviços expostos desnecessários e fechá-los.
- Registar as alterações com antes/depois e forma de reverter.
Reforço da configuração
Reforçar é reduzir o que pode falhar ou ser explorado: remover serviços que não se usam, fechar portas, trocar credenciais por omissão, desactivar protocolos inseguros (Telnet, HTTP de gestão, SNMP v1/v2c com comunidades conhecidas), actualizar, sincronizar a hora e enviar registos para um servidor central.
Faz-se com uma lista escrita, aprovada e versionada (por exemplo, a partir do Manual de Segurança Debian ou das guias do fabricante), aplicada igual em todos os equipamentos do mesmo tipo e verificada depois. Cada alteração tem uma forma de reverter.
Caso fictício
Uma auditoria interna fictícia da DPE encontrou no r1 um serviço de gestão em texto claro e o encaminhamento IPv6 activo sem uso. Pede-se correcção documentada.
Prática guiada em rede isolada
Rede de prática fictícia, criada dentro de um computador de prática com o script base (módulo 1, lição 1). Nunca use estes passos na rede de produção nem contra endereços reais. As saídas mostradas são exemplos didácticos, não resultados de uma execução.
Topologia (descrição em texto)
- pc-adm (10.10.10.10) — ligado a r1 pela VLAN 10.
- srv (10.10.20.53) — ligado a r1 pela VLAN 20.
- r1 (encaminhador da sede) — ligado a pc-adm, srv, r2 e isp.
- r2 (encaminhador da delegação) — ligado a r1 e a pc-del (10.20.10.10).
- isp (operador simulado) — ligado a r1 e ao servidor externo 198.51.100.10 (endereço dentro de isp).
Passos
Prepare a situação encontrada pela auditoria (IPv6 a encaminhar sem uso).
sudo ip netns exec r1 sysctl -qw net.ipv6.conf.all.forwarding=1Consola C: simule um serviço de gestão inseguro no r1 (servidor HTTP de teste na porta 8080).
sudo ip netns exec r1 python3 -m http.server 8080 --bind 0.0.0.0Consola B: inventário ANTES — portas à escuta e parâmetros.
sudo ip netns exec r1 ss -lntup sudo ip netns exec r1 sysctl net.ipv6.conf.all.forwarding net.ipv4.conf.all.accept_redirects net.ipv4.conf.all.send_redirectsSaída de exemplo (didáctica):
tcp LISTEN 0 5 0.0.0.0:8080 0.0.0.0:* users:(("python3",pid=4121,fd=3)) net.ipv6.conf.all.forwarding = 1 net.ipv4.conf.all.accept_redirects = 1 net.ipv4.conf.all.send_redirects = 1Aplique o reforço: pare o serviço (Ctrl+C na consola C) e ajuste parâmetros.
sudo ip netns exec r1 sysctl -qw net.ipv6.conf.all.forwarding=0 sudo ip netns exec r1 sysctl -qw net.ipv4.conf.all.accept_redirects=0 sudo ip netns exec r1 sysctl -qw net.ipv4.conf.all.send_redirects=0Verifique DEPOIS e confirme que o encaminhamento IPv4 continua.
sudo ip netns exec r1 ss -lntup sudo ip netns exec pc-adm ping -c 1 10.10.20.53Saída de exemplo (didáctica):
(sem serviços à escuta) 1 packets transmitted, 1 received
Critérios de sucesso
- A folha de alterações tem, para cada item: antes, depois, motivo, forma de reverter.
- O IPv4 continua a funcionar.
Como desfazer (reversão)
- Repor os valores anotados no inventário ANTES (nesta prática: accept_redirects=1 e send_redirects=1; o IPv6 fica desligado, que é o valor inicial do espaço de nomes)
- sudo ip netns exec r1 sysctl -qw net.ipv4.conf.all.accept_redirects=1
- sudo ip netns exec r1 sysctl -qw net.ipv4.conf.all.send_redirects=1
Alternativa em papel: tarefas e respostas esperadas
- Preencha uma lista de reforço com 8 itens para um encaminhador (sem comandos, só verificação).
- Por exemplo: credenciais por omissão trocadas; gestão só por SSH e só da VLAN 99; Telnet/HTTP de gestão desligados; SNMPv3 ou SNMP desligado; hora sincronizada; registos centralizados; firmware/pacotes actualizados; cópia de configuração versionada; serviços não usados desligados.
- Porque se desactivam redireccionamentos ICMP num encaminhador de fronteira?
- Um redireccionamento aceite pode alterar rotas a pedido de terceiros; num ambiente com rotas definidas não são necessários.
Verifique o que aprendeu
Questão 1
Qual destas práticas NÃO faz parte de um reforço?
- Desligar serviços não usados
- Manter a palavra-passe de fábrica para facilitar suporte
- Registar alterações
- Actualizar o software
Ver resposta comentada
Resposta: Manter a palavra-passe de fábrica para facilitar suporte
Credenciais por omissão são públicas nos manuais; trocá-las é dos primeiros passos.
Questão 2
Porque se verifica o serviço principal depois de reforçar?
- Por formalidade
- Porque uma alteração pode quebrar uma função necessária
- Para aumentar os registos
- Não é necessário
Ver resposta comentada
Resposta: Porque uma alteração pode quebrar uma função necessária
Reforço sem verificação pode criar uma avaria; o antes/depois inclui o que deve continuar a funcionar.
Em leitura fácil
- Desligue o que não usa.
- Troque as palavras-passe de fábrica.
- Anote o que mudou e como desfazer.
Fontes
- Debian 12 «bookworm» — Manual de Segurança e pacotes oficiais (https://www.debian.org/doc/manuals/securing-debian-manual/)
- NIST SP 800-40 Rev. 4 — Enterprise Patch Management Planning (https://csrc.nist.gov/pubs/sp/800/40/r4/final)
- Linux iproute2 — páginas de manual ip(8), ip-netns(8), bridge(8), tc(8) (https://man7.org/linux/man-pages/man8/ip.8.html)
