Sophos Switch: interrogare i dati di dispositivi e client con Live Discover
Con Live Discover è possibile interrogare la telemetria degli Sophos Switch gestiti in Sophos Fusion. I dati del Data Lake consentono, ad esempio, di esaminare i dispositivi che erano connessi a uno switch specifico. Non rappresentano tuttavia una vista in tempo reale dello stato attuale dello switch.
Prerequisiti
È necessario disporre di almeno uno Sophos Switch gestito in Sophos Fusion, accedere al tenant corretto e poter aprire Threat Analysis Center > Live Discover. Live Discover richiede una licenza Sophos EDR, XDR o MDR. La documentazione non indica inoltre né un pacchetto di licenze Switch specifico né un determinato ruolo di amministratore. Se manca Live Discover, Switch o una funzione di modifica, far verificare l’assegnazione delle licenze, i propri diritti di accesso e l’abilitazione nel tenant interessato.
Definire in anticipo l’obiettivo dell’analisi. Punti di riferimento adatti sono, ad esempio, l’ID dello switch, il nome del dispositivo, il numero di serie, l’indirizzo MAC del client, la porta, la VLAN e l’intervallo di tempo. Designer Mode è necessario solo per modificare o creare una query.
Interrogare i dati dello switch
Iniziare con una query sullo switch predefinita. In questo modo si ottiene prima un risultato di confronto e si passa al designer solo se la query esistente non risponde alla domanda.
- In Sophos Fusion, aprire Threat Analysis Center > Live Discover > Switch.
- Selezionare una query Data Lake predefinita per Sophos Switch. Verificarne lo scopo, la definizione visibile e i parametri richiesti.
- Se disponibile, impostare il periodo dell’analisi in Select a Time Period, quindi eseguire la query.
- Interpretare i risultati in base all’identità dello switch, a
type_of_datae ai campi temporali. Confrontare uno switch noto o un client di test con i dati nella gestione degli switch. - Se la query predefinita è sufficiente, documentare query, parametri, intervallo temporale e risultato. In caso contrario, attivare Designer Mode e scegliere una delle seguenti opzioni:
- Adattare una query esistente: selezionare la query in Query e fare clic su Edit. Salvare la definizione originale prima di modificarla.
- Creare una nuova query: in Query, fare clic su Create new query e selezionare Data Lake come Source.
- Nella finestra di dialogo SQL, aprire Schema in alto a destra. Lo Schema Viewer viene aperto in una nuova scheda. Selezionare NSG Cswitch > nsg_cswitch_data e verificare le colonne e i tipi di dati disponibili.
- Utilizzare solo tabelle, campi e valori mostrati dallo Schema Viewer attuale o dalla query predefinita. Modificare ogni volta una sola parte coerente, ad esempio la selezione dei campi o il filtro per uno switch noto.
- Eseguire inizialmente la query adattata con uno switch o un client noto e ben circoscritto. Confrontare il risultato con la query predefinita invariata e con i dati noti di inventario o connessione.
Per cercare i client di uno switch specifico, identificare in modo univoco il dispositivo di destinazione mediante device_id o il numero di serie. Valutare quindi insieme l’indirizzo MAC del client, device_port, client_vlan, lo stato della connessione e i campi temporali. Questa limitazione evita confusioni, ma non dimostra ancora che l’elenco dei client sia completo; devono essere coerenti anche l’intervallo e is_full_set.
Scegliere l’intervallo temporale
Select a Time Period è facoltativo per le query Data Lake. Se non si effettua una selezione, vengono usati gli ultimi 7 giorni. Una singola query può coprire al massimo 30 giorni.
Per analisi più lunghe, eseguire più query con intervalli temporali separati. Per 90 giorni, Sophos indica ad esempio 0–30, 31–60 e 61–90 giorni. Documentare ogni intervallo separatamente e mantenere invariati lo switch, il tipo di dati e gli altri filtri durante il confronto.
Campi nello schema dello switch
Lo schema comprende l’identità dello switch, i client connessi e i log. type_of_data indica il tipo di dati inviati, ad esempio dati del client o di log. Non tutte le righe contengono quindi contemporaneamente tutti i campi dei client e dei log.
| Campo | Significato documentato |
|---|---|
message_identifier | ID univoco generato dalla pipeline di acquisizione |
ingest_date | Data in cui i dati sono stati acquisiti |
ingestion_timestamp | Ora di acquisizione in secondi epoch |
schema_version | Versione dello schema del Data Lake |
record_size | Dimensione dei dati |
customer_id | ID cliente |
type_of_data | Tipo di dati inviati nel flusso, ad esempio dati del client o di log |
is_full_set | Indica se la trasmissione è completa o incrementale |
timestamp | Ora in cui è stato generato l’evento |
device_id | ID univoco dello switch |
device_name | Nome dello switch |
device_model | Modello dello switch |
device_firmware | Versione firmware dello switch |
device_serial_id | Numero di serie dello switch |
client_mac | Indirizzo MAC del dispositivo connesso |
client_ip | Indirizzo IP del dispositivo connesso |
client_hostname | Nome host del dispositivo connesso |
client_event_timestamp | Ora in cui il dispositivo si è connesso |
client_conn_status | Stato della connessione del dispositivo |
log_id | ID del log |
log_subtype | Sottotipo del log |
log_component | Componente del log |
log_message | Messaggio di log |
log_severity | Gravità del messaggio di log |
device_ip | Indirizzo IP dello switch |
device_port | Porta dello switch a cui è connesso il client |
client_vlan | VLAN assegnata al dispositivo connesso |
direct_end_device | Indica se il dispositivo è connesso direttamente allo switch |
I valori di stato, sottotipo e gravità possono variare in base ai dati visualizzati. Riprenderne la grafia e il significato esatti dallo schema attuale e dal risultato della query.
Interpretare correttamente i risultati
Una riga non elaborata del Data Lake è innanzitutto il risultato di una query. type_of_data e i campi compilati indicano se contiene dati del client o di log. Se la query SQL raggruppa più record, la riga del risultato è un riepilogo calcolato e non un singolo evento di rete. Non applicare quindi il significato di timestamp a un aggregato senza verificarlo.
Identità e tenant
device_id è l’ID univoco dello switch. Confrontare con il dispositivo di destinazione almeno un ulteriore riferimento, come device_serial_id, device_name, device_model o device_ip. Nomi e indirizzi IP possono cambiare o essere riutilizzati. customer_id associa i dati al tenant e non è né l’ID dello switch né un numero di serie né l’ID del client.
Ora dell’evento e dell’acquisizione
timestampindica l’ora in cui è stato generato l’evento.client_event_timestampindica l’ora in cui il dispositivo si è connesso.ingestion_timestampindica l’ora di acquisizione in secondi epoch.ingest_dateè la data di acquisizione.
Un’acquisizione successiva non corrisponde automaticamente a un evento di rete successivo. Per le serie temporali, verificare anche la conversione epoch e il fuso orario dell’ambiente di query utilizzato.
Dati completi e incrementali
is_full_set indica se una trasmissione è completa o incrementale. Non considerare un set di dati incrementale come un inventario completo dei client. Anche una trasmissione contrassegnata come completa non garantisce da sola che ogni client previsto compaia nel periodo esaminato.
Client e log
device_port e client_vlan associano un client a una porta e a una VLAN. Solo il valore di direct_end_device, e non la semplice presenza del campo, indica se è connesso direttamente. L’indirizzo IP e il nome host possono mancare o cambiare; per l’attribuzione usare anche client_mac e i campi temporali. Un record di telemetria è inoltre solo un’osservazione riferita a un momento preciso, non una prova dello stato attuale o di una cronologia delle connessioni senza interruzioni.
Per i dati di log, log_id, log_subtype, log_component, log_message e log_severity forniscono il contesto. La sola gravità non dimostra né la causa né l’impatto di un problema di rete.
Verificare il risultato
Prima di usare il risultato, rispondere alle seguenti domande:
customer_ide l’identità dello switch appartengono al tenant e al dispositivo di destinazione corretti?type_of_datae i campi del client o di log effettivamente compilati corrispondono alla domanda dell’analisi?- Le ore dell’evento, del client e dell’acquisizione rientrano nell’intervallo previsto e sono state interpretate separatamente?
- È stato considerato
is_full_setse si formula un’affermazione sulla completezza? - Per un client di test noto, l’indirizzo MAC, la porta, la VLAN e il valore di
direct_end_devicecorrispondono alla connessione prevista? - La query predefinita fornisce un risultato di confronto plausibile per la stessa destinazione e lo stesso intervallo?
Un record mancante è solo una prova mancante nelle condizioni selezionate. Non dimostra né che lo switch o il client non esista né, da solo, un errore di telemetria.
Circoscrivere i problemi
Mancano le query dello switch o le funzioni di modifica
Se manca l’area Switch, verificare innanzitutto il tenant Fusion corretto, la presenza di uno switch gestito da Fusion e l’assegnazione della licenza Sophos EDR, XDR o MDR. Far quindi controllare i propri diritti di accesso e l’abilitazione nel tenant. Per Edit e Create new query deve inoltre essere attivo Designer Mode.
Manca lo schema o la tabella
Lo Schema Viewer può essere aperto dalla finestra SQL di una query modificata o nuova. Per una nuova query deve essere selezionato Source: Data Lake. Per la telemetria dello switch, utilizzare esclusivamente il percorso NSG Cswitch > nsg_cswitch_data visualizzato nel viewer e i relativi campi attuali.
La query non restituisce righe
Provare innanzitutto una query predefinita per uno switch noto. Annotare tenant, filtro dello switch, record di test previsto e intervallo temporale. Rimuovere quindi uno alla volta i filtri personalizzati e confrontare i nomi dei campi con lo schema.
Senza una selezione temporale personalizzata, tenere conto del valore predefinito di 7 giorni. Con tutte le altre condizioni invariate, ampliare gradualmente l’intervallo fino a un massimo di 30 giorni. Per analisi più lunghe, utilizzare intervalli separati e documentati. Confrontare inoltre l’ora dell’evento e quella di acquisizione e verificare type_of_data e is_full_set. Registrare il risultato come «nessuna riga nelle condizioni di query e nel periodo selezionati».
È inoltre possibile verificare lo stato operativo e di sincronizzazione del dispositivo di destinazione con il runbook Gestire una flotta di Sophos Switch.
Sono presenti righe, ma mancano i dati del client
Una riga di log non deve necessariamente contenere campi del client. Verificare quindi prima type_of_data e is_full_set, poi valutare insieme client_mac, client_ip, client_hostname, client_event_timestamp e client_conn_status. Non completare i valori mancanti usando l’inventario o le convenzioni di denominazione.
La serie temporale sembra incoerente
Confrontare separatamente l’ora dell’evento e quella di acquisizione e controllare la conversione epoch e il fuso orario. Un’acquisizione ritardata non è automaticamente un secondo evento di rete. Per la deduplicazione è possibile usare message_identifier, ma la sua unicità è documentata solo all’interno della pipeline di acquisizione.
Annullare le modifiche e proteggere i dati
Una query modifica la propria definizione o selezione SQL, non la configurazione dello switch. Se una query adattata non è affidabile, non utilizzarla ulteriormente e tornare alla query predefinita invariata. Se necessario, ripristinare la definizione salvata in precedenza o eliminare la nuova variante con la funzione disponibile nell’interfaccia. Verificare poi con la query predefinita che il normale processo continui a funzionare.
I risultati esportati possono contenere ID cliente, numeri di serie, indirizzi IP e MAC, nomi host, porte, VLAN e messaggi di log. Proteggere ed eliminare esportazioni, schermate e note in base ai requisiti di conservazione e protezione dei dati. L’annullamento di una query non rimuove le copie già salvate, che devono essere gestite nelle rispettive posizioni di archiviazione.