Última atualização: 2026-10-10

A primeira hora após um incidente

Um guia sobre que funções do RoamSwitch usar, e por que ordem, na primeira hora depois de ele detetar uma ameaça grave e a conter.

1. Sobre esta página

Quando o RoamSwitch deteta uma ameaça grave, contém-na automaticamente, por exemplo isolando a rede (Air-Gap) ou congelando um processo. Esta página expõe, para cada ambiente, o que verificar, o que guardar e quando remover a contenção. Para os detalhes de cada ecrã e operação, consulte os respetivos manuais.

Esta página explica como usar as funções do RoamSwitch. Não aborda as comunicações da sua organização, a resposta jurídica nem o planeamento da recuperação.

2. A mesma ordem em qualquer ambiente

Uma contenção é acionada por um motivo. Antes de a remover à pressa, siga estes passos por ordem.

  1. Verificar. Veja numa linha cronológica o que foi detetado, quando e por que ordem.
  2. Guardar. Exporte os registos e as provas antes de remover o que quer que seja ou de reiniciar. As informações sobre o estado em execução podem perder-se depois.
  3. Decidir. Decida se foi uma operação que reconhece ou uma atividade realmente suspeita.
  4. Remover. Remova a contenção apenas depois de confirmar que é seguro.
  5. Vigiar. Depois de remover, continue a vigiar durante algum tempo para ver se a mesma deteção volta a aparecer.

Para investigar a partir dos registos, também pode usar o PersonalSOC e o AccessScope (secção 6).

Se foi isolado por falsificação de ARP, leia também a secção 8.

Se a causa for ransomware na edição de ambiente de trabalho do Linux, leia também a secção 9.

Enquanto um computador está isolado, não consegue abrir esta página. No Mac, a janela «Porque está isolado & como o remover…» mostra um código QR desta página; na edição de ambiente de trabalho do Linux, mostra-o a janela de confirmação para levantar o isolamento. Leia-o com um telemóvel que use a sua própria ligação para ler esta página. O código QR contém apenas o endereço público desta página.

3. Mac

  1. Abra o ícone 🛡️ da barra de menus e verifique se é apresentado «🔒 Isolado (total)» ou «🔒 Isolado (degradado)».
  2. Abra «ℹ️ Porque está isolado & como o remover…» e leia o motivo pelo qual foi acionado.
  3. Abra 🛡️ → Diagnóstico de segurança abrangente do Mac → «📈 Registo de atividade de segurança…». Restrinja o período e filtre por gravidade e categoria para ver, numa linha cronológica, o que foi detetado imediatamente antes. Ao clicar numa barra do gráfico, a lista fica limitada a esse intervalo de tempo.
  4. Com o Pro, pode exportar os resultados filtrados para CSV e guardá-los.
  5. Se ativou previamente «🧾 Registo de execução de processos…» (Pro), o histórico dos processos iniciados fica disponível para a investigação. Está desativado por predefinição.
  6. Quando a deteção de ransomware ou do XProtect aciona um isolamento, as provas são guardadas automaticamente mesmo antes. Contêm a lista de processos em execução, as ligações de rede e a lista de ficheiros modificados recentemente, com um SHA-256 por ficheiro. São guardadas em ~/Library/Application Support/RoamSwitch/incident-evidence/. A captura de pacotes não está disponível no Mac.
  7. Reflita se fez algo que o possa explicar, como iniciar uma aplicação suspeita.
  8. No mesmo menu, escolha «🔓 Remover isolamento Air-Gap» e, na caixa de diálogo de confirmação, «Libertar». A comunicação é restabelecida de imediato.

Se o incidente envolveu ransomware, abra 🛡️ → Proteção contra malware (XProtect & ClamAV) → «🗂 Recuperação de ransomware…» (Pro). A partir dos instantâneos locais APFS que o RoamSwitch cria periodicamente, pode extrair ficheiros para outro local (~/RoamSwitch-Recovered/<ID>/). Os seus ficheiros atuais não são substituídos. Para extrair é preciso o acesso total ao disco.

