Trend Micro Apex One-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Trend Micro Apex One-Logs mit dem Bindplane-Agent in Google Security Operations aufnehmen.

Trend Micro Apex One ist eine Endpunktsicherheitsplattform, die Syslog-Nachrichten im CEF-Format für Malware-Erkennungen, Ereignisse zur Verhinderung von Eindringlingen, verdächtige Dateiaktivitäten, Web-Reputationsurteile und Gerätesteuerungsereignisse generiert. Der Parser extrahiert Felder aus CEF-formatierten Logs und ordnet sie dem Unified Data Model (UDM) zu.

Hinweis

Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:

  • Eine Google SecOps-Instanz
  • Windows Server 2016 oder höher oder Linux-Host mit systemd
  • Netzwerkverbindung zwischen dem Bindplane-Agent und dem Trend Micro Apex Central-Server
  • Wenn Sie den Agent hinter einem Proxy ausführen, müssen die Firewallports gemäß den Anforderungen des Bindplane-Agents geöffnet sein.
  • Administratorzugriff auf die Apex Central-Konsole

Authentifizierungsdatei für die Google SecOps-Datenaufnahme abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > Collection Agents auf.
  3. Laden Sie die Authentifizierungsdatei für die Aufnahme herunter. Speichern Sie die Datei sicher auf dem System, auf dem BindPlane installiert wird.

Google SecOps-Kundennummer abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > Profile auf.
  3. Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.

BindPlane-Agent installieren

Installieren Sie den Bindplane-Agent auf Ihrem Windows- oder Linux-Betriebssystem gemäß der folgenden Anleitung.

Fenstereinbau

  1. Öffnen Sie die Eingabeaufforderung oder PowerShell als Administrator.
  2. Führen Sie dazu diesen Befehl aus:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. Warten Sie, bis die Installation abgeschlossen ist.

  4. Überprüfen Sie die Installation mit folgendem Befehl:

    sc query observiq-otel-collector
    

    Der Dienst sollte als RUNNING (Wird ausgeführt) angezeigt werden.

Linux-Installation

  1. Öffnen Sie ein Terminal mit Root- oder Sudo-Berechtigungen.
  2. Führen Sie dazu diesen Befehl aus:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. Warten Sie, bis die Installation abgeschlossen ist.

  4. Überprüfen Sie die Installation mit folgendem Befehl:

    sudo systemctl status observiq-otel-collector
    

    Der Dienst sollte als aktiv (wird ausgeführt) angezeigt werden.

Zusätzliche Installationsressourcen

Weitere Installationsoptionen und Informationen zur Fehlerbehebung finden Sie in der Installationsanleitung für den Bindplane-Agent.

BindPlane-Agent zum Erfassen von Syslog-Daten und Senden an Google SecOps konfigurieren

Konfigurationsdatei suchen

  • Linux:

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

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

Konfigurationsdatei bearbeiten

  • Ersetzen Sie den gesamten Inhalt von config.yaml durch die folgende Konfiguration:

    receivers:
        udplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/trendmicro_apex_one:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: TRENDMICRO_APEX_ONE
            raw_log_field: body
    
    service:
        pipelines:
            logs/trendmicro_apex_one_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/trendmicro_apex_one
    

Konfigurationsparameter

Ersetzen Sie die folgenden Platzhalter:

  • Empfängerkonfiguration:

    • listen_address: IP-Adresse und Port, auf die gewartet werden soll:
      • 0.0.0.0, um alle Schnittstellen zu überwachen (empfohlen)
      • Port 514 ist der Standard-Syslog-Port (erfordert Root unter Linux; verwenden Sie 1514 für Nicht-Root).
  • Exporter-Konfiguration:

    • creds_file_path: Vollständiger Pfad zur Datei für die Authentifizierung bei der Aufnahme:
      • Linux: /etc/bindplane-agent/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id: Die Kundennummer, die aus der Google SecOps Console kopiert wurde
    • endpoint: Regionale Endpunkt-URL:
      • USA: malachiteingestion-pa.googleapis.com
      • Europa: europe-malachiteingestion-pa.googleapis.com
      • Asien: asia-southeast1-malachiteingestion-pa.googleapis.com
      • Eine vollständige Liste finden Sie unter Regionale Endpunkte.

Konfigurationsdatei speichern

  • Speichern Sie die Datei nach der Bearbeitung:
    • Linux: Drücken Sie Ctrl+O, dann Enter und dann Ctrl+X.
    • Windows: Klicken Sie auf Datei > Speichern.

