Raccogli i log di InterSystems Caché

Supportato in:

Questo documento spiega come importare i log di InterSystems Caché in Google Security Operations utilizzando l'agente Bindplane.

InterSystems Caché è una piattaforma di database e applicazioni ad alte prestazioni utilizzata nei servizi sanitari e finanziari. Genera audit log per operazioni di database, accesso utente ed eventi di sistema. Il parser estrae i campi dai dati di controllo di Caché e li mappa al modello Unified Data Model (UDM), acquisendo l'identità dell'utente, gli attributi di rete, i dettagli del processo, le operazioni sui file e i risultati di sicurezza.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Un'istanza Google SecOps
  • Windows Server 2016 o versioni successive oppure host Linux con systemd
  • Connettività di rete tra l'agente Bindplane e il server InterSystems Caché
  • Se l'agente viene eseguito dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane
  • Accesso privilegiato all'istanza di InterSystems Caché con l'autorità per configurare il logging di controllo e l'esportazione dei log

Recuperare il file di autenticazione importazione di Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Agenti di raccolta.
  3. Scarica il file di autenticazione importazione.
  4. Salva il file in modo sicuro sul sistema in cui verrà installato 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 dell'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 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 IN ESECUZIONE.

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 syslog e inviarli 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/intersystems_cache:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: INTERSYSTEMS_CACHE
            raw_log_field: body
    
    service:
        pipelines:
            logs/intersystems_cache:
                receivers:
                    - udplog
                exporters:
                    - chronicle/intersystems_cache
    

Parametri di configurazione

Sostituisci i seguenti segnaposto:

  • Configurazione del ricevitore:

    • udplog: Il tipo di ricevitore in base al protocollo:
      • udplog per syslog UDP
      • tcplog per TCP syslog
      • syslog per syslog RFC 3164/5424
    • 0.0.0.0: Indirizzo IP su cui ascoltare:
      • 0.0.0.0 per ascoltare su tutte le interfacce (consigliato)
      • Indirizzo IP specifico da ascoltare su un'interfaccia
    • 514: numero di porta su cui ascoltare (ad esempio, 514, 1514, 6514)
  • Configurazione dell'esportatore:

    • <customer_id>: l'ID cliente del passaggio precedente
    • malachiteingestion-pa.googleapis.com: URL endpoint regionale:
      • Stati Uniti: malachiteingestion-pa.googleapis.com
      • Europa: europe-malachiteingestion-pa.googleapis.com
      • Asia: asia-southeast1-malachiteingestion-pa.googleapis.com
      • Per un elenco completo, vedi Endpoint regionali.
    • Modifica creds_file_path a seconda della piattaforma:
      • Linux: /etc/bindplane-agent/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json

Salvare 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 Services:

      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 individuare eventuali errori:

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

Configurare l'inoltro di syslog di InterSystems Caché

InterSystems Caché scrive gli eventi di controllo nel proprio database di controllo interno. Configura l'inoltro di syslog per inviare questi eventi all'agente Bindplane.

Abilitare e configurare l'audit logging

  1. Apri il portale di gestione della cache.
  2. Vai a Amministrazione di sistema > Sicurezza > Audit > Configura eventi di sistema.
  3. Attiva gli eventi di controllo che vuoi acquisire (ad esempio %System/%Login/LoginFailure, %System/%Security/Protect).
  4. Fai clic su Salva.

