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-Agenten 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

Google SecOps-Anmeldedaten für den Bindplane-Agenten abrufen

Wählen Sie eine der folgenden Methoden aus, um den Bindplane-Agenten bei Google SecOps zu authentifizieren:

  • Neue Deployments: Verwenden Sie die Chronicle API (Option 1).
  • Alte Bereitstellungen: Verwenden Sie die Datei für die Authentifizierung bei der Aufnahme (Option 2) weiterhin, bis die Ingestion API am 20. Juli 2027 eingestellt wird.
  1. Melden Sie sich in der Google Cloud -Konsole an und wählen Sie das Google Cloud -Projekt aus, das mit Ihrer Google SecOps-Instanz verknüpft ist.
  2. Rufen Sie IAM und Verwaltung > Dienstkonten auf.
  3. Klicken Sie auf Dienstkonto erstellen.
  4. Geben Sie die folgenden Konfigurationsdetails an:
    • Name des Dienstkontos: Geben Sie einen Namen für das Konto ein, z. B. bindplane-ingest.
    • Dienstkontobeschreibung: Geben Sie eine Beschreibung ein, z. B. Bindplane agent log ingestion.
  5. Klicken Sie auf Erstellen und fortfahren.
  6. Klicken Sie im Abschnitt Diesem Dienstkonto Zugriff auf das Projekt erteilen auf Rolle auswählen und wählen Sie Chronicle Editor aus.
  7. Klicken Sie auf Weiter und dann auf Fertig.
  8. Klicken Sie auf das von Ihnen erstellte Dienstkonto und rufen Sie den Tab Schlüssel auf.
  9. Klicken Sie auf Schlüssel hinzufügen > Neuen Schlüssel erstellen.
  10. Wählen Sie JSON aus und klicken Sie auf Erstellen. Die Schlüsseldatei wird auf Ihren Computer heruntergeladen.
  11. Speichern Sie die Schlüsseldatei als ingestion-auth.json im Bindplane-Collector-Verzeichnis (/opt/observiq-otel-collector/ingestion-auth.json unter Linux oder C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json unter Windows) oder aktualisieren Sie creds_file_path in config.yaml, sodass der Pfad mit dem Pfad übereinstimmt, unter dem Sie die Datei speichern.
  12. Rufen Sie IAM und Verwaltung > Einstellungen auf und kopieren Sie die Projektnummer. Sie benötigen sie für die Konfiguration des Exporters.

Option 2: Authentifizierungsdatei für die Datenaufnahme herunterladen (Legacy)

  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 Datenaufnahme herunter.
  4. Speichern Sie die Datei sicher auf dem System, auf dem der Bindplane-Agent installiert wird.

Google SecOps-Kundennummer abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > Profil auf.
  3. Kopieren und speichern Sie die Kundennummer aus dem Bereich Organization Details (Organisationsdetails).

Bindplane-Agent installieren

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