Bindplane-Agent neu starten, um die Änderungen zu übernehmen

  • Führen Sie den folgenden Befehl aus, um den Bindplane-Agent unter Linux neu zu starten:

    sudo systemctl restart observiq-otel-collector
    
    1. Prüfen Sie, ob der Dienst ausgeführt wird:

      sudo systemctl status observiq-otel-collector
      
    2. Logs auf Fehler prüfen:

      sudo journalctl -u observiq-otel-collector -f
      
  • Wählen Sie eine der folgenden Optionen aus, um den Bindplane-Agent unter Windows neu zu starten:

    • Eingabeaufforderung oder PowerShell als Administrator:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Services-Konsole:

      1. Drücken Sie Win+R, geben Sie services.msc ein und drücken Sie die Eingabetaste.
      2. Suchen Sie nach observIQ OpenTelemetry Collector.
      3. Klicken Sie mit der rechten Maustaste und wählen Sie Neu starten aus.
      4. Prüfen Sie, ob der Dienst ausgeführt wird:

        sc query observiq-otel-collector
        
      5. Logs auf Fehler prüfen:

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

Syslog-Weiterleitung in Trend Micro Apex One konfigurieren

  1. Melden Sie sich mit Administratoranmeldedaten in der Apex Central-Konsole an.
  2. Gehen Sie zu Administration> Einstellungen > Syslog-Einstellungen.
  3. Klicken Sie auf das Kästchen mit der Bezeichnung Syslog-Weiterleitung aktivieren.
  4. Konfigurieren Sie die Syslog-Serverdetails:
    • Serveradresse: Geben Sie die IP-Adresse oder den FQDN des Bindplane-Agents ein.
    • Port: Geben Sie die Portnummer des Bindplane-Agents ein, z. B. 514 für UDP.
    • Protokoll: Wählen Sie UDP als Übertragungsprotokoll aus.
  5. Optional: Proxy-Einstellungen konfigurieren: Aktivieren Sie SOCKS-Proxyserver verwenden (achten Sie darauf, dass die Proxy-Einstellungen unter Verwaltung > Einstellungen > Proxy-Einstellungen konfiguriert sind).
  6. Log Format (Logformat): Wählen Sie CEF aus.
  7. Häufigkeit: Legen Sie fest, wie oft Logs an den Syslog-Server weitergeleitet werden.
  8. Log-Typ: Wählen Sie Sicherheitsprotokolle und Produktinformationen aus.
  9. Klicken Sie auf Verbindung testen, um sicherzustellen, dass Apex Central mit dem Syslog-Server kommunizieren kann.
  10. Klicken Sie auf Speichern, um die Einstellungen zu übernehmen.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
