FireEye HX-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie FireEye Endpoint Security (HX)-Logs mit Bindplane in Google Security Operations erfassen. Der Parser versucht, die Eingabenachricht als JSON zu verarbeiten. Wenn die Nachricht nicht im JSON-Format vorliegt, werden mit Grok-Mustern Felder extrahiert und dann wird eine bedingte UDM-Zuordnung basierend auf dem extrahierten Ereignistyp und anderen Kriterien durchgeführt.

Hinweise

  • Prüfen Sie, ob Sie eine Google Security Operations-Instanz haben.
  • Achten Sie darauf, dass Sie Windows 2016 oder höher oder einen Linux-Host mit systemd verwenden.
  • Wenn Sie einen Proxy verwenden, müssen die Firewallports geöffnet sein.
  • Prüfen Sie, ob Sie privilegierten Zugriff auf FireEye Endpoint Security haben.

Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie 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 > „Profil“ auf.
  3. Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.

BindPlane-Agent installieren

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
    

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
    

Zusätzliche Installationsressourcen

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

  1. Greifen Sie auf die Konfigurationsdatei zu:

    1. Suchen Sie die Datei config.yaml. Normalerweise befindet es sich unter Linux im Verzeichnis /etc/bindplane-agent/ oder unter Windows im Installationsverzeichnis.
    2. Öffnen Sie die Datei mit einem Texteditor (z. B. nano, vi oder Notepad).
  2. Bearbeiten Sie die Datei config.yamlso:

    receivers:
        udplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the path to the credentials file you downloaded in Step 1
            creds: '/path/to/ingestion-authentication-file.json'
            # Replace with your actual customer ID from Step 2
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            # Add optional ingestion labels for better organization
            ingestion_labels:
                log_type: 'FIREEYE_HX'
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Ersetzen Sie den Port und die IP-Adresse nach Bedarf in Ihrer Infrastruktur.

  4. Ersetzen Sie <customer_id> durch die tatsächliche Kunden-ID.

  5. Aktualisieren Sie /path/to/ingestion-authentication-file.json auf den Pfad, in dem die Authentifizierungsdatei im Abschnitt Google SecOps-Aufnahmeauthentifizierungsdatei abrufen gespeichert wurde.

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 bindplane-agent
    
  • Wenn Sie den Bindplane-Agent unter Windows neu starten möchten, können Sie entweder die Konsole Dienste verwenden oder den folgenden Befehl eingeben:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Syslog für FireEye HX Event Streamer über die Benutzeroberfläche konfigurieren

  1. Melden Sie sich in der FireEye HX-Verwaltungskonsole an.
  2. Rufen Sie Event Streamer auf.
  3. Wählen Sie Event Streamer auf dem Host aktivieren aus.
  4. Speichern Sie die Richtlinienänderungen.
  5. Gehen Sie zu Ziele > Servereinstellungen > Syslog-Ziel hinzufügen.
  6. Geben Sie die folgenden Konfigurationsdetails an:
    • Name: Geben Sie einen eindeutigen Namen ein, um den Google SecOps-Log-Collector zu kennzeichnen.
    • IP-Adresse: Geben Sie die IP-Adresse des Bindplane-Agents ein.
    • Port: Geben Sie die Portnummer des Bindplane-Agents ein.
  7. Speichern Sie die Änderungen, um sie zu übernehmen.

