Raccogli i log di Trend Micro Cloud One
Questo parser gestisce i log in formato syslog e JSON di Trend Micro Cloud One. Estrae le coppie chiave-valore dai messaggi in formato LEEF, normalizza i valori di gravità, identifica le entità principali e di destinazione (IP, nome host, utente) e mappa i dati nello schema UDM. Se il formato LEEF non viene rilevato, il parser tenta di elaborare l'input come JSON ed estrarre i campi pertinenti di conseguenza.
Prima di iniziare
- Assicurati di avere un'istanza Google SecOps.
- Assicurati di avere l'accesso con privilegi a Trend Micro Cloud One.
- Assicurati di avere un host Windows 2012 SP2 o versioni successive o Linux con systemd.
- Se esegui l'applicazione dietro un proxy, assicurati che le porte del firewall siano aperte.
Recupera 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 precedenti: 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 (consigliata)
- Accedi alla Google Cloud console e seleziona il Google Cloud progetto collegato alla tua istanza Google SecOps.
- Vai a IAM e amministrazione > Service account.
- Fai clic su Crea service account.
- Fornisci i seguenti dettagli di configurazione:
- Nome service account: inserisci un nome per l'account (ad esempio,
bindplane-ingest). - Descrizione service account: inserisci una descrizione (ad esempio,
Bindplane agent log ingestion).
- Nome service account: 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 Editor Chronicle.
- 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) oppure aggiornacreds_file_pathinconfig.yamlin modo che corrisponda al percorso in cui lo salvi. - Vai a IAM e amministrazione > Impostazioni e copia il numero del 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 SIEM > 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.
Recupera l'ID cliente Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Profilo.
- Copia e salva l'ID cliente dalla sezione Dettagli dell'organizzazione.
Installa l'agente Bindplane
- Per l'installazione di Windows, esegui il seguente script:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet. - Per l'installazione di Linux, esegui il seguente script:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh. - Ulteriori opzioni di installazione sono disponibili in questa guida all'installazione.
Configura l'agente Bindplane per acquisire Syslog e inviarlo a Google SecOps
- Accedi alla macchina con l'agente Bindplane.
Modifica il file
config.yamlcome indicato di seguito:receivers: udplog: # Replace the below port <5514> and IP (0.0.0.0) with your specific values listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: 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 # Adjust the path to the credentials file you saved in Step 1 creds: '{ json file for creds }' # Replace <customer_id> below with your actual ID that you copied customer_id: <customer_id> endpoint: chronicle.googleapis.com # You can apply ingestion labels below as preferred ingestion_labels: log_type: SYSLOG namespace: raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels- Sostituisci la porta e l'indirizzo IP in base alle esigenze della tua infrastruttura.
- Sostituisci
<LOCATION>con la regione della tua istanza Google SecOps (ad esempio,us,europe, oasia-southeast1). L'esportatore anteponechronicle.googleapis.coma questo valore. - Sostituisci
<PROJECT_NUMBER>con il numero del progetto da IAM e amministrazione > Impostazioni. - Sostituisci
<customer_id>con l'ID cliente effettivo. - Aggiorna
{ json file for creds }al percorso in cui è stato salvato il file della chiave del account di servizio (opzione 1).
Riavvia l'agente Bindplane per applicare le modifiche utilizzando il seguente comando:
sudo systemctl bindplane restart
Esportatore dell'API Ingestion legacy
Se utilizzi il file di autenticazione dell'acquisizione dell'opzione 2, sostituisci il blocco
exporterscon il seguente. Impostacredssul percorso del file di autenticazione dell'acquisizione e, se la tua istanza si trova al di fuori degli Stati Uniti, sostituiscimalachiteingestion-pa.googleapis.comcon l'endpoint regionale (ad esempio,europe-malachiteingestion-pa.googleapis.com).exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you saved in Step 1 creds: '{ json file for creds }' # Replace <customer_id> below with your actual ID that you copied customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # You can apply ingestion labels below as preferred ingestion_labels: log_type: SYSLOG namespace: raw_log_field: body
Configura Syslog da Trend Micro Cloud One
- Vai a Criteri > Oggetti comuni > Altro > Configurazioni Syslog.
- Fai clic su Nuovo > Nuova configurazione > Generale
- Specifica i valori per i seguenti parametri:
- Nome: nome univoco che identifica la configurazione (ad esempio, server Google SecOps BindPlance).
- Nome server: inserisci l'indirizzo IP dell'agente Bindplane.
- Porta server: inserisci la porta dell'agente Bindplane (ad esempio, 514).
- Trasporto: seleziona UDP.
- Formato evento: seleziona Syslog.
- Includi il fuso orario negli eventi: mantieni l'opzione deselezionata.
- Facility: tipo di processo a cui verranno associati gli eventi.
- Gli agenti devono inoltrare i log: seleziona il server Syslog.
- Fai clic su Salva.
Esporta gli eventi di sistema in Trend Micro Cloud One
- Vai ad Amministrazione > Impostazioni di sistema > Inoltro eventi.
- Seleziona la configurazione creata nel passaggio precedente in Inoltra gli eventi di sistema a un computer remoto (tramite Syslog).
- Fai clic su Salva.
Esporta gli eventi di sicurezza in Trend Micro Cloud One
- Vai a Criteri.
- Fai clic sul criterio utilizzato dai computer.
- Vai a Impostazioni > Inoltro eventi.
- Frequenza di inoltro degli eventi (dall'agente/appliance): scegli Periodo tra l'invio degli eventi e seleziona la frequenza con cui verranno inoltrati gli eventi di sicurezza.
- Configurazione dell'inoltro degli eventi (dall'agente/appliance): scegli Configurazione Syslog anti-malware e seleziona la configurazione creata nel passaggio precedente.
- Fai clic su Salva.
Tabella di mappatura UDM
| Campo log | Mappatura UDM | Logica |
|---|---|---|
| act | security_result.action |
Se act è "deny" o "block" (senza distinzione tra maiuscole e minuscole), allora BLOCK. Se act è "pass" o "allow" (senza distinzione tra maiuscole e minuscole), allora ALLOW. Se act è "update" o "rename" (senza distinzione tra maiuscole e minuscole), allora ALLOW_WITH_MODIFICATION. Se act è "quarantine" (senza distinzione tra maiuscole e minuscole), allora QUARANTINE. In caso contrario, UNKNOWN_ACTION. |
| act | security_result.action_details |
Mappato direttamente. |
| cat | security_result.category_details |
Mappato direttamente. |
| cn1 | target.asset_id |
Con il prefisso "Host Id:" se cn1Label è "Host ID". |
| desc | metadata.description |
Mappato direttamente. |
| dvchost | target.asset.hostname |
Mappato direttamente. |
| dvchost | target.hostname |
Mappato direttamente. |
| log_type | metadata.product_name |
Mappato direttamente. |
| msg | security_result.description |
Mappato direttamente. |
| name | security_result.summary |
Mappato direttamente. |
| organization | target.administrative_domain |
Mappato direttamente. |
| proto | additional.fields.key |
Impostato su "Protocol" se il campo proto non può essere convertito in un numero intero. |
| proto | additional.fields.value.string_value |
Mappato direttamente se il campo proto non può essere convertito in un numero intero. |
| proto | network.ip_protocol |
Mappato utilizzando la logica parse_ip_protocol.include, che converte il numero del protocollo nel nome corrispondente (ad es. "6" diventa "TCP"). |
| product_version | metadata.product_version |
Mappato direttamente. |
| sev | security_result.severity |
Se sev è "0", "1", "2", "3" o "low" (senza distinzione tra maiuscole e minuscole), allora LOW. Se sev è "4", "5", "6" o "medium" (senza distinzione tra maiuscole e minuscole), allora MEDIUM. Se sev è "7", "8" o "high" (senza distinzione tra maiuscole e minuscole), allora HIGH. Se sev è "9", "10" o "very high" (senza distinzione tra maiuscole e minuscole), allora CRITICAL. |
| sev | security_result.severity_details |
Mappato direttamente. |
| src | principal.asset.hostname |
Mappato direttamente se non è un indirizzo IP valido. |
| src | principal.asset.ip |
Mappato direttamente se è un indirizzo IP valido. |
| src | principal.hostname |
Mappato direttamente se non è un indirizzo IP valido. |
| src | principal.ip |
Mappato direttamente se è un indirizzo IP valido. |
| TrendMicroDsTenant | security_result.detection_fields.key |
Impostato su "TrendMicroDsTenant". |
| TrendMicroDsTenant | security_result.detection_fields.value |
Mappato direttamente. |
| TrendMicroDsTenantId | security_result.detection_fields.key |
Impostato su "TrendMicroDsTenantId". |
| TrendMicroDsTenantId | security_result.detection_fields.value |
Mappato direttamente. |
| usrName | principal.user.userid |
Mappato direttamente. Se has_principal è true e has_target è true, allora NETWORK_CONNECTION. Se has_principal è true, allora STATUS_UPDATE. Se has_target è true e has_principal è false, allora USER_UNCATEGORIZED. In caso contrario, GENERIC_EVENT. Impostato su AUTHTYPE_UNSPECIFIED se event_type è USER_UNCATEGORIZED. Impostato su "true" se viene estratto un indirizzo IP, un nome host o un indirizzo MAC principale. In caso contrario, viene inizializzato su "false". Impostato su "true" se viene estratto un indirizzo IP, un nome host o un indirizzo MAC di destinazione. In caso contrario, viene inizializzato su "false". Uguale al timestamp dell'evento di primo livello. Impostato su "Trend Micro". |
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.