La prima ora dopo un incidente
Una guida su quali funzioni di RoamSwitch usare, e in quale ordine, nella prima ora dopo che ha rilevato una minaccia grave e l'ha contenuta.
1. Informazioni su questa pagina
Quando RoamSwitch rileva una minaccia grave, la contiene automaticamente, ad esempio isolando la rete (Air-Gap) o congelando un processo. Questa pagina riassume, per ogni ambiente, cosa controllare, cosa conservare e quando rimuovere il contenimento. Per i dettagli di ogni schermata e operazione, consulti i singoli manuali.
Questa pagina spiega come usare le funzioni di RoamSwitch. Non tratta le comunicazioni della sua organizzazione, la risposta legale né la pianificazione del ripristino.
2. Lo stesso ordine in ogni ambiente
Un contenimento scatta per un motivo. Prima di rimuoverlo in fretta, proceda in quest'ordine.
- Controllare. Veda su una linea temporale cosa è stato rilevato, quando e in quale ordine.
- Conservare. Esporti i registri e le prove prima di rimuovere qualsiasi cosa o di riavviare. Le informazioni sullo stato in esecuzione possono andare perse dopo.
- Decidere. Stabilisca se si trattava di un'operazione che riconosce o di un'attività davvero sospetta.
- Rimuovere. Rimuova il contenimento solo dopo aver verificato che sia sicuro.
- Sorvegliare. Dopo la rimozione, continui a controllare per un po' se lo stesso rilevamento si ripresenta.
Per indagare dai log si possono usare anche PersonalSOC e AccessScope (sezione 6).
Se sei stato isolato per spoofing ARP, leggi anche la sezione 8.
Se la causa è un ransomware sull'edizione desktop per Linux, leggi anche la sezione 9.
Finché un computer è isolato, non può aprire questa pagina. Su Mac, la finestra «Motivo dell'isolamento e istruzioni per rimuoverlo…» mostra un codice QR di questa pagina; sull'edizione desktop di Linux lo mostra la finestra di conferma della rimozione. Inquadralo con un telefono che usa una connessione propria per leggere questa pagina. Il codice QR contiene solo l'indirizzo pubblico di questa pagina.
3. Mac
- Apra l'icona 🛡️ nella barra dei menu e verifichi se compare «🔒 In isolamento (completo)» oppure «🔒 In isolamento (degradato)».
- Apra «ℹ️ Motivo dell'isolamento e istruzioni per rimuoverlo…» e legga il motivo per cui è scattato.
- Apra 🛡️ → Diagnostica di sicurezza completa del Mac → «📈 Registro attività di sicurezza…». Restringa il periodo e filtri per gravità e categoria per vedere, su una linea temporale, cosa è stato rilevato poco prima. Facendo clic su una barra del grafico, l'elenco si limita a quella fascia oraria.
- Con Pro può esportare in CSV i risultati filtrati e conservarli.
- Se ha attivato in anticipo «🧾 Registrazione dell'esecuzione dei processi…» (Pro), la cronologia dei processi avviati è disponibile per l'indagine. È disattivata per impostazione predefinita.
- Quando il rilevamento di ransomware o di XProtect attiva un isolamento, le prove vengono salvate automaticamente subito prima. Contengono l'elenco dei processi in esecuzione, le connessioni di rete e l'elenco dei file modificati di recente, con un SHA-256 per file. Sono salvate in
~/Library/Application Support/RoamSwitch/incident-evidence/. L'acquisizione dei pacchetti non è disponibile su Mac. - Rifletta se ha fatto qualcosa che possa spiegarlo, ad esempio avviare un'app sospetta.
- Dallo stesso menu scelga «🔓 Rimuovi isolamento Air-Gap» e, nella finestra di conferma, «Rilascia». La comunicazione viene ripristinata subito.
Se l'incidente riguarda un ransomware, apri 🛡️ → Protezione dal malware (XProtect & ClamAV) → «🗂 Ripristino da ransomware…» (Pro). Dagli snapshot locali APFS che RoamSwitch crea periodicamente puoi estrarre i file in un altro posto (~/RoamSwitch-Recovered/<ID>/). I file attuali non vengono sovrascritti. Per estrarli serve l'accesso completo al disco.
4. Versione desktop per Linux
- Apra l'icona 🛡️ nell'area di notifica. Se la rete è stata isolata a causa di una minaccia grave, compare «🚨 Rimuovi Air-Gap e ripristina la rete». Per ora non lo prema.
- Nella finestra principale apra «Notifications» per vedere la cronologia delle notifiche degli ultimi 7 giorni e verificare cosa è stato segnalato.
- In «Incident Timeline» (funzione sperimentale) segua su una linea temporale il flusso dal rilevamento alla rimozione, passando per la risposta.
- In «Security Activity Log» combini periodo, categoria, gravità e parola chiave per filtrare e indagare su cosa è accaduto poco prima. I contenuti di Incident Timeline e di Notifications sono riuniti in un'unica vista.
- Rifletta se ha fatto qualcosa che possa spiegarlo. Dopo aver verificato che sia sicuro, prema «🚨 Rimuovi Air-Gap e ripristina la rete» nell'area di notifica.
5. Linux Server Edition
La Server Edition si gestisce da riga di comando. I comandi descritti qui funzionano anche nell'edizione desktop di Linux (solo sudo roamswitch server ack è specifico della Server Edition). Un isolamento ad alta affidabilità (manomissione del canary, riscrittura di massa tipo ransomware, eBPF Critical / Emergency / Alert, ecc.) passa per impostazione predefinita alla modalità degradata (DEGRADED) dopo 3600 secondi (un'ora) se non c'è stata né una conferma (ack) né la verifica che la causa sia scomparsa. In modalità degradata, le nuove connessioni, tranne le porte SSH di manutenzione e i percorsi di gestione degli IP consentiti, restano bloccate e non si riaprono da sole con il passare del tempo.
5.1 Controllare le notifiche
Se ha configurato Telegram, LINE o un webhook, la notifica è già arrivata lì. Anche senza configurazione, le notifiche dell'ultima settimana restano salvate in locale.
roamswitch notifications
5.2 Vedere lo stato dell'isolamento
Mostra lo stato di isolamento corrente della guardia di runtime eBPF e la cronologia degli incidenti rilevati.
roamswitch server ebpf
5.3 Controllare i processi congelati
Elenca i processi che la guardia ha congelato con SIGSTOP. Non li riprenda finché non ha conservato le prove.
roamswitch frozen list
5.4 Conservare le prove
Quando la guardia di runtime eBPF contiene un singolo processo, viene creato automaticamente un pacchetto di prove. Contiene circa 30 secondi di cattura dei pacchetti e, se il PID è noto, un'istantanea di /proc/<pid> (senza tshark viene omessa solo la cattura dei pacchetti). Viene salvato in /var/lib/roamswitch/incident-evidence/<timestamp>-<ID>/.
Quando viene isolato l'intero host, al momento il pacchetto non viene creato automaticamente. In quel caso, o se vuole conservare lo stato precedente al contenimento, lo crei manualmente.
sudo roamswitch-incident-capture snapshot --pid <PID> --reason "first-response"
5.5 Esportare la linea temporale e il registro di esecuzione
Esporti la linea temporale integrata degli incidenti (sperimentale) in formato JSON Lines. Il registratore di esecuzione può essere interrogato per periodo o per processo.
roamswitch timeline --export incident.jsonl
sudo roamswitch events search --since 2h
5.6 Decidere e rimuovere
Riprenda con il comando seguente un processo congelato per un falso positivo (resume all li riprende tutti).
roamswitch frozen resume <PID>
Per consentire in modo permanente lo stesso falso positivo, lo aggiunga alla lista di consentiti. Con --exe la voce è legata al percorso dell'eseguibile, quindi rinominare un processo non la aggira.
sudo roamswitch server allowlist add <rule> <process> --exe <path>
Confermi l'isolamento. Durante un isolamento FULL, la conferma mantiene l'isolamento rigoroso (l'operatore è considerato subentrato, il che ferma il passaggio alla modalità degradata e qualsiasi rimozione automatica). In modalità degradata, la conferma significa rimozione.
sudo roamswitch server ack
5.7 Se è rimasto escluso
Acceda dalla console web di gestione del provider cloud (VNC o console seriale) e rimuova l'isolamento di emergenza. Per impostazione predefinita, le porte SSH di manutenzione e le sessioni di gestione dell'IP di amministrazione restano attive durante l'isolamento.
sudo roamswitch emergency-restore
5.8 Mettere in ordine dopo
I pacchetti di prove non vengono eliminati automaticamente. Elimini con il comando seguente quelli che superano il periodo di conservazione (30 giorni per impostazione predefinita).
sudo roamswitch-incident-capture prune --keep-days 30
6. Indagare dai log (PersonalSOC e AccessScope)
RoamSwitch include due strumenti separati per leggere i log: PersonalSOC e AccessScope. Entrambi sono in sola lettura: non modificano impostazioni e non bloccano traffico. L'analisi non usa la rete e si svolge interamente su questo computer, quindi funziona anche durante l'isolamento.
6.1 PersonalSOC: riunire log e rilevamenti di questo computer in un rapporto
Legge i log di autenticazione di questo computer (sudo e sshd su Mac; auth.log, auditd, nginx, apache e altri su Linux) e i rilevamenti non risolti di RoamSwitch, e riunisce una stima del rischio, una timeline e gli IOC (IP, domini, URL, hash) in un unico rapporto.
sudo personalsoc scan --report
6.2 AccessScope: trovare attacchi nei log di accesso
Dai log di accesso del server web, di SSH e di altri, mostra tentativi di forza bruta, web shell, catene di passaggi d'attacco e accessi riusciti da una fonte insolita, ciascuno con i numeri di riga come prova e un livello di confidenza (confermato, probabile, ipotesi). Non dichiara mai da solo una compromissione.
sudo accessscope scan --auto --since 24h --report report.md
sudo. Senza sudo, i log non leggibili vengono segnalati come tali e il rapporto indica che nessun log è stato letto. Un «nessun rilevamento» non è allora una prova di sicurezza. Nessuno dei due strumenti alza da solo i propri privilegi.6.3 In quale passaggio usarli
- Confermare e decidere: con i due strumenti sopra, vedi con le prove cosa è successo prima e dopo il rilevamento. Se l'attacco continua e se può essere riuscito sono elementi per decidere se rimuovere l'isolamento.
- Sorvegliare: dopo la rimozione, esegui AccessScope ripetutamente con il comando seguente; mostra solo i risultati che non c'erano nell'esecuzione precedente.
sudo accessscope scan --auto --since 24h --since-last --new-only
7. Dopo
Dopo la rimozione, continui a controllare per un po' la linea temporale (su Mac, il registro attività di sicurezza) per vedere se lo stesso rilevamento si ripresenta. Conservi i registri esportati e i pacchetti di prove senza eliminarli.
Le misure esterne a RoamSwitch, come cambiare password o chiavi e contattare le parti interessate, esulano dallo scopo di questa pagina.
8. Quando vieni isolato per spoofing ARP
In una rete Wi-Fi pubblica o simile, un aggressore sulla stessa rete può fingersi il router e cercare di leggere il tuo traffico. È lo spoofing ARP. RoamSwitch lo rileva, ad esempio, da un cambio improvviso dell'indirizzo MAC del gateway (il router). Il Mac e l'edizione desktop per Linux funzionano allo stesso modo.
- Quando isola. In una rete non registrata (livello di protezione: lockdown) isola automaticamente quando rileva un'anomalia riguardante il gateway. In un luogo registrato (casa, lavoro, ecc.) non isola automaticamente. Mostra un avviso e isola solo se scegli «Blocca tutto ora».
- Cosa controllare prima della rimozione. Anche la finestra di conferma dell'app dà indicazioni simili. Un altro dispositivo della stessa rete sta falsificando l'ARP? L'indirizzo MAC del gateway corrisponde a quello attendibile (la finestra di conferma su Linux mostra il valore attuale e quello attendibile)? In una rete Wi-Fi pubblica è più sicuro passare a un'altra connessione, come il tethering, prima di rimuovere l'isolamento.
- Rimozione automatica. Un timer da solo non rimuove l'isolamento. Quando l'indirizzo MAC del gateway corrisponde al valore attendibile in 3 controlli consecutivi, distribuiti su almeno 60 secondi, l'isolamento viene rimosso automaticamente e ricevi una notifica. Se non si riesce a confermarlo per 1 ora (predefinito), passa a uno stato fortemente limitato (degradato). Questo stato non si apre con il tempo; lo rimuovi a mano.
- Rimozione manuale. Su Mac usa «Rimuovi l'isolamento Air-Gap» nel menu. Sull'edizione desktop per Linux usa «Rimuovi Air-Gap e ripristina la rete» nel vassoio, oppure
sudo roamswitch emergency-restore. Se la causa è ancora presente quando rimuovi l'isolamento, il traffico riprende e ne sei di nuovo esposto: controlla prima. - Dopo la rimozione. Osserva per un po' se la stessa rilevazione ricompare. In tal caso, smetti di usare quella rete e passa a un'altra connessione.
9. Quando vieni isolato per ransomware (edizione desktop per Linux)
Quando molti file vengono riscritti in poco tempo, RoamSwitch lo considera un possibile ransomware: congela il processo che riscrive (SIGSTOP) e interrompe la rete (Air-Gap). Si apre la finestra di conferma dell'Air-Gap, che mostra il motivo, il processo e quanti file sono stati riscritti. Questa sezione riguarda l'edizione desktop per Linux. Su Mac, leggi la sezione 3.
- Controlla. Nella finestra di conferma e nella cronologia delle notifiche, vedi quale processo ha riscritto quali file. I processi congelati si vedono anche con
roamswitch frozen list(5.3). - Registra. Prima di rimuovere l'isolamento o riavviare, salva le prove e la cronologia come in 5.4 e 5.5.
- Decidi. Se il processo congelato era un'operazione che riconosci (un backup o una compressione, ad esempio), è un falso positivo. Riprendilo con
sudo roamswitch frozen resume <PID>. Se è un attacco reale, non riprenderlo: registra le prove e poi termina il processo. - Recupera i file. I file riscritti si possono estrarre da uno snapshot. Sullo schermo, nella scheda «Ripristino da ransomware» della barra laterale (Linux 1.11.21 e successivi), scegli lo snapshot precedente al danno consigliato (★) e premi «Estrai i file» o «Estrai una cartella». Da comando, esegui
sudo roamswitch-ransomware-rollback liste poisudo roamswitch-ransomware-rollback restore-files <ID> <PATH>. L'obiettivo è un sottovolume btrfs o un volume logico LVM (una home su ext4 non può usarlo). Uno snapshot precedente al danno viene creato automaticamente ogni 6 ore per impostazione predefinita. Viene creato automaticamente anche uno snapshot al momento del rilevamento, ma contiene i file cifrati, quindi non serve per tornare a prima della cifratura. I file attuali non vengono sovrascritti. I file ripristinati vanno per impostazione predefinita in<destinazione>/RoamSwitch-Recovered/<ID>/.restore, che riporta tutto indietro, sovrascrive lo stato attuale ed è l'ultima risorsa (solo da comando). - Rimuovi l'isolamento. Un timer da solo non lo rimuove. Viene rimosso solo quando è confermato che la causa è scomparsa, oppure quando lo rimuovi con «Rimuovi Air-Gap e ripristina la rete» nel vassoio o con
sudo roamswitch emergency-restore. - Osserva. Dopo la rimozione, controlla se la stessa rilevazione ricompare. Controlla il contenuto dei file ripristinati prima di rimetterli al loro posto originale.