FireEye HX Event Streamer-Syslog über die Befehlszeile konfigurieren

  1. Melden Sie sich über die Befehlszeile (Command Line Interface, CLI) in der FireEye HX-Appliance an.
  2. Führen Sie den folgenden Befehl aus, um den Konfigurationsmodus zu aktivieren:

    enable
    configure terminal
    
  3. Führen Sie den folgenden Befehl aus, um ein Ziel für einen Remote-Syslog-Server hinzuzufügen:

    logging BINDPLANE_IP_ADDRESS port PORT_NUMBER port
    
    • Dabei gilt:
      • BINDPLANE_IP_ADDRESS: die IP-Adresse des Google SecOps-Forwarders
      • PORT_NUMBER: die Portnummer
  4. Führen Sie den folgenden Befehl aus, um die Konfigurationsdetails zu speichern:

    write mem
    

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
alert.agent._id principal.asset.asset_id Die Agent-ID aus dem Rohlog mit dem Präfix AGENT ID:
alert.agent.url principal.labels.value Die Agent-URL aus dem Rohlog.
alert.condition._id additional.fields.value.string_value Die Bedingungs-ID aus dem Rohlog, wobei = Zeichen entfernt wurden.
alert.condition.url additional.fields.value.string_value Die Bedingungs-URL aus dem Rohlog, wobei = Zeichen entfernt wurden.
alert.decorators[].data.fireeye_report.indicator_verdict.malware_families.0 security_result.threat_name Die Malware-Familie aus dem FireEye-Bericht im Feld „decorators“ des Rohprotokolls.
alert.decorators[].data.fireeye_report.risk_summary security_result.description Die Risikozusammenfassung aus dem FireEye-Bericht im Feld „decorators“ des Rohlogs.
alert.decorators[].data.fireeye_verdict security_result.severity_details Das FireEye-Urteil aus dem Feld „decorators“ des Rohlogs.
alert.event_at read_only_udm.metadata.event_timestamp Der Ereigniszeitstempel aus dem Rohlog.
alert.event_id read_only_udm.metadata.product_log_id Die Ereignis-ID aus dem Rohlog.
alert.event_type read_only_udm.metadata.product_event_type Der Ereignistyp aus dem Rohlog.
alert.event_values.fileWriteEvent/fullPath target.file.full_path Der vollständige Pfad der Datei, die aus dem Rohlog geschrieben wurde.
alert.event_values.fileWriteEvent/md5 target.file.md5 Der MD5-Hash der Datei, die aus dem Rohlog geschrieben wurde.
alert.event_values.fileWriteEvent/pid principal.process.pid Die Prozess-ID, die die Datei aus dem Rohlog geschrieben hat.
alert.event_values.fileWriteEvent/processPath principal.process.file.full_path Der Pfad des Prozesses, der die Datei aus dem Rohlog geschrieben hat. In Kombination mit „alert.event_values.fileWriteEvent/process“ wird der vollständige Pfad erstellt, wenn das Betriebssystem Windows ist.
alert.event_values.fileWriteEvent/size target.file.size Die Größe der Datei, die aus dem Rohprotokoll geschrieben wurde.
alert.event_values.fileWriteEvent/username principal.user.userid Der Nutzer, der die Datei aus dem Rohlog geschrieben hat.
alert.event_values.ipv4NetworkEvent/localIP principal.ip Die lokale IP-Adresse aus dem Rohlog.
alert.event_values.ipv4NetworkEvent/localPort principal.port Der lokale Port aus dem Rohprotokoll.
alert.event_values.ipv4NetworkEvent/pid principal.process.pid Die Prozess-ID aus dem Rohlog.
alert.event_values.ipv4NetworkEvent/process principal.process.file.full_path Der Prozessname aus dem Rohlog. Wird in Kombination mit „alert.event_values.ipv4NetworkEvent/processPath“ verwendet, um den vollständigen Pfad zu erstellen, wenn das Betriebssystem Windows ist.
alert.event_values.ipv4NetworkEvent/processPath principal.process.file.full_path Der Prozesspfad aus dem Rohlog. Wird in Kombination mit „alert.event_values.ipv4NetworkEvent/process“ verwendet, um den vollständigen Pfad zu erstellen, wenn das Betriebssystem Windows ist.
alert.event_values.ipv4NetworkEvent/protocol network.ip_protocol Das Netzwerkprotokoll aus dem Rohprotokoll.
alert.event_values.ipv4NetworkEvent/remoteIP target.ip Die Remote-IP-Adresse aus dem Rohlog.
alert.event_values.ipv4NetworkEvent/remotePort target.port Der Remote-Port aus dem Rohprotokoll.
alert.event_values.ipv4NetworkEvent/timestamp read_only_udm.metadata.event_timestamp Der Ereigniszeitstempel aus dem Rohlog.
alert.event_values.ipv4NetworkEvent/username principal.user.userid Der Nutzer aus dem Rohlog.
alert.event_values.processEvent/md5 target.process.file.md5 Der MD5-Hash des Prozesses aus dem Rohlog.
alert.event_values.processEvent/parentPid principal.process.pid Die ID des übergeordneten Prozesses aus dem Rohlog.
alert.event_values.processEvent/parentProcess principal.process.file.full_path Der Name des übergeordneten Prozesses aus dem Rohlog.
alert.event_values.processEvent/parentProcessPath principal.process.file.full_path Der Pfad des übergeordneten Prozesses aus dem Rohlog.
alert.event_values.processEvent/pid target.process.pid Die Prozess-ID aus dem Rohlog.
alert.event_values.processEvent/process target.process.file.full_path Der Prozessname aus dem Rohlog.
alert.event_values.processEvent/processCmdLine target.process.command_line Die Befehlszeile des Prozesses aus dem Rohlog.
alert.event_values.processEvent/processPath target.process.file.full_path Der Prozesspfad aus dem Rohlog.
alert.event_values.processEvent/timestamp read_only_udm.metadata.event_timestamp Der Ereigniszeitstempel aus dem Rohlog.
alert.event_values.processEvent/username principal.user.userid Der Nutzer aus dem Rohlog.
alert.event_values.urlMonitorEvent/hostname target.hostname Der Hostname aus dem Rohlog.
alert.event_values.urlMonitorEvent/localPort principal.port Der lokale Port aus dem Rohprotokoll.
alert.event_values.urlMonitorEvent/pid principal.process.pid Die Prozess-ID aus dem Rohlog.
alert.event_values.urlMonitorEvent/process principal.process.file.full_path Der Prozessname aus dem Rohlog. Wird mit „alert.event_values.urlMonitorEvent/processPath“ kombiniert, um den vollständigen Pfad zu erstellen, wenn das Betriebssystem Windows ist.
alert.event_values.urlMonitorEvent/processPath principal.process.file.full_path Der Prozesspfad aus dem Rohlog. Wird mit „alert.event_values.urlMonitorEvent/process“ kombiniert, um den vollständigen Pfad zu erstellen, wenn das Betriebssystem Windows ist.
alert.event_values.urlMonitorEvent/remoteIpAddress target.ip Die Remote-IP-Adresse aus dem Rohlog.
alert.event_values.urlMonitorEvent/remotePort target.port Der Remote-Port aus dem Rohprotokoll.
alert.event_values.urlMonitorEvent/requestUrl target.url Die angeforderte URL aus dem Rohlog.
alert.event_values.urlMonitorEvent/timestamp read_only_udm.metadata.event_timestamp Der Ereigniszeitstempel aus dem Rohlog.
alert.event_values.urlMonitorEvent/urlMethod network.http.method Die HTTP-Methode aus dem Rohlog.
alert.event_values.urlMonitorEvent/userAgent network.http.user_agent Der User-Agent aus dem Rohlog.
alert.event_values.urlMonitorEvent/username principal.user.userid Der Nutzer aus dem Rohlog.
alert.indicator._id security_result.about.labels.value Die Indikator-ID aus dem Rohlog.
alert.indicator.name read_only_udm.security_result.summary Der Name des Indikators aus dem Rohlog.
alert.indicator.url security_result.about.labels.value Die Indikator-URL aus dem Rohlog.
alert.multiple_match read_only_udm.metadata.description Die Nachricht über mehrere Übereinstimmungen aus dem Rohlog.
alert.source additional.fields.value.string_value Die Quelle der Benachrichtigung aus dem Rohlog.
authmethod extensions.auth.mechanism Die Authentifizierungsmethode aus dem Rohlog. Legen Sie den Wert auf LOCAL fest, wenn der Wert local oder LOCAL ist. Legen Sie ihn andernfalls auf MECHANISM_OTHER fest.
authsubmethod extensions.auth.auth_details Die Authentifizierungsunterverfahren aus dem Rohlog, in Großbuchstaben.
Client principal.ip Die Client-IP-Adresse aus dem Rohlog.
conditions.data.tests[].token security_result.detection_fields.key Das Token aus den Bedingungstests im Rohlog.
conditions.data.tests[].value security_result.detection_fields.value Der Wert aus den Bedingungstests im Rohlog.
description read_only_udm.metadata.description Die Beschreibung aus dem Rohlog.
host.agent_version read_only_udm.metadata.product_version Die Agent-Version aus dem Rohlog.
host.containment_state read_only_udm.principal.containment_state Der Eindämmungsstatus aus dem Rohlog.
host.domain read_only_udm.principal.administrative_domain Die Domain aus dem Rohlog.
host.hostname read_only_udm.principal.hostname Der Hostname aus dem Rohlog.
host.os.platform read_only_udm.principal.platform Die Betriebssystemplattform aus dem Rohlog.
host.os.product_name read_only_udm.principal.platform_version Der Produktname des Betriebssystems aus dem Rohlog.
host.primary_ip_address read_only_udm.principal.ip Die primäre IP-Adresse aus dem Rohlog.
host.primary_mac read_only_udm.principal.mac Die primäre MAC-Adresse aus dem Rohlog, wobei --Zeichen durch : ersetzt werden.
host_ principal.hostname Der Hostname aus dem Rohlog.
host_details.data.agent_version read_only_udm.metadata.product_version Die Agent-Version aus dem Rohlog.
host_details.data.containment_state read_only_udm.security_result.severity_details Der Eindämmungsstatus aus dem Rohlog.
host_details.data.domain read_only_udm.principal.administrative_domain Die Domain aus dem Rohlog.
host_details.data.hostname read_only_udm.principal.hostname Der Hostname aus dem Rohlog.
host_details.data.os.platform read_only_udm.principal.platform Die Betriebssystemplattform aus dem Rohlog.
host_details.data.os.product_name read_only_udm.principal.platform_version Der Produktname des Betriebssystems aus dem Rohlog.
host_details.data.primary_ip_address read_only_udm.principal.ip Die primäre IP-Adresse aus dem Rohlog.
host_details.data.primary_mac read_only_udm.principal.mac Die primäre MAC-Adresse aus dem Rohlog, wobei --Zeichen durch : ersetzt werden.
indicators.data.description read_only_udm.metadata.description Die Beschreibung des Indikators aus dem Rohlog.
Linie target.application Die Zeile aus dem Rohlog.
lokaler Nutzername target.user.user_display_name Der lokale Nutzername aus dem Rohlog.
principal_ip principal.ip Die primäre IP-Adresse aus dem Rohlog.
verarbeiten read_only_udm.principal.application Der Prozessname aus dem Rohlog.
process_id read_only_udm.principal.process.pid Die Prozess-ID aus dem Rohlog.
referrer network.http.referral_url Die Referrer-URL aus dem Rohlog.
remoteaddress principal.ip Die Remote-Adresse aus dem Rohlog.
Anfrage additional.fields.value.string_value Die Anfrage aus dem Rohlog.
Rolle target.user.role_name Die Rolle aus dem Rohlog.
Server target.resource.attribute.labels.value Der Server aus dem Rohlog.
sessionID network.session_id Die Sitzungs-ID aus dem Rohlog.
die Ausprägung security_result.severity Legen Sie dafür LOW, MEDIUM oder HIGH fest, je nach Schweregrad im Rohlog.
target_host read_only_udm.target.hostname Der Ziel-Hostname aus dem Rohlog.
target_ip target.ip Die Ziel-IP-Adresse aus dem Rohlog.
target_ip1 target.ip Die IPv6-Zieladresse aus dem Rohlog.
timestamp timestamp Der Zeitstempel aus dem Rohlog.
Upstream target.url Die Upstream-URL aus dem Rohlog.
Nutzername target.user.userid Der Nutzername aus dem Rohlog.

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