Configurare l'inoltro di Syslog

  1. Nel Management Portal, vai a Amministrazione di sistema > Sicurezza > Controllo > Configura controllo.
  2. Attiva l'inoltro di syslog per gli eventi di controllo.
  3. Fornisci i seguenti dettagli di configurazione:
    • Server Syslog: inserisci l'indirizzo IP dell'host dell'agente Bindplane (ad esempio, 192.168.1.100).
    • Porta: inserisci 514 (deve corrispondere alla porta del ricevitore Bindplane).
    • Protocollo: seleziona UDP (deve corrispondere al tipo di ricevitore Bindplane).
  4. Fai clic su Salva.

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
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 Mappato 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
dvc_mac about.mac Mappato: slotmac_address
dvcmac about.mac Unita
mac_address about.mac Unita
deviceTranslatedAddress about.nat_ip Unita
Emne about.process.command_line Mappato direttamente
Path about.process.command_line Mappato direttamente
Subject about.process.command_line Mappato direttamente
deviceProcessName about.process.command_line Rinominate/mappate
dvcpid about.process.pid Rinominate/mappate
permissions about.resource.attribute.permissions 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_field additional.fields Unita
additional_field_key additional.fields Mappato: smb_stage1additional_smb_stage1
additional_flexString1 additional.fields Unita
additional_fname additional.fields Unita
additional_smb_stage1 additional.fields Unita
cs2 additional.fields Mappato: arc_testadditional_cs2
cs5_label additional.fields Unita
event_name extensions.auth.type Mappato: logoutAUTHTYPE_UNSPECIFIED, loginAUTHTYPE_UNSPECIFIED
field_intermediary intermediary Unita
msg metadata.description Rinominate/mappate
Generated metadata.event_timestamp Analizzato come yyyy-MM-ddTHH:mm:ss
Received metadata.event_timestamp Analizzato come yyyy-MM-ddTHH:mm:ss
rt metadata.event_timestamp Analizzato come yyyy-MM-ddTHH:mm:ssZ
event_name metadata.event_type Mappato: logoutUSER_LOGOUT, loginUSER_LOGIN, `"LogSpyware","LogPredictiveMachin...
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
device_product metadata.product_name Mappato direttamente
device_version metadata.product_version Mappato direttamente
device_vendor metadata.vendor_name Rinominate/mappate
app_protocol_output network.application_protocol Mappato direttamente
deviceDirection network.direction Mappato: 0INBOUND, 1OUTBOUND
requestMethod network.http.method Rinominate/mappate
agentZoneURI network.http.referral_url Mappato direttamente
requestClientApplication network.http.user_agent Rinominate/mappate
ip_protocol_out network.ip_protocol Mappato direttamente
in network.received_bytes Rinominate/mappate
out network.sent_bytes Rinominate/mappate
sntdom principal.administrative_domain Rinominate/mappate
sourceServiceName principal.application Rinominate/mappate
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 Mappato direttamente
shost principal.hostname Rinominate/mappate
principal_ip principal.ip Unita
shost principal.ip Unita
mac principal.mac Unita
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
principal_role principal.user.attribute.roles Unita
suser principal.user.user_display_name Mappato direttamente
suid principal.user.userid Rinominate/mappate
_action security_result.action Unita
act security_result.action Mappato: accept_action, deny_action
Action_Taken security_result.action_details Mappato direttamente
act security_result.action_details Mappato direttamente
cat security_result.category_details Unita
Scan_Type security_result.description Mappato direttamente
Type security_result.description Mappato direttamente
msg_data_2 security_result.description Mappato direttamente
infection_channel_label security_result.detection_fields Unita
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
severity security_result.severity Mappato: "0", "1", "2", "3", "LOW"LOW, `"4", "5", "6", "MEDIUM", "SUBSTANTIAL", "INFO"...
severity security_result.severity_details Mappato direttamente
Result security_result.summary Mappato direttamente
appcategory security_result.summary Mappato direttamente
reason security_result.summary Rinominate/mappate
Spyware security_result.threat_name Mappato direttamente
Unknown_Threat security_result.threat_name Mappato direttamente
Virus_Malware_Name security_result.threat_name Mappato direttamente
oldFilePath src.file.full_path Rinominate/mappate
oldFileSize src.file.size Rinominate/mappate
old_permissions src.resource.attribute.permissions Unita
dntdom target.administrative_domain Rinominate/mappate
app target.application Mappato direttamente
destinationServiceName target.application Rinominate/mappate
ahost target.hostname Mappato direttamente
temp_dhost target.hostname Mappato direttamente
IPv6_Address target.ip Unita
agt target.ip Unita
dst_ip target.ip Unita
ipv6 target.ip Mappato: -IPv6_Address
atz target.location.country_or_region Mappato direttamente
amac target.mac Unita
mac_address target.mac Unita
destination_translated_address target.nat_ip Unita
destinationTranslatedPort target.nat_port Rinominate/mappate
dpt target.port Rinominate/mappate
dproc target.process.command_line Rinominate/mappate
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 Mappato direttamente
dpid target.process.pid Rinominate/mappate
resource_Type_label target.resource.attribute.labels Unita
request target.url Mappato direttamente
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 Mappato direttamente
N/D extensions.auth.type Costante: AUTHTYPE_UNSPECIFIED
N/D metadata.event_type Costante: USER_LOGOUT
N/D network.direction Costante: INBOUND
N/D security_result.severity Costante: LOW

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.