Raccogli i log di CipherTrust Manager

Versione parser: 18.0

Supportato in:

Questo documento spiega come importare i log di CipherTrust Manager in Google Security Operations utilizzando l'agente Bindplane.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Un'istanza Google SecOps
  • Windows Server 2016 o versioni successive o host Linux con systemd
  • Connettività di rete tra l'agente Bindplane e CipherTrust Manager
  • Se l'esecuzione avviene dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane
  • Accesso privilegiato alla console web di CipherTrust Manager

Recupera le credenziali 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.
  1. Accedi alla Google Cloud console e seleziona il progetto Google Cloud collegato alla tua istanza Google SecOps.
  2. Vai a IAM e amministrazione > Service account.
  3. Fai clic su Crea service account.
  4. Fornisci i seguenti dettagli di configurazione:
    • Nome service account: inserisci un nome per l'account (ad esempio, bindplane-ingest).
    • Descrizione del service account: inserisci una descrizione (ad esempio, Bindplane agent log ingestion).
  5. Fai clic su Crea e continua.
  6. Nella sezione Concedi a questo account di servizio l'accesso al progetto, fai clic su Seleziona un ruolo e seleziona Chronicle Editor.
  7. Fai clic su Continua e poi su Fine.
  8. Fai clic sul account di servizio che hai creato, quindi vai alla scheda Chiavi.
  9. Fai clic su Aggiungi chiave > Crea nuova chiave.
  10. Seleziona JSON e fai clic su Crea. Il file della chiave viene scaricato sul tuo computer.
  11. Salva il file della chiave come ingestion-auth.json nella directory del raccoglitore Bindplane (/opt/observiq-otel-collector/ingestion-auth.json su Linux o C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json su Windows) oppure aggiorna creds_file_path in config.yaml in modo che corrisponda al percorso in cui lo salvi.
  12. 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)

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Agenti di raccolta.
  3. Scarica il file di autenticazione dell'acquisizione.
  4. Salva il file in modo sicuro sul sistema in cui verrà installato l'agente Bindplane.

Recuperare l'ID cliente Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Profilo.
  3. Copia e salva l'ID cliente dalla sezione Dettagli organizzazione.

Installa l'agente Bindplane

Installa l'agente Bindplane sul sistema operativo Windows o Linux seguendo le istruzioni riportate di seguito.

Installazione di Windows

  1. Apri il prompt dei comandi o PowerShell come amministratore.
  2. Esegui questo comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. Attendi il completamento dell'installazione.

  4. Verifica l'installazione eseguendo:

    sc query observiq-otel-collector
    

    Il servizio dovrebbe essere visualizzato come RUNNING.

Installazione di Linux

  1. Apri un terminale con privilegi root o sudo.
  2. Esegui questo comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. Attendi il completamento dell'installazione.

  4. Verifica l'installazione eseguendo:

    sudo systemctl status observiq-otel-collector
    

    Il servizio dovrebbe essere visualizzato come attivo (in esecuzione).

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 il syslog e inviarlo a Google SecOps

Individua il file di configurazione

  • Linux:

    sudo nano /opt/observiq-otel-collector/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Modifica il file di configurazione

  • Sostituisci l'intero contenuto di config.yaml con la seguente configurazione:

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/ciphertrust_manager:
        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: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: chronicle.googleapis.com
        log_type: CIPHERTRUST_MANAGER
        raw_log_field: body
    
    service:
      pipelines:
        logs/ciphertrust_manager_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/ciphertrust_manager
    

Parametri di configurazione

Sostituisci i seguenti segnaposto:

  • Configurazione del destinatario:

    • listen_address: Indirizzo IP e porta da ascoltare:
      • 0.0.0.0 per ascoltare su tutte le interfacce (consigliato)
      • La porta 514 è la porta syslog standard (richiede l'accesso root su Linux; utilizza 1514 per l'accesso non root)
  • Configurazione dell'esportatore:

    • creds_file_path: percorso completo del file della chiave JSON del account di servizio (opzione 1):
      • Linux: /opt/observiq-otel-collector/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id: ID cliente copiato dalla console Google SecOps
    • location: sostituisci <LOCATION> con la regione della tua istanza Google SecOps (ad esempio us, europe o asia-southeast1). L'esportatore aggiunge chronicle.googleapis.com come prefisso a questo valore. Per l'elenco completo, consulta Endpoint regionali.
    • project: sostituisci <PROJECT_NUMBER> con il numero di progetto in IAM e amministrazione > Impostazioni.
    • endpoint: mantieni l'impostazione chronicle.googleapis.com.

Esportatore API di importazione legacy

  • Se utilizzi il file di autenticazione dell'acquisizione dell'Opzione 2, sostituisci il blocco exporters con il seguente. Imposta creds_file_path sul percorso del file di autenticazione dell'acquisizione e, se l'istanza si trova al di fuori degli Stati Uniti, sostituisci malachiteingestion-pa.googleapis.com con il tuo endpoint regionale (ad esempio, europe-malachiteingestion-pa.googleapis.com).

    exporters:
      chronicle/ciphertrust_manager:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: CIPHERTRUST_MANAGER
        raw_log_field: body
    

Salva il file di configurazione

  • Dopo la modifica, salva il file:
    • Linux: premi Ctrl+O, poi Enter e infine Ctrl+X.
    • Windows: fai clic su File > Salva

Riavvia l'agente Bindplane per applicare le modifiche

  • Per riavviare l'agente Bindplane in Linux, esegui questo comando:

    sudo systemctl restart observiq-otel-collector
    
    1. Verifica che il servizio sia in esecuzione:

      sudo systemctl status observiq-otel-collector
      
    2. Controlla i log per individuare eventuali errori:

      sudo journalctl -u observiq-otel-collector -f
      
  • 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:

      1. Premi Win+R, digita services.msc e premi Invio.
      2. Individua observIQ OpenTelemetry Collector.
      3. Fai clic con il tasto destro del mouse e seleziona Riavvia.
      4. Verifica che il servizio sia in esecuzione:

        sc query observiq-otel-collector
        
      5. Controlla i log per verificare la presenza di errori:

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