act security_result.action_details Direkt aus dem Feld act zugeordnet.
ApexCentralHost about.asset.asset_id Wird als Teil der Logik zur Generierung von „asset_id“ verwendet. Dem Feld deviceExternalId wird der Wert „Trend Micro.Apex Central:“ vorangestellt.
app target.port Direkt aus dem Feld app zugeordnet.
cat security_result.category_details Direkt aus dem Feld cat zugeordnet.
cn1 additional.fields[4].value.string_value Direkt aus dem Feld cn1 zugeordnet. Der Schlüssel wird aus cn1Label abgeleitet.
cn1Label additional.fields[4].key Direkt aus dem Feld cn1Label zugeordnet.
cn2 additional.fields[6].value.string_value Direkt aus dem Feld cn2 zugeordnet. Der Schlüssel wird aus cn2Label abgeleitet.
cn2Label additional.fields[6].key Direkt aus dem Feld cn2Label zugeordnet.
cn3 additional.fields[2].value.string_value Direkt aus dem Feld cn3 zugeordnet. Der Schlüssel wird aus cn3Label abgeleitet.
cn3Label additional.fields[2].key Direkt aus dem Feld cn3Label zugeordnet.
cs1 additional.fields[0].value.string_value Direkt aus dem Feld cs1 zugeordnet. Der Schlüssel wird aus cs1Label abgeleitet.
cs1Label additional.fields[0].key Direkt aus dem Feld cs1Label zugeordnet.
cs2 additional.fields[1].value.string_value Direkt aus dem Feld cs2 zugeordnet. Der Schlüssel wird aus cs2Label abgeleitet.
cs2Label additional.fields[1].key Direkt aus dem Feld cs2Label zugeordnet.
cs3 additional.fields[5].value.string_value Direkt aus dem Feld cs3 zugeordnet. Der Schlüssel wird aus cs3Label abgeleitet.
cs3Label additional.fields[5].key Direkt aus dem Feld cs3Label zugeordnet.
cs4 additional.fields[0].value.string_value Direkt aus dem Feld cs4 zugeordnet. Der Schlüssel wird aus cs4Label abgeleitet.
cs4Label additional.fields[0].key Direkt aus dem Feld cs4Label zugeordnet.
cs5 additional.fields[2].value.string_value Direkt aus dem Feld cs5 zugeordnet. Der Schlüssel wird aus cs5Label abgeleitet.
cs5Label additional.fields[2].key Direkt aus dem Feld cs5Label zugeordnet.
cs6 additional.fields[7].value.string_value Direkt aus dem Feld cs6 zugeordnet. Der Schlüssel wird aus cs6Label abgeleitet.
cs6Label additional.fields[7].key Direkt aus dem Feld cs6Label zugeordnet.
deviceExternalId about.asset.asset_id Wird als Teil der Logik zur Generierung von „asset_id“ verwendet. Dem Feld wird der Wert „Trend Micro.Apex Central:“ vorangestellt.
deviceNtDomain about.administrative_domain Direkt aus dem Feld deviceNtDomain zugeordnet.
devicePayloadId additional.fields[3].value.string_value Direkt aus dem Feld devicePayloadId zugeordnet. Der Schlüssel ist als „devicePayloadId“ hartcodiert.
deviceProcessName about.process.command_line Direkt aus dem Feld deviceProcessName zugeordnet.
dhost target.hostname Direkt aus dem Feld dhost zugeordnet.
dntdom target.administrative_domain Direkt aus dem Feld dntdom zugeordnet.
dst target.ip Direkt aus dem Feld dst zugeordnet.
duser target.user.userid, target.user.user_display_name Direkt aus dem Feld duser zugeordnet.
dvchost about.hostname Direkt aus dem Feld dvchost zugeordnet.
fileHash about.file.full_path Direkt aus dem Feld fileHash zugeordnet.
fname additional.fields[9].value.string_value Direkt aus dem Feld fname zugeordnet. Der Schlüssel ist als „fname“ hartcodiert.
message metadata.product_event_type Der CEF-Header wird aus dem Nachrichtenfeld extrahiert.
request target.url Direkt aus dem Feld request zugeordnet.
rt metadata.event_timestamp Direkt aus dem Feld rt zugeordnet.
shost principal.hostname Direkt aus dem Feld shost zugeordnet.
src principal.ip Direkt aus dem Feld src zugeordnet.
TMCMdevicePlatform principal.platform Wird basierend auf der Logik im Parser zugeordnet. Die Werte werden auf „WINDOWS“, „MAC“ oder „LINUX“ normalisiert.
TMCMLogDetectedHost principal.hostname Direkt aus dem Feld TMCMLogDetectedHost zugeordnet.
TMCMLogDetectedIP principal.ip Direkt aus dem Feld TMCMLogDetectedIP zugeordnet. Abgeleitet von der Parserlogik basierend auf dem Vorhandensein anderer Felder. Mögliche Werte sind „USER_UNCATEGORIZED“, „STATUS_UPDATE“ oder „GENERIC_EVENT“. Fest codiert auf „TRENDMICRO_APEX_ONE“. Fest codiert auf „TRENDMICRO_APEX_ONE“. Aus dem CEF-Header im Feld message extrahiert. Fest codiert auf „LOW“.
TMCMdevicePlatform event.idm.read_only_udm.principal.platform_version Aus dem Änderungsprotokoll zugeordnet
filePath event.idm.read_only_udm.target.file.full_path Aus dem Änderungsprotokoll zugeordnet
cnt event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
ihost event.idm.read_only_udm.intermediary.hostname Aus dem Änderungsprotokoll zugeordnet
ihost event.idm.read_only_udm.intermediary.asset.hostname Aus dem Änderungsprotokoll zugeordnet
deviceFacility event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
ApexCentralHost event.idm.read_only_udm.observer.hostname Aus dem Änderungsprotokoll zugeordnet
ApexCentralHost event.idm.read_only_udm.observer.asset.hostname Aus dem Änderungsprotokoll zugeordnet
cs2 event.idm.read_only_udm.principal.ip Aus dem Änderungsprotokoll zugeordnet
cs2 event.idm.read_only_udm.principal.asset.ip Aus dem Änderungsprotokoll zugeordnet
suser event.idm.read_only_udm.target.user.userid Aus dem Änderungsprotokoll zugeordnet
fname event.idm.read_only_udm.about.file.full_path Aus dem Änderungsprotokoll zugeordnet
priority event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
inter_ip intermediary.ip und intermediary.asset.ip Aus dem Änderungsprotokoll zugeordnet
intermediary event.idm.read_only_udm.intermediary Aus dem Änderungsprotokoll zugeordnet
fileHash event.idm.read_only_udm.target.file.sha1 Aus dem Änderungsprotokoll zugeordnet
cs5 event.idm.read_only_udm.security_result.action_details Aus dem Änderungsprotokoll zugeordnet

Änderungsprotokoll

Änderungsprotokoll für diesen Parser ansehen

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten