Symantec Messaging Gateway-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Symantec Messaging Gateway-Logs mit Bindplane in Google Security Operations aufnehmen.

Symantec Messaging Gateway ist ein E‑Mail-Sicherheitsgateway, das Antispam-, Antimalware- und Inhaltsfilterung für Unternehmens-E‑Mails bietet. Es unterstützt die native Syslog-Weiterleitung für E‑Mail-Verarbeitungsereignisse, die Durchsetzung von Richtlinien und Systemstatus-Logs.

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 der Symantec Messaging Gateway-Appliance
  • Wenn der Agent hinter einem Proxy ausgeführt wird, müssen die Firewallports gemäß den Anforderungen des Bindplane-Agents geöffnet sein.
  • Privilegierter Zugriff auf die Symantec Messaging Gateway-Verwaltungskonsole

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 Bereitstellungen: Verwenden Sie die Chronicle API (Option 1).
  • Legacy-Bereitstellungen: Verwenden Sie die Authentifizierungsdatei für die Datenaufnahme (Option 2) weiter, bis die Ingestion API am 20. Juli 2027 eingestellt wird.
  1. Melden Sie sich in der Google Cloud Console 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-Bearbeiter 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, damit der Pfad mit dem Pfad übereinstimmt, in 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 Aufnahme herunterladen (Legacy)

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > Erfassungs-Agents auf.
  3. Laden Sie die Authentifizierungsdatei für die Aufnahme herunter.
  4. Speichern Sie die Datei sicher auf dem System, auf dem der Bindplane-Agent installiert werden soll.

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-Agent auf Ihrem Windows- oder Linux-Betriebssystem gemäß der folgenden Anleitung.

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. 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 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 active (running) angezeigt werden.

Zusätzliche Installationsressourcen

Weitere Installationsoptionen und Informationen zur Problembehebung finden Sie im 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/symantec_mail:
        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: SYMANTEC_MAIL
        raw_log_field: body
    
    service:
      pipelines:
        logs/symantec_mail_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/symantec_mail
    

Konfigurationsparameter