Configura syslog per CipherTrust Manager

  1. Accedi alla console web di CipherTrust Manager.
  2. Vai a Impostazioni amministratore > Notifiche > Syslog.
  3. Fai clic su New Syslog Server (Nuovo server Syslog).
  4. Fornisci i seguenti dettagli di configurazione:
    • Host: inserisci l'indirizzo IP dell'agente Bindplane.
    • Porta: inserisci il numero di porta dell'agente Bindplane (valore predefinito 514).
    • Formato log: seleziona RFC 5424.
    • Trasporto: seleziona UDP.
  5. Fai clic su Salva.

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
message about Mappatura: CEF → about
deviceNtDomain about.administrative_domain Rinominate/mappate
deviceExternalId about.asset.asset_id Mappato direttamente
device_product about.asset.asset_id Mappato direttamente
device_vendor about.asset.asset_id Mappato direttamente
fileHash about.file.full_path Mappata direttamente
filePath about.file.full_path Rinominate/mappate
_hash about.file.sha256 Rinominate/mappate
fileHash about.file.sha256 Rinominate/mappate
fsize about.file.size Rinominate/mappate
dvchost about.hostname Rinominate/mappate
ips about.ip Unita
message about.ip Mappatura: CEF → ips
dvc_mac about.mac Mappatura: slot → mac_address
dvcmac about.mac Unita
mac_address about.mac Unita
message about.mac Mappato: CEF → mac_address, CEF → dvcmac
deviceTranslatedAddress about.nat_ip Unita
message about.nat_ip Mappato: CEF → deviceTranslatedAddress
Emne about.process.command_line Mappata direttamente
Path about.process.command_line Mappato direttamente
Subject about.process.command_line Mappata direttamente
deviceProcessName about.process.command_line Rinominate/mappate
dvcpid about.process.pid Rinominate/mappate
message about.resource.attribute.permissions Mappatura: CEF → permissions
permissions about.resource.attribute.permissions Unita
Internal_label additional.fields Unita
additional_alias_alias_field additional.fields Unita
additional_alias_index_field additional.fields Unita
additional_alias_type_field additional.fields Unita
additional_cfp1 additional.fields Unita
additional_cfp2 additional.fields Unita
additional_cfp3 additional.fields Unita
additional_cfp4 additional.fields Unita
additional_cn1 additional.fields Unita
additional_cn2 additional.fields Unita
additional_cn3 additional.fields Unita
additional_cs1 additional.fields Unita
additional_cs2 additional.fields Unita
additional_cs3 additional.fields Unita
additional_cs4 additional.fields Unita
additional_cs5 additional.fields Unita
additional_cs6 additional.fields Unita
additional_cs7 additional.fields Unita
additional_devicePayloadId additional.fields Unita
additional_eventId additional.fields Unita
additional_flexString1 additional.fields Unita
additional_fname additional.fields Unita
algorithm_label additional.fields Unita
app_connector_type_label additional.fields Unita
assignSelfAsOwner_label additional.fields Unita
auth_domain_label additional.fields Unita
client_name_label additional.fields Unita
client_type_label additional.fields Unita
codeDesc_label additional.fields Unita
code_label additional.fields Unita
createdAt_label additional.fields Unita
cs2 additional.fields Mappato: arc_test → additional_cs2
cs5_label additional.fields Unita
customAttributes_label additional.fields Unita
deatils_domain_id_label additional.fields Unita
details_user_metadata_current_domain_id_label additional.fields Unita
details_user_metadata_current_persistedData_label additional.fields Unita
details_user_metadata_current_persistedData_paging_label additional.fields Unita
domain_id_label additional.fields Unita
domain_label additional.fields Unita
emptyMaterial_label additional.fields Unita
feature_label additional.fields Unita
format_label additional.fields Unita
generateKeyId_label additional.fields Unita
idType_label additional.fields Unita
id_label additional.fields Unita
identifier_label additional.fields Unita
interfaceName_label additional.fields Unita
interfaceType_label additional.fields Unita
label_label additional.fields Unita
message additional.fields Valori mappati (71 in totale, ad es. CEF → additional_eventId, CEF → `additional_devicePayloa…
messageFormat_label additional.fields Unita
meta_label additional.fields Unita
objectType_label additional.fields Unita
ownerId_label additional.fields Unita
padded_label additional.fields Unita
permissions_label additional.fields Unita
record_type_id_label additional.fields Unita
refresh_token_counts_label additional.fields Unita
refresh_token_counts_no_label additional.fields Unita
refresh_token_counts_total_label additional.fields Unita
refresh_token_id_label additional.fields Unita
renew_refresh_token_label additional.fields Unita
requestId_label additional.fields Unita
requestIdentifierType_label additional.fields Unita
requestIdentifier_label additional.fields Unita
scope_label additional.fields Unita
service_label additional.fields Unita
switch_domain_id_label additional.fields Unita
undeletable_label additional.fields Unita
unexportable_label additional.fields Unita
version_label additional.fields Unita
xts_label additional.fields Unita
zone_id_label additional.fields Unita
details_grant_type extensions.auth.auth_details Mappata direttamente
logon_type_temp extensions.auth.mechanism Unita
message extensions.auth.mechanism Mappatura: CEF → logon_type_temp, Get User → logon_type_temp
message intermediary Mappato: CEF → intermediary
proxy_ip intermediary.ip Unita
msg metadata.description Rinominato/mappato
Generated metadata.event_timestamp Analizzato come yyyy-MM-ddTHH:mm:ss
Received metadata.event_timestamp Analizzato come yyyy-MM-ddTHH:mm:ss
event_time metadata.event_timestamp Analizzato come ISO8601
rt metadata.event_timestamp Analizzato come yyyy-MM-ddTHH:mm:ssZ
syslog_timestamp metadata.event_timestamp Analizzato come MMM dd HH:mm:ss
syslog_timestamp_with_year metadata.event_timestamp Analizzato come MMM dd HH:mm:ss yyyy
cef_message metadata.event_type Mappatura: (Use Key/Update Key/Export Key) → USER_RESOURCE_UPDATE_CONTENT
event_name metadata.event_type Mappatura: "LogSpyware","LogPredictiveMachineLearning" → SCAN_UNCATEGORIZED
has_principal metadata.event_type Mappatura: true → NETWORK_CONNECTION
has_user metadata.event_type Mappato: true → USER_UNCATEGORIZED
message metadata.event_type Valori mappati (12 in totale, ad es. CEF → PROCESS_UNCATEGORIZED, CEF → SCAN_UNCATEGORIZED,…
device_event_class_id metadata.product_event_type Mappato direttamente
event_name metadata.product_event_type Mappato direttamente
externalId metadata.product_log_id Mappato direttamente
id metadata.product_log_id Mappato direttamente
uid metadata.product_log_id Mappato direttamente
device_product metadata.product_name Mappato direttamente
product metadata.product_name Mappato direttamente
product_name metadata.product_name Mappato direttamente
device_version metadata.product_version Mappata direttamente
device_vendor metadata.vendor_name Rinominato/mappato
app_protocol_output network.application_protocol Mappata direttamente
deviceDirection network.direction Mappatura: 0 → INBOUND, 1 → OUTBOUND
message network.direction Mappato: CEF → INBOUND, CEF → OUTBOUND
requestMethod network.http.method Rinominato/mappato
requestClientApplication network.http.user_agent Rinominato/mappato
ip_protocol_out network.ip_protocol Mappata direttamente
in network.received_bytes Rinominate/mappate
out network.sent_bytes Rinominate/mappate
sntdom principal.administrative_domain Rinominate/mappate
sourceServiceName principal.application Rinominato/mappato
syslog_host principal.asset.hostname Mappato direttamente
details_user_metadata_current_domain_name principal.domain.name Mappato direttamente
Group_name principal.group.group_display_name Mappato direttamente
Gruppenavn principal.group.group_display_name Mappato direttamente
Device_name principal.hostname Mappato direttamente
Enhetsnavn principal.hostname Mappata direttamente
shost principal.hostname Rinominato/mappato
syslog_host principal.hostname Mappato direttamente
client_ip principal.ip Unita
message principal.ip Mapped: CEF → principal_ip, CEF → shost, CEF → client_ip, `(SSL Handshake failed…
principal_ip principal.ip Unita
shost principal.ip Unita
mac principal.mac Unita
message principal.mac Mappatura: CEF → mac
message principal.nat_ip Mappatura: CEF → sourceTranslatedAddress
sourceTranslatedAddress principal.nat_ip Unita
sourceTranslatedPort principal.nat_port Rinominate/mappate
spt principal.port Rinominate/mappate
sproc principal.process.command_line Rinominate/mappate
spid principal.process.pid Rinominate/mappate
acc_label principal.resource.attribute.labels Unita
acct_label principal.resource.attribute.labels Unita
iss_label principal.resource.attribute.labels Unita
jti_label principal.resource.attribute.labels Unita
message principal.resource.attribute.labels Valori mappati (5 in totale, ad es. CEF → acct_label, CEF → acc_label, CEF → iss_label)
sub_label principal.resource.attribute.labels Unita
message principal.user.attribute.roles Mappatura: CEF → principal_role
principal_role principal.user.attribute.roles Unita
details_username principal.user.user_display_name Mappato direttamente
suser principal.user.user_display_name Mappato direttamente
username principal.user.user_display_name Mappato direttamente
details_user_id principal.user.userid Mappato direttamente
details_userid principal.user.userid Mappata direttamente
suid principal.user.userid Rinominato/mappato
user_id principal.user.userid Mappato direttamente
username principal.user.userid Mappata direttamente
_security_result security_result Unita
message security_result Mappatura: CEF → security_result
_action security_result.action Unita
act security_result.action Mappatura: accept → _action, deny → _action
message security_result.action Mappatura: CEF → _action
Action_Taken security_result.action_details Mappato direttamente
act security_result.action_details Mappato direttamente
details_errorMessage security_result.action_details Mappata direttamente
cat security_result.category_details Unita
message security_result.category_details Mappatura: CEF → cat
Scan_Type security_result.description Mappato direttamente
Type security_result.description Mappato direttamente
message security_result.description Mappato direttamente
msg_data_2 security_result.description Mappata direttamente
infection_channel_label security_result.detection_fields Unita
message security_result.detection_fields Valori mappati (7 in totale, ad es. CEF → operation_label, CEF → operasjon_label, CEF → `…
operasjon_label security_result.detection_fields Unita
operation_label security_result.detection_fields Unita
permission_label security_result.detection_fields Unita
spyware_Grayware_Type_label security_result.detection_fields Unita
threat_probability_label security_result.detection_fields Unita
tillatelse_label security_result.detection_fields Unita
mwProfile security_result.rule_name Mappato direttamente
message security_result.severity Mappato: CEF → LOW, CEF → MEDIUM, CEF → HIGH, CEF → CRITICAL
severity security_result.severity Mappatura: "0", "1", "2", "3", "LOW" → LOW, `"4", "5", "6", "MEDIUM", "SUBSTANTIAL", "INFO"…
Result security_result.summary Mappato direttamente
appcategory security_result.summary Mappata direttamente
reason security_result.summary Rinominato/mappato
success security_result.summary Mappato direttamente
Spyware security_result.threat_name Mappato direttamente
Unknown_Threat security_result.threat_name Mappato direttamente
Virus_Malware_Name security_result.threat_name Mappata direttamente
oldFilePath src.file.full_path Rinominate/mappate
oldFileSize src.file.size Rinominate/mappate
client_ip src.ip Unita
message src.ip Mappatura: CEF → client_ip
message src.resource.attribute.permissions Mappatura: CEF → old_permissions
old_permissions src.resource.attribute.permissions Unita
cust_client_id src.user.product_object_id Mappato direttamente
details_client_id src.user.product_object_id Mappata direttamente
dntdom target.administrative_domain Rinominate/mappate
destinationServiceName target.application Rinominato/mappato
service target.application Mappato direttamente
service_name target.application Mappato direttamente
application target.domain.name Mappata direttamente
details.size target.file.size Rinominato/mappato
details.host target.hostname Mappato direttamente
target_hostname target.hostname Mappato direttamente
temp_dhost target.hostname Mappata direttamente
IPv6_Address target.ip Unita
dst_ip target.ip Unita
ipv6 target.ip Mappato: - → IPv6_Address
message target.ip Mappato: CEF → dst_ip, CEF → IPv6_Address
mac_address target.mac Unita
message target.mac Mappato: CEF → mac_address
destination_translated_address target.nat_ip Unita
message target.nat_ip Mappatura: CEF → destination_translated_address
destinationTranslatedPort target.nat_port Rinominate/mappate
details.port target.port Rinominate/mappate
dpt target.port Rinominate/mappate
dproc target.process.command_line Rinominato/mappato
File_name target.process.file.full_path Mappato direttamente
Infected_Resource target.process.file.full_path Mappato direttamente
Object target.process.file.full_path Mappato direttamente
Objekt target.process.file.full_path Mappata direttamente
dpid target.process.pid Rinominate/mappate
account_label target.resource.attribute.labels Unita
connection_label target.resource.attribute.labels Unita
message target.resource.attribute.labels Valori mappati (6 in totale, ad es. CEF → resource_Type_label, CEF → name_label, CEF → `u…
name_label target.resource.attribute.labels Unita
resource_Type_label target.resource.attribute.labels Unita
uri_label target.resource.attribute.labels Unita
usageMask_label target.resource.attribute.labels Unita
source target.resource.name Mappato direttamente
request target.url Mappato direttamente
message target.user.attribute.roles Mappato: CEF → target_role
target_role target.user.attribute.roles Unita
CustomerName target.user.user_display_name Mappato direttamente
temp_duser target.user.user_display_name Mappato direttamente
Bruker target.user.userid Mappato direttamente
User_value target.user.userid Mappato direttamente
temp_duid target.user.userid Mappata direttamente
N/D metadata.event_type Costante: GENERIC_EVENT
N/D network.direction Costante: INBOUND
N/D network.ip_protocol Costante: UDP
N/D security_result.severity Costante: LOW
details.host event.idm.read_only_udm.target.hostname Mappato dal log delle modifiche
details.messageFormat event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
details.transport event.idm.read_only_udm.network.ip_protocol Mappato dal log delle modifiche
syslog_timestamp event.idm.read_only_udm.metadata.collected_timestamp Mappato dal log delle modifiche
syslog_host event.idm.read_only_udm.principal.hostname e event.idm.read_only_udm.principal.asset.hostname Mappato dal log delle modifiche
product event.idm.read_only_udm.metadata.product_name Mappato dal log delle modifiche
details.errorMessage event.idm.read_only_udm.security_result.action_details Mappato dal log delle modifiche
sev event.idm.read_only_udm.security_result.detection_fields 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.