Se a comunicação não voltar
Só se a comunicação continuar bloqueada por engano, use 🛡️ → 🧰 Recuperação e desinstalação → «🆘 Recuperação de emergência da rede…». É o último recurso.

4. Versão de ambiente de trabalho para Linux

  1. Abra o ícone 🛡️ da bandeja do sistema. Se a rede foi isolada devido a uma ameaça grave, é apresentado «🚨 Remover Air-Gap & restaurar rede». Ainda não o prima.
  2. Na janela principal, abra «Notifications» para ver o histórico de notificações dos últimos 7 dias e confirmar o que foi comunicado.
  3. Em «Incident Timeline» (uma funcionalidade experimental), acompanhe numa linha cronológica o percurso desde a deteção, passando pela resposta, até à remoção.
  4. Em «Security Activity Log», combine período, categoria, gravidade e palavra-chave para filtrar e investigar o que aconteceu imediatamente antes. O conteúdo de Incident Timeline e de Notifications está reunido numa só vista.
  5. Reflita se fez algo que o possa explicar. Depois de confirmar que é seguro, prima «🚨 Remover Air-Gap & restaurar rede» na bandeja.
Se a comunicação não voltar, use «Recuperação de emergência da rede» no submenu de recuperação da bandeja. Os comandos da secção 5 também mostram as notificações, o estado do isolamento, os processos congelados e a linha do tempo.

5. Linux Server Edition

O Server Edition é operado pela linha de comandos. Os comandos descritos aqui também funcionam na edição de ambiente de trabalho do Linux (só sudo roamswitch server ack é específico do Server Edition). Um isolamento de alta confiança (adulteração do canário, reescrita em massa semelhante a ransomware, eBPF Critical / Emergency / Alert, etc.) passa, por predefinição, para o modo degradado (DEGRADED) após 3600 segundos (uma hora) se não tiver havido nem uma confirmação (ack) nem a verificação de que a causa desapareceu. No modo degradado, as novas ligações, exceto as portas SSH de manutenção e os caminhos de gestão dos IP permitidos, continuam bloqueadas e não se abrem por si com o passar do tempo.

5.1 Verificar as notificações

Se configurou o Telegram, o LINE ou um webhook, a notificação já lá chegou. Mesmo sem configuração, as notificações da última semana ficam guardadas localmente.

roamswitch notifications

5.2 Ver o estado do isolamento

Mostra o estado de isolamento atual do guarda de execução eBPF e o histórico dos incidentes detetados.

roamswitch server ebpf

5.3 Verificar os processos congelados

Lista os processos que o guarda congelou com SIGSTOP. Não os retome até ter guardado as provas.

roamswitch frozen list

5.4 Guardar as provas

Quando o guarda de execução eBPF contém um processo, é criado automaticamente um pacote de provas. Inclui cerca de 30 segundos de captura de pacotes e, se o PID for conhecido, um instantâneo de /proc/<pid> (sem o tshark instalado, só a captura de pacotes é omitida). É guardado em /var/lib/roamswitch/incident-evidence/<carimbo de data/hora>-<ID>/.

Quando todo o anfitrião é isolado, de momento o pacote não é criado automaticamente. Nesse caso, ou se quiser guardar o estado anterior à contenção, crie-o manualmente.

sudo roamswitch-incident-capture snapshot --pid <PID> --reason "first-response"

5.5 Exportar a linha cronológica e o registo de execução

Exporte a linha cronológica integrada de incidentes (experimental) em JSON Lines. O gravador de execução pode ser pesquisado por período ou por processo.

roamswitch timeline --export incident.jsonl
sudo roamswitch events search --since 2h

5.6 Decidir e remover

Retome com o comando seguinte um processo congelado por um falso positivo (resume all retoma todos).

roamswitch frozen resume <PID>

Para permitir de forma permanente o mesmo falso positivo, adicione-o à lista de permissões. Com --exe, a entrada fica associada ao caminho do executável, pelo que mudar o nome de um processo não a contorna.