Ersetzen Sie die folgenden Platzhalter:

  • Empfängerkonfiguration:

    • listen_address: IP-Adresse und Port, auf dem gelauscht werden soll:
      • 0.0.0.0, um auf allen Schnittstellen zuzuhören (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: Kundennummer, die aus der Google SecOps-Konsole kopiert wurde
    • location: Ersetzen Sie <LOCATION> durch die Region Ihrer Google SecOps-Instanz (z. B. us, europe oder asia-southeast1). Der Exporter stellt diesem Wert chronicle.googleapis.com voran. Eine vollständige Liste finden Sie unter Regionale Endpunkte.
    • project: Ersetzen Sie <PROJECT_NUMBER> durch die Projektnummer unter IAM & Verwaltung > Einstellungen.
    • endpoint: Behalten Sie die Einstellung chronicle.googleapis.com bei.

Exporter für die Legacy Ingestion API

  • 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/symantec_mail:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: SYMANTEC_MAIL
        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

So starten Sie den Bindplane-Agenten unter Linux neu:

  1. Führen Sie dazu diesen Befehl aus:

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

    sudo systemctl status observiq-otel-collector
    
  3. Prüfen Sie die Logs auf Fehler:

    sudo journalctl -u observiq-otel-collector -f
    

So starten Sie den Bindplane-Agent unter Windows neu:

  1. Wählen Sie eine der folgenden Optionen aus:

    • Eingabeaufforderung oder PowerShell als Administrator:
    net stop observiq-otel-collector && net start observiq-otel-collector
    
    • Services Console:
      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.
  2. Prüfen Sie, ob der Dienst ausgeführt wird:

    sc query observiq-otel-collector
    
  3. Prüfen Sie die Logs auf Fehler:

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

Syslog-Weiterleitung für Symantec Messaging Gateway konfigurieren

  1. Melden Sie sich in der Verwaltungskonsole von Symantec Messaging Gateway an.
  2. Gehen Sie zu Administration > Settings > Logs.
  3. Klicken Sie auf den Tab Remote.
  4. Aktivieren Sie Syslogs.
  5. Konfigurieren Sie den Remote-Syslog-Server:
    • Host: Geben Sie die IP-Adresse des Bindplane-Agent-Hosts ein.
    • Port: Geben Sie 514 ein.
  6. Klicken Sie auf Speichern.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
file.fileNameOrURL about.file.full_path Wert direkt für FILE_INCLUDED kopiert
file.md5 about.file.md5 Wert direkt für FILE_INCLUDED kopiert
file.fileType about.file.mime_type Wert direkt für FILE_INCLUDED kopiert
file.sha256 about.file.sha256 Wert direkt für FILE_INCLUDED kopiert
file.fileSize about.file.size Für FILE_INCLUDED in „unsigned integer“ konvertiert
file.urlCategories, file.urlRiskScore about.labels Zusammengeführte Labels für LINK_INCLUDED
file.fileNameOrURL about.url Wert direkt für LINK_INCLUDED kopiert
emailInfo.longMsgRef, emailInfo.messageId, emailInfo.isOutbound, emailInfo.HELOString, emailInfo.authResults.raw_header, emailInfo.authResults.dkim, emailInfo.authResults.dkim_signing_domain, emailInfo.authResults.spf, emailInfo.authResults.dmarc, emailInfo.authResults.dmarc_policy, emailInfo.authResults.dmarc_override_action, emailInfo.tlsInfo.tlsAdvertised, emailInfo.tlsInfo.tlsUsed, emailInfo.tlsInfo.tlsKeyLength, emailInfo.tlsInfo.tlsFallbackReason, emailInfo.tlsInfo.tlsForwardSecrecy, emailInfo.tlsInfo.tlsNegotiationFailed, emailInfo.messageSize, emailInfo.avQuarantinePenId, emailInfo.rawHeaderFrom, emailInfo.headerReplyTo, emailInfo.newDomainAge, emailInfo.timeInCynicSandboxMs, incidents additional.fields Als Labels zusammengeführt
emailInfo.mailProcessingStartTime, @timestamp metadata.event_timestamp Konvertiert aus „mailProcessingStartTime“, falls vorhanden, andernfalls aus „@timestamp“
metadata.event_type Auf „EMAIL_TRANSACTION“ setzen, wenn „email_from_present“ und „email_to_present“ vorhanden sind, andernfalls auf „NETWORK_CONNECTION“, wenn „has_principal“ und „has_target“ vorhanden sind, andernfalls auf „USER_UNCATEGORIZED“, wenn „has_user“ vorhanden ist, andernfalls auf „STATUS_UPDATE“, wenn „has_principal“ vorhanden ist, andernfalls auf „GENERIC_EVENT“.
emailInfo.xMsgRef metadata.product_log_id Wert direkt kopiert
emailInfo.headerFrom network.email.from Wert wird direkt kopiert, wenn er dem E-Mail-Muster entspricht
emailInfo.subject network.email.subject Wert direkt kopiert
emailInfo.envTo, emailInfo.headerTo network.email.to Zusammengeführt aus „envTo“ und „headerTo“, wenn sie dem E-Mail-Muster entsprechen
emailInfo.tlsInfo.tlsCipher network.tls.cipher Wert direkt kopiert
emailInfo.senderMailserver network.tls.client.server_name Wert direkt kopiert
emailInfo.tlsInfo.tlsPolicy network.tls.version Wert direkt kopiert
emailInfo.tlsInfo.tlsProtocol network.tls.version_protocol Wert direkt kopiert
emailInfo.senderMailserver principal.hostname Wert direkt kopiert
emailInfo.senderIp principal.ip Wert direkt kopiert
emailInfo.country principal.location.country_or_region Wert direkt kopiert
emailInfo.envFrom principal.user.email_addresses Wert direkt kopiert
metadata.product_name Auf „SYMANTEC_MAIL“ festgelegt
metadata.vendor_name Legen Sie diesen Wert auf „SYMANTEC_MAIL“ fest.
hostname event.idm.read_only_udm.principal.hostname und event.idm.read_only_udm.principal.asset.hostname Aus Änderungsprotokoll zugeordnet
process event.idm.read_only_udm.principal.process.file.names Aus Änderungsprotokoll zugeordnet
pid event.idm.read_only_udm.principal.process.pid Aus Änderungsprotokoll zugeordnet
tag event.idm.read_only_udm.metadata.product_event_type Aus Änderungsprotokoll zugeordnet
loglevel event.idm.read_only_udm.security_result.severity Aus Änderungsprotokoll zugeordnet
log_id event.idm.read_only_udm.metadata.product_log_id Aus Änderungsprotokoll zugeordnet
internal_id event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
ruleset event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
ttl event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
source event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
allow_redirect event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
transaction_id event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
component event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
msg_code event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
url event.idm.read_only_udm.target.url Aus Änderungsprotokoll zugeordnet
status event.idm.read_only_udm.network.http.response_code Aus Änderungsprotokoll zugeordnet
description event.idm.read_only_udm.security_result.description Aus Änderungsprotokoll zugeordnet
priority event.idm.read_only_udm.metadata.ingestion_labels Aus Änderungsprotokoll zugeordnet
timestamp event.idm.read_only_udm.metadata.event_timestamp Aus Änderungsprotokoll zugeordnet
emailInfo.longMsgRef", "emailInfo.messageId", "emailInfo.isOutbound", "emailInfo.HELOString", "emailInfo.authResults.raw_header", "emailInfo.authResults.dkim", "emailInfo.authResults.dkim_signing_domain", "emailInfo.authResults.spf", "emailInfo.authResults.dmarc", "emailInfo.authResults.dmarc_policy", "emailInfo.authResults.dmarc_override_action", "emailInfo.tlsInfo.tlsAdvertised", "emailInfo.tlsInfo.tlsUsed", "emailInfo.tlsInfo.tlsKeyLength", "emailInfo.tlsInfo.tlsFallbackReason", "emailInfo.tlsInfo.tlsForwardSecrecy", "emailInfo.tlsInfo.tlsNegotiationFailed", "emailInfo.messageSize", "emailInfo.avQuarantinePenId", "emailInfo.rawHeaderFrom", "emailInfo.headerReplyTo", "emailInfo.newDomainAge", "emailInfo.timeInCynicSandboxMs", and "incidents additional.fields Aus Änderungsprotokoll zugeordnet

Änderungsprotokoll

Änderungsprotokoll für diesen Parser ansehen

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