Raccogli i log di Microsoft System Center Endpoint Protection (SCEP)
Questo documento descrive come raccogliere i log di Microsoft System Center Endpoint Protection (SCEP) configurando un feed Google Security Operations utilizzando Microsoft Azure Blob Storage V2.
Microsoft System Center Endpoint Protection (SCEP) è una soluzione antimalware e antivirus aziendale integrata con System Center Configuration Manager (SCCM). SCEP offre protezione in tempo reale da malware, virus, spyware e altri software dannosi per gli endpoint basati su Windows. SCEP scrive gli eventi di sicurezza nel canale Microsoft-Windows-Windows Defender/Operational del log eventi di Windows, che può essere raccolto utilizzando l'agente Azure Monitor ed esportato in Azure Blob Storage.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Un'istanza Google SecOps
- Accesso con privilegi al portale Microsoft Azure con autorizzazioni per:
- Crea account di archiviazione
- Creare e gestire spazi di lavoro di Analisi dei log
- Creare e gestire le regole di raccolta dei dati
- Configura le regole di esportazione dei dati
- Gestire le chiavi di accesso
- Windows Server 2012 R2 o versioni successive con SCEP installato oppure Windows Server 2016 o versioni successive con Windows Defender Antivirus
- Agente Azure Monitor installato sul server Windows (richiede Azure Arc per i server on-premise o il supporto nativo per le VM Azure)
Accesso amministratore sul server Windows in cui è stato eseguito il deployment di SCEP
Configura l'account di archiviazione di Azure
Crea un account di archiviazione
- Nel portale Azure, cerca Account di archiviazione.
- Fai clic su + Crea.
Fornisci i seguenti dettagli di configurazione:
Impostazione Valore Abbonamento Seleziona il tuo abbonamento Azure Gruppo di risorse Seleziona esistente o crea nuovo Nome account di archiviazione Inserisci un nome univoco (ad esempio, sceplogssa).Regione Seleziona la regione (ad esempio, East US)Prestazioni Standard (consigliato) Ridondanza GRS (archiviazione con ridondanza geografica) o LRS (archiviazione con ridondanza locale) Fai clic su Review + create (Rivedi e crea).
Controlla la panoramica dell'account e fai clic su Crea.
Attendi il completamento del deployment.
Recuperare le credenziali dell'account di archiviazione
- Vai all'account di archiviazione che hai appena creato.
- Nel riquadro di navigazione a sinistra, seleziona Chiavi di accesso in Sicurezza e networking.
- Fai clic su Mostra chiavi.
- Copia e salva quanto segue per un utilizzo successivo:
- Nome account di archiviazione: il nome che hai creato (ad esempio,
sceplogssa) - Chiave 1 o Chiave 2: la chiave di accesso condivisa (una stringa casuale di 512 bit con codifica Base64)
- Nome account di archiviazione: il nome che hai creato (ad esempio,
Ottieni l'endpoint del servizio Blob
- Nello stesso account di archiviazione, seleziona Endpoint nel menu di navigazione a sinistra.
- Copia e salva l'URL dell'endpoint Blob service.
- Esempio:
https://sceplogssa.blob.core.windows.net/
- Esempio:
Crea uno spazio di lavoro Log Analytics
- Nel portale Azure, cerca aree di lavoro Analisi dei log.
- Fai clic su + Crea.
Fornisci i seguenti dettagli di configurazione:
Impostazione Valore Abbonamento Seleziona il tuo abbonamento Azure Gruppo di risorse Seleziona lo stesso gruppo di risorse dell'account di archiviazione Nome Inserisci un nome univoco (ad esempio, scep-logs-workspace).Regione Seleziona la stessa regione dell'account di archiviazione Fai clic su Rivedi e crea.
Fai clic su Crea.
Attendi il completamento del deployment.
Installa l'agente Azure Monitor sul server Windows
Per i server on-premise che eseguono SCEP, devi prima eseguire l'onboarding del server in Azure Arc e poi installare l'agente Azure Monitor.
Eseguire l'onboarding in Azure Arc (solo server on-premise)
- Nel portale Azure, cerca Azure Arc.
- Seleziona Server in Infrastruttura.
- Fai clic su + Aggiungi.
- Seleziona Aggiungi un singolo server e fai clic su Genera script.
- Fornisci i seguenti dettagli di configurazione:
- Abbonamento: seleziona il tuo abbonamento Azure
- Gruppo di risorse: seleziona il gruppo di risorse
- Regione: seleziona la stessa regione dell'account di archiviazione.
- Sistema operativo: seleziona Windows.
- Fai clic su Scarica ed esegui script.
- Sul server Windows che esegue SCEP, apri PowerShell come amministratore.
Esegui lo script scaricato per completare l'onboarding di Azure Arc.
Installa l'agente Azure Monitor
- Nel portale Azure, vai a Azure Arc > Server (o Macchine virtuali per le VM Azure).
- Seleziona il server che esegue SCEP.
- Nel menu di navigazione a sinistra, seleziona Estensioni in Impostazioni.
- Fai clic su + Aggiungi.
- Cerca e seleziona Azure Monitor Agent.
- Fai clic su Avanti e poi su Rivedi e crea.
- Fai clic su Crea.
- Attendi il completamento dell'installazione dell'estensione.
Creare una regola di raccolta dati per gli eventi SCEP
- Nel portale Azure, cerca Monitoraggio.
- Seleziona Regole di raccolta dei dati in Impostazioni.
- Fai clic su + Crea.
- Nella scheda Informazioni di base, fornisci i seguenti dettagli di configurazione:
- Nome regola: inserisci un nome descrittivo (ad esempio,
dcr-scep-events) - Abbonamento: seleziona il tuo abbonamento Azure
- Gruppo di risorse: seleziona il gruppo di risorse
- Regione: seleziona la stessa regione dello spazio di lavoro Analisi dei log
- Tipo di piattaforma: seleziona Windows
- Nome regola: inserisci un nome descrittivo (ad esempio,
- Fai clic su Avanti: risorse.
- Nella scheda Risorse:
- Fai clic su + Aggiungi risorse.
- Espandi il gruppo di risorse e seleziona il server che esegue SCEP (server Azure Arc o VM Azure).
- Fai clic su Applica.
- Fai clic su Avanti: raccolta e consegna.
Nella scheda Ritiro e consegna:
- Fai clic su + Aggiungi origine dati.
- Nel menu a discesa Tipo di origine dati, seleziona Log eventi di Windows.
- Seleziona Personalizzato per inserire query XPath.
Fai clic su + Aggiungi query XPath e inserisci la seguente query XPath per raccogliere tutti gli eventi SCEP e Windows Defender:
Microsoft-Windows-Windows Defender/Operational!*[System[(Level=1 or Level=2 or Level=3 or Level=4 or Level=5)]]Questa query XPath raccoglie tutti gli eventi (critici, di errore, di avviso, informativi e dettagliati) dal canale operativo di Windows Defender. Per raccogliere solo ID evento specifici (ad esempio, rilevamenti di malware), utilizza una query più mirata come:
Microsoft-Windows-Windows Defender/Operational!*[System[(EventID=1006 or EventID=1007 or EventID=1116 or EventID=1117 or EventID=2000 or EventID=2001 or EventID=5007)]]Nella scheda Destinazione, fai clic su + Aggiungi destinazione.
Seleziona Log di Azure Monitor come Tipo di destinazione.
Seleziona lo spazio di lavoro Analisi dei log creato in precedenza (ad esempio
scep-logs-workspace).
Fai clic su Aggiungi origine dati.
Fai clic su Review + create (Rivedi e crea).
Fai clic su Crea.
ID evento chiave raccolti
La regola di raccolta dati raccoglie gli eventi dal canale Microsoft-Windows-Windows Defender/Operational, che include i seguenti ID evento SCEP chiave:
| ID evento | Descrizione |
|---|---|
| 1006 | Malware rilevato dal motore antimalware |
| 1007 | Azione antimalware intrapresa sul malware rilevato |
| 1116 | La protezione in tempo reale ha rilevato malware o software potenzialmente indesiderato |
| 1117 | La protezione in tempo reale ha agito contro il malware |
| 2000 | Aggiornamento delle firme antimalware avviato |
| 2001 | Aggiornamento della firma antimalware completato |
| 5007 | Configurazione della piattaforma antimalware modificata |
Configura l'esportazione dei dati dall'area di lavoro Analisi dei log ad Azure Blob Storage
Registra il provider di risorse Microsoft.Insights
- Nel portale Azure, vai ad Abbonamenti.
- Seleziona l'abbonamento.
- Nel menu di navigazione a sinistra, seleziona Fornitori di risorse in Impostazioni.
- Cerca Microsoft.Insights.
- Se lo stato non è Registrato, selezionalo e fai clic su Registra.
Creare una regola di esportazione dei dati
- Nel portale di Azure, vai all'area di lavoro Analisi dei log (ad esempio,
scep-logs-workspace). - Nel menu di navigazione a sinistra, seleziona Esportazione dei dati nella sezione Impostazioni.
- Fai clic su + Nuova regola di esportazione.
- Nella scheda Nozioni di base:
- Nome regola di esportazione dei dati: inserisci un nome descrittivo (ad esempio,
export-scep-to-blob).
- Nome regola di esportazione dei dati: inserisci un nome descrittivo (ad esempio,
- Fai clic su Avanti: origine.
Nella scheda Origine, seleziona la tabella Evento.
Fai clic su Avanti: destinazione.
Nella scheda Destinazione:
- Tipo di destinazione: seleziona Account di archiviazione.
- Abbonamento: seleziona l'abbonamento contenente l'account di archiviazione.
- Account di archiviazione: seleziona l'account di archiviazione che hai creato in precedenza (ad esempio,
sceplogssa).
Fai clic su Avanti: rivedi e crea.
Fai clic su Crea.
Dopo la configurazione, gli eventi vengono esportati automaticamente nell'account di archiviazione. Nell'account di archiviazione viene creato un container denominato
am-Event. I blob vengono archiviati in cartelle di 5 minuti utilizzando la seguente struttura del percorso:am-Event/ └── WorkspaceResourceId=/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/microsoft.operationalinsights/workspaces/{workspace}/ └── y={year}/m={month}/d={day}/h={hour}/m={minute}/ └── PT05M.json
Verificare l'esportazione dei dati
- Nel portale Azure, vai all'account di archiviazione (ad esempio,
sceplogssa). - Nel riquadro di navigazione a sinistra, seleziona Container nella sezione Archiviazione dati.
- Verifica che il container
am-Eventesista. - Vai al contenitore e verifica che nella struttura delle cartelle vengano creati file JSON con i dati degli eventi.
Configurare un feed in Google SecOps per importare i log di Microsoft System Center Endpoint Protection (SCEP)
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo feed.
- Nella pagina successiva, fai clic su Configura un singolo feed.
- Nel campo Nome feed, inserisci un nome per il feed (ad esempio,
Microsoft SCEP Logs). - Seleziona Microsoft Azure Blob Storage V2 come Tipo di origine.
- Seleziona Microsoft System Center Endpoint Protection (SCEP) come Tipo di log.
- Fai clic su Avanti.
Specifica i valori per i seguenti parametri di input:
- URI di Azure: inserisci l'URL dell'endpoint del servizio Blob con il percorso del container:
https://sceplogssa.blob.core.windows.net/am-Event/Sostituisci quanto segue:
sceplogssa: il nome del tuo account di archiviazione Azure.am-Event: il nome del container blob in cui sono archiviati gli eventi esportati.
- Opzione di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze:
- Mai: non elimina mai i file dopo i trasferimenti.
- Elimina file trasferiti: elimina i file dopo il trasferimento riuscito.
- Elimina file trasferiti e directory vuote: elimina i file e le directory vuote dopo il trasferimento riuscito.
- Età massima del file: includi i file modificati nell'ultimo numero di giorni (il valore predefinito è 180 giorni)
- Chiave condivisa: inserisci il valore della chiave condivisa (chiave di accesso) acquisita dall'account di archiviazione
- Spazio dei nomi dell'asset: lo spazio dei nomi dell'asset
- Etichette di importazione: l'etichetta da applicare agli eventi di questo feed
Fai clic su Avanti.
Controlla la nuova configurazione del feed nella schermata Finalizza e poi fai clic su Invia.
Configura il firewall di Azure Storage (se abilitato)
Se il tuo account di archiviazione Azure utilizza un firewall, devi aggiungere gli intervalli IP di Google SecOps.
- Nel portale Azure, vai al tuo account di archiviazione.
- Seleziona Networking in Sicurezza e networking.
- In Firewall e reti virtuali, seleziona Attivato da reti virtuali e indirizzi IP selezionati.
- Nella sezione Firewall, in Intervallo di indirizzi, fai clic su + Aggiungi intervallo IP.
Aggiungi ogni intervallo IP di Google SecOps in notazione CIDR.
Per ottenere gli intervalli IP attuali:
- Consulta la documentazione relativa alla lista consentita IP
- oppure recuperali in modo programmatico utilizzando l'API Feed Management.
Inoltre, seleziona la casella di controllo Consenti ai servizi Azure nell'elenco dei servizi attendibili di accedere all'account di archiviazione per consentire all'esportazione dei dati dello spazio di lavoro Analisi dei log di scrivere nell'account di archiviazione.
Fai clic su Salva.
Tabella di mappatura UDM
| Campo log | Mappatura UDM | Logic |
|---|---|---|
| about.hostname | about.hostname | Imposta su "%{_DB_HOST}" |
| _DB_PORT | about.port | Valore copiato direttamente, convertito in numero intero |
| _DB_DRIVER | about.resource.name | Impostato su "%{_DB_DRIVER}" |
| _DB_URL | about.url | Imposta su "%{_DB_URL}" |
| signature_labels | event.idm.read_only_udm.additional.fields | Unito da signature_labels se la firma non è vuota, pending_action se PendingAction non è vuoto, execution_status se ExecutionStatus non è vuoto, record_id se RecordID non è vuoto, error_code se ErrorCode non è vuoto, action_success se ActionSuccess non è vuoto |
| pending_action | event.idm.read_only_udm.additional.fields | |
| execution_status | event.idm.read_only_udm.additional.fields | |
| record_id | event.idm.read_only_udm.additional.fields | |
| error_code | event.idm.read_only_udm.additional.fields | |
| action_success | event.idm.read_only_udm.additional.fields | |
| source_url | event.idm.read_only_udm.src.url | Valore di source_url se non è vuoto, altrimenti di my_string1 se non è vuoto |
| my_string1 | event.idm.read_only_udm.src.url | |
| has_principal | metadata.event_type | Imposta "NETWORK_CONNECTION" se has_principal e has_target sono true, altrimenti "STATUS_UPDATE" se has_principal è true, altrimenti "SCAN_FILE" se not no_target_host e path_available sono true, altrimenti "STATUS_UNCATEGORIZED" se not no_target_host, altrimenti "USER_UNCATEGORIZED" se has_user è true, altrimenti "GENERIC_EVENT" |
| has_user | metadata.event_type | |
| has_target | metadata.event_type | |
| no_target_host | metadata.event_type | |
| path_available | metadata.event_type | |
| Nome | metadata.product_event_type | Valore copiato direttamente |
| DetectionID | metadata.product_log_id | Valore copiato direttamente |
| metadata.product_name | metadata.product_name | Imposta su "MICROSOFT SYSTEM CENTER ENDPOINT PROTECTION" |
| metadata.vendor_name | metadata.vendor_name | Imposta su "MICROSOFT" |
| NTdomain | principal.administrative_domain | Valore copiato direttamente |
| nome host | principal.asset.hostname | Valore ottenuto dal nome host se non è vuoto, altrimenti da TargetHost |
| TargetHost | principal.asset.hostname | |
| action_type | principal.group.attribute.labels | Unito da action_type_label se action_type non è vuoto |
| nome host | principal.hostname | Valore ottenuto dal nome host se non è vuoto, altrimenti da TargetHost |
| TargetHost | principal.hostname | |
| Processo | principal.process.file.full_path | Valore copiato direttamente se Process non è vuoto |
| NOME UTENTE | principal.user.user_display_name | Valore copiato direttamente |
| Nome utente | principal.user.userid | Valore di UserName se non è vuoto, altrimenti dell'utente se non è vuoto |
| utente | principal.user.userid | |
| azione | security_result.action | Impostato in base ai valori dell'azione (ALLOW per esito positivo/creato/avviato/consegnato/consentito, BLOCK per errore/bloccato/interruzione/rinviato/eliminato/rifiutato/interrotto/errore/bloccato, ALLOW_WITH_MODIFICATION per acl_modified/modified, QUARANTINE per quarantined) o CleanAction (FAIL se Failed, QUARANTINE se Quarantined, ALLOW se Allowed, BLOCK se Blocked) |
| CleanAction | security_result.action | |
| CleanAction | security_result.action_details | Valore copiato direttamente se CleanAction non è vuoto |
| categoria | security_result.category_details | Unito dalla categoria se non è vuota, altrimenti dalla categoria |
| Categoria | security_result.category_details | |
| DetectionID | security_result.detection_fields | Unito da DetectionID_field se DetectionID non è vuoto, detectionid_field se detectionid non è vuoto, detection_source_labels se detection_source non è vuoto, pending_action_labels se pending_action non è vuoto, detection_Path se source_url, file_path e Path non sono vuoti |
| detectionid | security_result.detection_fields | |
| detection_source | security_result.detection_fields | |
| pending_action | security_result.detection_fields | |
| Percorso | security_result.detection_fields | |
| gravità | security_result.severity | Imposta in base alla gravità (LOW per 0/1/2/3/LOW, MEDIUM per 4/5/6/MEDIUM/SUBSTANTIAL/INFO, HIGH per 7/8/HIGH/SEVERE, CRITICAL per 9/10/VERY-HIGH/CRITICAL) o all'ID gravità (LOW per 1, MEDIUM per 2, HIGH per 4, CRITICAL per 5, UNKNOWN_SEVERITY altrimenti) |
| SeverityID | security_result.severity | |
| SeverityID | security_result.severity_details | Valore copiato direttamente |
| ThreatID | security_result.threat_id | Valore copiato direttamente |
| ThreatName | security_result.threat_name | Valore copiato direttamente |
| MaliciousFileCt | security_result.verdict_info | Valore copiato direttamente, convertito in numero intero, unito come malicious_file_ct |
| dest_nt_domain | target.administrative_domain | Valore copiato direttamente |
| dest_name | target.asset.hostname | Valore copiato direttamente se dest_name non è vuoto |
| file_path | target.file.full_path | Valore di file_path se non è vuoto, altrimenti di Path se file_path è vuoto, altrimenti di my_string se non è vuoto |
| Percorso | target.file.full_path | |
| my_string | target.file.full_path | |
| dest_name | target.hostname | Valore copiato direttamente se dest_name non è vuoto |
| ResourceID | target.resource.name | Valore di ResourceID se non è vuoto, altrimenti di resourceid se non è vuoto |
| resourceid | target.resource.name | |
| utente | target.user.userid | Valore copiato direttamente se l'utente non è vuoto |
| tempo | metadata.event_timestamp | Convertito dall'ora utilizzando il formato "MMM gg HH:mm:ss" se l'ora non è vuota, altrimenti da DetectionTime o detectiontime utilizzando UNIX_MS |
| DetectionTime | metadata.event_timestamp | |
| detectiontime | metadata.event_timestamp |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.