Windows-Installation

  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. Warte, bis die Installation abgeschlossen ist.

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

    sc query observiq-otel-collector
    

    Der Dienst sollte als RUNNING 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. Warte, bis die Installation abgeschlossen ist.

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

    sudo systemctl status observiq-otel-collector
    

    Der Dienst sollte als active (running) 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:
        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: 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 auf allen Schnittstellen zu lauschen (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 JSON-Schlüsseldatei des Dienstkontos (Option 1):
      • Linux: /opt/observiq-otel-collector/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
    • location: Ersetzen Sie <LOCATION> durch die Region Ihrer Google SecOps-Instanz (z. B. us, europe oder asia-southeast1). Der Exporteur stellt diesem Wert das Präfix chronicle.googleapis.com voran. Eine vollständige Liste finden Sie unter Regionale Endpunkte.
    • project: Ersetzen Sie <PROJECT_NUMBER> durch die Projektnummer aus IAM & Verwaltung > Einstellungen.
    • endpoint: Behalten Sie die Einstellung chronicle.googleapis.com bei.

Legacy-Ingestion-API-Exporter

  • Wenn Sie die Datei zur Authentifizierung bei der Aufnahme aus Option 2 verwenden, ersetzen Sie den Block exporters durch Folgendes. Legen Sie für creds_file_path den Pfad zur Authentifizierungsdatei für die Datenaufnahme fest. Wenn sich Ihre Instanz außerhalb der USA befindet, ersetzen Sie malachiteingestion-pa.googleapis.com durch Ihren regionalen Endpunkt (z. B. europe-malachiteingestion-pa.googleapis.com).

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

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-Agenten 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-Agenten unter Windows neu zu starten:

    • Eingabeaufforderung oder PowerShell als Administrator:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Dienstkonsole:

      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 > Settings > Syslog Settings.
  3. Klicken Sie auf das Kästchen 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: Setzen Sie ein Häkchen bei SOCKS-Proxyserver verwenden. Achten Sie darauf, dass die Proxy-Einstellungen unter Verwaltung > Einstellungen > Proxy-Einstellungen konfiguriert sind.
  6. Logformat: Wählen Sie CEF aus.
  7. Häufigkeit: Legen Sie fest, wie oft Protokolle an den Syslog-Server weitergeleitet werden.
  8. Logtyp: Wählen Sie Sicherheitslogs 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 Wird direkt aus dem Feld cn1Label zugeordnet.
cn2 additional.fields[6].value.string_value Direkt aus dem Feld cn2 zugeordnet. Der Schlüssel wird von cn2Label abgeleitet.
cn2Label additional.fields[6].key Wird direkt aus dem Feld cn2Label zugeordnet.
cn3 additional.fields[2].value.string_value Wird direkt aus dem Feld cn3 zugeordnet. Der Schlüssel wird von cn3Label abgeleitet.
cn3Label additional.fields[2].key Wird direkt aus dem Feld cn3Label zugeordnet.
cs1 additional.fields[0].value.string_value Direkt aus dem Feld cs1 zugeordnet. Der Schlüssel wird von cs1Label abgeleitet.
cs1Label additional.fields[0].key Direkt aus dem Feld cs1Label zugeordnet.
cs2 additional.fields[1].value.string_value Wird direkt aus dem Feld cs2 zugeordnet. Der Schlüssel wird von cs2Label abgeleitet.
cs2Label additional.fields[1].key Wird direkt aus dem Feld cs2Label zugeordnet.
cs3 additional.fields[5].value.string_value Wird direkt aus dem Feld cs3 zugeordnet. Der Schlüssel wird von 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 von cs4Label abgeleitet.
cs4Label additional.fields[0].key Wird direkt aus dem Feld cs4Label zugeordnet.
cs5 additional.fields[2].value.string_value Wird 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 von cs6Label abgeleitet.
cs6Label additional.fields[7].key Wird 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 Wird direkt aus dem Feld deviceNtDomain zugeordnet.
devicePayloadId additional.fields[3].value.string_value Wird direkt aus dem Feld devicePayloadId zugeordnet. Der Schlüssel ist als „devicePayloadId“ hartcodiert.
deviceProcessName about.process.command_line Wird direkt aus dem Feld deviceProcessName zugeordnet.
dhost target.hostname Direkt aus dem Feld dhost zugeordnet.
dntdom target.administrative_domain Wird direkt aus dem Feld dntdom zugeordnet.
dst target.ip Wird direkt aus dem Feld dst zugeordnet.
duser target.user.userid, target.user.user_display_name Direkt aus dem Feld duser zugeordnet.
dvchost about.hostname Wird direkt aus dem Feld dvchost zugeordnet.
fileHash about.file.full_path Wird direkt aus dem Feld fileHash zugeordnet.
fname additional.fields[9].value.string_value Wird 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 Wird 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 Wird direkt aus dem Feld src zugeordnet.
TMCMdevicePlatform principal.platform Wird basierend auf der Logik im Parser zugeordnet. Die Werte werden zu „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“. Hartcodiert auf „TRENDMICRO_APEX_ONE“. Fest codiert auf „TRENDMICRO_APEX_ONE“. Aus dem CEF-Header im Feld message extrahiert. Fest auf „LOW“ codiert.
TMCMdevicePlatform event.idm.read_only_udm.principal.platform_version Aus Änderungsprotokoll zugeordnet
filePath event.idm.read_only_udm.target.file.full_path Aus Änderungsprotokoll zugeordnet
cnt event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
ihost event.idm.read_only_udm.intermediary.hostname Aus Änderungsprotokoll zugeordnet
ihost event.idm.read_only_udm.intermediary.asset.hostname Aus Änderungsprotokoll zugeordnet
deviceFacility event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
ApexCentralHost event.idm.read_only_udm.observer.hostname Aus Änderungsprotokoll zugeordnet
ApexCentralHost event.idm.read_only_udm.observer.asset.hostname Aus Änderungsprotokoll zugeordnet
cs2 event.idm.read_only_udm.principal.ip Aus Änderungsprotokoll zugeordnet
cs2 event.idm.read_only_udm.principal.asset.ip Aus Änderungsprotokoll zugeordnet
suser event.idm.read_only_udm.target.user.userid Aus Änderungsprotokoll zugeordnet
fname event.idm.read_only_udm.about.file.full_path Aus Änderungsprotokoll zugeordnet
priority event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
inter_ip intermediary.ip und intermediary.asset.ip Aus Änderungsprotokoll zugeordnet
intermediary event.idm.read_only_udm.intermediary Aus Änderungsprotokoll zugeordnet
fileHash event.idm.read_only_udm.target.file.sha1 Aus Änderungsprotokoll zugeordnet
cs5 event.idm.read_only_udm.security_result.action_details Aus Änderungsprotokoll zugeordnet

Änderungsprotokoll

Änderungsprotokoll für diesen Parser ansehen

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