sudo roamswitch server allowlist add <rule> <process> --exe <path>

Confirme o isolamento. Durante um isolamento FULL, a confirmação mantém o isolamento rigoroso (considera-se que o operador assumiu o controlo, o que pára a passagem ao modo degradado e qualquer remoção automática). No modo degradado, a confirmação significa remoção.

sudo roamswitch server ack

5.7 Se ficou impedido de aceder

Inicie sessão pela consola web de gestão do fornecedor de nuvem (VNC ou consola série) e remova o isolamento de emergência. Por predefinição, as portas SSH de manutenção e as sessões de gestão do IP de administração mantêm-se durante o isolamento.

sudo roamswitch emergency-restore

5.8 Arrumar depois

Os pacotes de provas não são eliminados automaticamente. Elimine com o comando seguinte os que excedam o período de retenção (30 dias por predefinição).

sudo roamswitch-incident-capture prune --keep-days 30

6. Investigar a partir dos registos (PersonalSOC e AccessScope)

O RoamSwitch inclui duas ferramentas separadas para ler registos: PersonalSOC e AccessScope. Ambas são só de leitura: não alteram definições nem bloqueiam tráfego. A análise não usa a rede e decorre inteiramente neste computador, por isso funciona também durante o isolamento.

6.1 PersonalSOC: reunir os registos e as deteções deste computador num relatório

Lê os registos de autenticação deste computador (sudo e sshd no Mac; auth.log, auditd, nginx, apache e outros no Linux) e as deteções por resolver do RoamSwitch, e reúne uma estimativa do risco, uma cronologia e os IOC (IP, domínios, URL, hashes) num único relatório.

sudo personalsoc scan --report

6.2 AccessScope: encontrar ataques nos registos de acesso

A partir dos registos de acesso do servidor web, do SSH e de outros, mostra tentativas de força bruta, web shells, cadeias de passos de ataque e inícios de sessão bem-sucedidos a partir de uma origem invulgar, cada um com os números de linha como prova e um nível de confiança (confirmado, provável, hipótese). Nunca declara por si só que houve um comprometimento.

sudo accessscope scan --auto --since 24h --report report.md
Executar com direitos de administrador (sudo)
Os registos de autenticação, o journald, o registo do fail2ban, os registos do servidor web e o registo do auditd não podem ser lidos sem direitos de administrador. Para investigar, execute os comandos acima com sudo. Sem sudo, os registos ilegíveis são comunicados como tal e o relatório indica que nenhum registo foi lido. Um resultado de «sem deteções» não é então uma prova de segurança. Nenhuma das duas ferramentas eleva por si própria os seus privilégios.

6.3 Em que passo usá-las

sudo accessscope scan --auto --since 24h --since-last --new-only

7. Depois

Depois de remover, continue a vigiar durante algum tempo a linha cronológica (no Mac, o registo de atividade de segurança) para ver se a mesma deteção volta a aparecer. Guarde os registos exportados e os pacotes de provas, sem os eliminar.

As medidas fora do RoamSwitch, como alterar palavras-passe ou chaves e contactar as partes envolvidas, ficam fora do âmbito desta página.

8. Quando é isolado por falsificação de ARP

Numa rede Wi-Fi pública ou semelhante, um atacante na mesma rede pode fazer-se passar pelo router e tentar ler o seu tráfego. É a falsificação de ARP. O RoamSwitch deteta-a, por exemplo, por uma alteração súbita do endereço MAC do gateway (o router). O Mac e a edição de ambiente de trabalho do Linux funcionam da mesma forma.

  1. Quando isola. Numa rede não registada (nível de proteção: bloqueio), isola automaticamente quando deteta uma anomalia relacionada com o gateway. Num local registado (casa, trabalho, etc.) não isola automaticamente. Mostra um aviso e só isola se escolher «Bloquear tudo agora».
  2. O que verificar antes de levantar. A janela de confirmação da aplicação dá conselhos semelhantes. Outro dispositivo da mesma rede está a falsificar o ARP? O endereço MAC do gateway coincide com o de confiança (a janela de confirmação no Linux mostra o valor atual e o de confiança)? Numa rede Wi-Fi pública, é mais seguro passar para outra ligação, como a partilha de internet, antes de levantar.
  3. Levantamento automático. Um temporizador sozinho não levanta o isolamento. Quando o endereço MAC do gateway coincide com o valor de confiança em 3 verificações seguidas, ao longo de pelo menos 60 segundos, o isolamento é levantado automaticamente e é notificado. Se não for possível confirmar durante 1 hora (por predefinição), passa a um estado muito restrito (degradado). Esse estado não se abre por tempo; levanta-o à mão.
  4. Levantar à mão. No Mac, use «Levantar o isolamento Air-Gap» no menu. Na edição de ambiente de trabalho do Linux, use «Levantar o Air-Gap e restaurar a rede» na bandeja, ou sudo roamswitch emergency-restore. Se a causa ainda existir quando levanta, o tráfego retoma e fica novamente exposto, por isso verifique primeiro.
  5. Depois de levantar. Observe durante algum tempo se a mesma deteção volta a aparecer. Se aparecer, deixe de usar essa rede e mude para outra ligação.

9. Quando é isolado por ransomware (edição de ambiente de trabalho do Linux)

Quando muitos ficheiros são reescritos em pouco tempo, o RoamSwitch considera que pode ser ransomware: congela o processo que está a reescrever (SIGSTOP) e corta a rede (Air-Gap). A janela de confirmação do Air-Gap abre-se e mostra o motivo, o processo e quantos ficheiros foram reescritos. Esta secção é para a edição de ambiente de trabalho do Linux. No Mac, leia a secção 3.

  1. Verifique. Na janela de confirmação e no histórico de notificações, veja que processo reescreveu que ficheiros. Também pode ver os processos congelados com roamswitch frozen list (5.3).
  2. Registe. Antes de levantar o isolamento ou reiniciar, guarde as provas e a cronologia como em 5.4 e 5.5.
  3. Decida. Se o processo congelado era uma operação que reconhece (uma cópia de segurança ou uma compressão, por exemplo), é um falso positivo. Retome-o com sudo roamswitch frozen resume <PID>. Se for um ataque real, não o retome: registe as provas e depois termine o processo.
  4. Recupere os ficheiros. Os ficheiros reescritos podem ser extraídos de um instantâneo. No ecrã, no separador «Recuperação de ransomware» da barra lateral (Linux 1.11.21 e posteriores), escolha o instantâneo anterior ao dano recomendado (★) e prima «Extrair ficheiros» ou «Extrair uma pasta». Por comando, execute sudo roamswitch-ransomware-rollback list e depois sudo roamswitch-ransomware-rollback restore-files <ID> <PATH>. O alvo é um subvolume btrfs ou um volume lógico LVM (uma pasta pessoal em ext4 não o pode usar). Por predefinição, é criado automaticamente um instantâneo anterior ao dano a cada 6 horas. Também é criado automaticamente um instantâneo no momento da deteção, mas contém os ficheiros cifrados, por isso não serve para voltar ao estado anterior à cifragem. Os seus ficheiros atuais não são substituídos. Os ficheiros restaurados ficam, por predefinição, em <alvo>/RoamSwitch-Recovered/<ID>/. O restore, que reverte tudo, substitui o estado atual, por isso é o último recurso (apenas por comando).
  5. Levante o isolamento. Um temporizador sozinho não o levanta. Só é levantado quando se confirma que a causa desapareceu, ou quando o levanta com «Levantar o Air-Gap e restaurar a rede» na bandeja ou com sudo roamswitch emergency-restore.
  6. Vigie. Depois de levantar, verifique se a mesma deteção volta a aparecer. Verifique o conteúdo dos ficheiros restaurados antes de os devolver ao local original.