Raccogli i log di Windows Defender Antivirus
Questo documento spiega come importare i log di Windows Defender Antivirus in Google Security Operations utilizzando Bindplane.
Windows Defender Antivirus è il motore antimalware integrato in Microsoft Windows che fornisce rilevamento delle minacce in tempo reale, risultati della scansione e log eventi di protezione. L'agente Bindplane raccoglie i file di log eventi di Windows Defender esportati direttamente dal file system locale.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Un'istanza Google SecOps
- Windows Server 2016 o versioni successive con supporto del servizio
observiq-otel-collector - Se l'esecuzione avviene dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane
- Accesso amministratore agli endpoint Windows che eseguono Windows Defender Antivirus
Ottieni le credenziali di Google SecOps per l'agente Bindplane
Per autenticare l'agente Bindplane in Google SecOps, scegli uno dei seguenti metodi:
- Nuovi deployment: utilizza l'API Chronicle (opzione 1).
- Deployment legacy: continua a utilizzare il file di autenticazione dell'acquisizione (opzione 2) fino alla dismissione dell'API Ingestion il 20 luglio 2027.
Opzione 1: crea un account di servizio per l'API Chronicle (consigliato)
- Accedi alla consoleGoogle Cloud e seleziona il progetto Google Cloud collegato alla tua istanza di Google SecOps.
- Vai a IAM e amministrazione > Service account.
- Fai clic su Crea account di servizio.
- Fornisci i seguenti dettagli di configurazione:
- Nome account di servizio: inserisci un nome per l'account (ad esempio
bindplane-ingest). - Descrizione service account: inserisci una descrizione (ad esempio,
Bindplane agent log ingestion).
- Nome account di servizio: inserisci un nome per l'account (ad esempio
- Fai clic su Crea e continua.
- Nella sezione Concedi a questo account di servizio l'accesso al progetto, fai clic su Seleziona un ruolo e seleziona Chronicle Editor.
- Fai clic su Continua e poi su Fine.
- Fai clic sul account di servizio che hai creato, quindi vai alla scheda Chiavi.
- Fai clic su Aggiungi chiave > Crea nuova chiave.
- Seleziona JSON e fai clic su Crea. Il file della chiave viene scaricato sul computer.
- Salva il file della chiave come
ingestion-auth.jsonnella directory del raccoglitore Bindplane (/opt/observiq-otel-collector/ingestion-auth.jsonsu Linux oC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.jsonsu Windows) o aggiornacreds_file_pathinconfig.yamlin modo che corrisponda al percorso in cui lo salvi. - Vai a IAM e amministrazione > Impostazioni e copia il Numero progetto. Ti servirà per la configurazione dell'esportatore.
Opzione 2: scarica il file di autenticazione dell'acquisizione (legacy)
- Accedi alla console Google SecOps.
- Vai a Impostazioni > Gestione dei dati > Agenti di raccolta. Se utilizzi una piattaforma solo SIEM, vai a Impostazioni > Agenti di raccolta.
- Scarica il file di autenticazione dell'acquisizione.
- Salva il file in modo sicuro sul sistema in cui verrà installato l'agente Bindplane.
Ottieni l'ID cliente Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni > Amministrazione > Profilo. Se utilizzi una piattaforma solo SIEM, vai a Impostazioni > Profilo.
Copia e salva l'ID cliente dalla sezione Dettagli organizzazione.
Installa l'agente Bindplane
Installa l'agente Bindplane sul tuo sistema operativo Windows seguendo le istruzioni riportate di seguito.
Installazione di finestre
- Apri il prompt dei comandi o PowerShell come amministratore.
Esegui questo comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quietAttendi il completamento dell'installazione.
Verifica l'installazione eseguendo:
sc query observiq-otel-collector
Il servizio dovrebbe essere visualizzato come RUNNING.
Risorse aggiuntive per l'installazione
Per ulteriori opzioni di installazione e risoluzione dei problemi, consulta la guida all'installazione dell'agente Bindplane.
Configura l'agente Bindplane per importare i log e inviarli a Google SecOps
Individua il file di configurazione
Windows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Modifica il file di configurazione
Sostituisci l'intero contenuto di
config.yamlcon la seguente configurazione:receivers: filelog: include: - C:\Logs\defender-av\*.evtx start_at: beginning exporters: chronicle/windows_defender_av: protocol: https # Region of your instance, for example us, europe, asia-southeast1 location: <LOCATION> # Project number of the Google Cloud project linked to the instance project: '<PROJECT_NUMBER>' compression: gzip creds_file_path: 'C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json' customer_id: '<customer_id>' endpoint: chronicle.googleapis.com log_type: WINDOWS_DEFENDER_AV raw_log_field: body ingestion_labels: env: production service: pipelines: logs/defender_av_to_chronicle: receivers: - filelog exporters: - chronicle/windows_defender_av
Parametri di configurazione
Sostituisci i seguenti segnaposto:
Configurazione del ricevitore:
filelog: il tipo di receiver per la raccolta dei file di log dal discoinclude: elenco dei percorsi dei file da monitorare. Imposta questa opzione sulla posizione in cui esporti i log eventi di Windows Defender (ad esempio,C:\Logs\defender-av\*.evtx)start_at: impostalo subeginningper leggere i log esistenti o suendper leggere solo le nuove voci
Configurazione dell'esportatore:
windows_defender_av: nome descrittivo dell'esportatorecreds_file_path: percorso completo del file della chiave JSON del account di servizio (opzione 1):- Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Windows:
<customer_id>: l'ID cliente del passaggio precedentelocation: sostituisci<LOCATION>con la regione della tua istanza Google SecOps (ad esempious,europeoasia-southeast1). L'esportatore aggiungechronicle.googleapis.comcome prefisso a questo valore. Per l'elenco completo, consulta Endpoint regionali.project: sostituisci<PROJECT_NUMBER>con il numero di progetto da IAM e amministrazione > Impostazioni.endpoint: mantieni l'impostazionechronicle.googleapis.com.WINDOWS_DEFENDER_AV: il tipo di log esattamente come appare in Chronicleingestion_labels: etichette facoltative in formato YAML (ad esempio,env: production)
Configurazione della pipeline:
defender_av_to_chronicle: nome descrittivo della pipeline
Esportatore API di importazione precedente
Se utilizzi il file di autenticazione dell'acquisizione dell'Opzione 2, sostituisci il blocco
exporterscon il seguente. Impostacreds_file_pathsul percorso del file di autenticazione dell'acquisizione e, se l'istanza si trova al di fuori degli Stati Uniti, sostituiscimalachiteingestion-pa.googleapis.comcon il tuo endpoint regionale (ad esempio,europe-malachiteingestion-pa.googleapis.com).exporters: chronicle/windows_defender_av: compression: gzip creds_file_path: 'C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: WINDOWS_DEFENDER_AV raw_log_field: body ingestion_labels: env: production
Salva il file di configurazione
- Dopo la modifica, salva il file:
- Windows: fai clic su File > Salva.
Riavvia l'agente Bindplane per applicare le modifiche
Per riavviare l'agente Bindplane in Windows:
Scegli una delle seguenti opzioni:
- Prompt dei comandi o PowerShell come amministratore:
net stop observiq-otel-collector && net start observiq-otel-collector- Console dei servizi:
- Premi
Win+R, digitaservices.msce premi Invio. - Individua observIQ OpenTelemetry Collector.
- Fai clic con il tasto destro del mouse e seleziona Riavvia.
- Premi
Verifica che il servizio sia in esecuzione:
sc query observiq-otel-collectorControlla i log per verificare la presenza di errori:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
Configura l'esportazione dei log di Windows Defender Antivirus
I log di Windows Defender Antivirus sono archiviati nel log eventi di Windows in Microsoft-Windows-Windows Defender/Operational. Devi esportare questi log in file su disco in modo che l'agente Bindplane possa raccoglierli.
Crea una directory per archiviare i file di log esportati:
mkdir C:\Logs\defender-avEsporta i log eventi di Windows Defender Antivirus utilizzando
wevtutil:wevtutil epl "Microsoft-Windows-Windows Defender/Operational" C:\Logs\defender-av\defender-av.evtx(Facoltativo) Pianifica esportazioni regolari utilizzando l'Utilità di pianificazione di Windows:
$action = New-ScheduledTaskAction -Execute "wevtutil" -Argument 'epl "Microsoft-Windows-Windows Defender/Operational" C:\Logs\defender-av\defender-av.evtx /ow:true' $trigger = New-ScheduledTaskTrigger -RepetitionInterval (New-TimeSpan -Hours 1) -Once -At (Get-Date) Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "ExportDefenderLogs" -Description "Export Windows Defender AV logs for Bindplane agent"Verifica che il file di log esportato venga creato in "C:\Logs\defender-av".
Assicurati che il percorso dell'agente Bindplane
includeinconfig.yamlcorrisponda alla directory di esportazione.
Tabella di mappatura UDM
| Campo log | Mappatura UDM | Logica |
|---|---|---|
| OpcodeValue, ThreadID, Channel, engine_version, security_intelligence_version, network_realtime_inspection_engine_version, network_realtime_inspection_security_intelligence_version, rtp_state, oa_state, ioav_state, bm_state, antivirus_security_intelligence_age, antispyware_security_intelligence_age, last_quick_scan_age, last_full_scan_age, antivirus_security_intelligence_creation_time, antispyware_security_intelligence_creation_time, last_quick_scan_start_time, last_quick_scan_end_time, last_quick_scan_source, last_full_scan_start_time, last_full_scan_end_time, last_full_scan_source, product_status | additional.fields | Unito alle mappe di etichette {key: field name, value: {string_value: field value}} se non vuoto |
| metadata.description | Impostato sulla stringa di descrizione specifica dell'evento in base a EventID | |
| metadata.event_type | Impostato su "SCAN_HOST" se has_principal è true, altrimenti su "GENERIC_EVENT"; "SCAN_FILE" per EventID 1011,1116,1117 | |
| ProviderGuid | metadata.product_deployment_id | Valore di ProviderGuid dopo la rimozione di {} |
| metadata.product_event_type | Imposta sulla stringa del tipo di evento del prodotto specifica per l'evento in base a EventID | |
| RecordNumber | metadata.product_log_id | Valore copiato direttamente come stringa |
| platform_version | metadata.product_version | Valore copiato direttamente |
| FWLink | metadata.url_back_to_product | Valore copiato direttamente |
| metadata.vendor_name | Imposta su "Microsoft" | |
| metadata.product_name | Imposta su "Windows Defender AV" | |
| SourceModuleType | observer.application | Valore copiato direttamente |
| Domain, _domain | principal.administrative_domain | Valore di Domain o _domain estratto da Detection User utilizzando grok per EventID 1116,1117 |
| Nome host | principal.hostname | Valore copiato direttamente |
| Nome processo | principal.process.file.full_path | Valore copiato direttamente per EventID 1116,1117 |
| ProcessID | principal.process.pid | Valore copiato direttamente |
| SourceModuleName | principal.resource.name | Valore copiato direttamente |
| AccountType | principal.user.role_description | Valore copiato direttamente |
| AccountName | principal.user.user_display_name | Valore copiato direttamente |
| User, UserID, _account | principal.user.userid | Valore di User o UserID se non vuoto o _account estratto da Detection User utilizzando grok per EventID 1116,1117 |
| SourceName | security_result.about.resource.attribute.labels | Unito alla mappa delle etichette {key: "SourceName", value: SourceName} se non è vuota |
| security_result.action | Impostato su "ALLOW" per impostazione predefinita; "BLOCK" per EventID 1116; "QUARANTINE" per EventID 1117 | |
| security_result.category | Impostato su "SOFTWARE_MALICIOUS" per EventID 1011,1116,1117 | |
| ActivityID | security_result.detection_fields | Unito a detection_fields {key: "Activity ID", value: ActivityID} se ActivityID non è vuoto e non è "-" |
| EventID | security_result.description | Impostato su "EventID: %{EventID}" |
| Nome minaccia | security_result.rule_name | Valore copiato direttamente per EventID 1011,1116,1117 |
| Severity, Level, EventType | security_result.severity | Impostato su LOW se Severity corrisponde a verbose|information|info, MEDIUM se warning|error, HIGH se critical; Severity impostato da Level (5|4 -> information, 2|3 -> warning, 1 -> critical); o da EventType (ERROR -> %{severity}, INFO -> "INFORMATIONAL", altrimenti severity_details) |
| Severity Name, severity | security_result.severity_details | Valore da Severity Name per EventID 1011,1116,1117; o da severity per EventType non ERROR o INFO |
| Nome minaccia | security_result.summary | Valore copiato direttamente per EventID 1011,1116,1117 |
| Nome categoria | security_result.threat_name | Valore copiato direttamente per EventID 1011,1116,1117 |
| FWLink | security_result.url_back_to_product | Valore copiato direttamente per EventID 1011,1116,1117 |
| Percorso | target.file.full_path | Valore copiato direttamente per EventID 1116,1117 |
| target.hostname | Imposta su "" per EventID 1117 | |
| Percorso | target.registry.registry_key | Valore copiato direttamente per l'ID evento 1011 |
EventRecordID |
event.idm.read_only_udm.metadata.product_log_id |
Mappato dal log delle modifiche |
Product Version |
event.idm.read_only_udm.metadata.product_version |
Mappato dal log delle modifiche |
ProviderGuid |
event.idm.read_only_udm.metadata.product_deployment_id |
Mappato dal log delle modifiche |
Hostname |
event.idm.read_only_udm.principal.asset.hostname |
Mappato dal log delle modifiche |
xmlns |
event.idm.read_only_udm.principal.url |
Mappato dal log delle modifiche |
Threat Resource Path |
event.idm.read_only_udm.target.file.full_path |
Mappato dal log delle modifiche |
Hashes |
event.idm.read_only_udm.target.file.sha1 |
Mappato dal log delle modifiche |
RenderingInfoLevel |
event.idm.read_only_udm.security_result.severity_details |
Mappato dal log delle modifiche |
Action Name |
event.idm.read_only_udm.security_result.action_details |
Mappato dal log delle modifiche |
Detection Time |
event.idm.read_only_udm.security_result.first_discovered_time |
Mappato dal log delle modifiche |
Threat ID |
event.idm.read_only_udm.security_result.threat_id |
Mappato dal log delle modifiche |
Remediation User |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
Status Description |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
Action ID |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
Additional Actions ID |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
Additional Actions String |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
Category ID |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
Detection ID |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
Engine Version |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
Error Code |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
Error Description |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
Execution ID |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
Execution Name |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
Origin ID |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
Origin Name |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
Post Clean Status |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
Pre Execution Status |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
Security Intelligence Version |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
Severity ID |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
Source ID |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
State |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
Status Code |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
Type ID |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
Type Name |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
Level |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
Culture |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
Keywords |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
Opcode |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
Product Name |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
Provider Name |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
RenderingInfoMessage |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
Service |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
Task |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
Version |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
Security UserID |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
EventID |
event.idm.read_only_udm.security_result.summary |
Mappato dal log delle modifiche |
Log delle modifiche
Visualizza il log delle modifiche per questo parser
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.