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

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. Konfigurationsdatei aufrufen:

    1. Suchen Sie die Datei config.yaml. Normalerweise befindet sie 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 Get Google SecOps ingestion authentication file (Authentifizierungsdatei für die Google SecOps-Aufnahme 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
    
  • Um den Bindplane-Agent unter Windows neu zu starten, 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) auf 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 Remote-Syslog-Serverziel 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 Rohlogs.
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 Zeitstempel des Ereignisses 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 Rohlog.
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 Zeitstempel des Ereignisses 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 Zeitstempel des Ereignisses 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 Rohlog.
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 Zeitstempel des Ereignisses 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 Meldung zu mehreren Ü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. Auf LOCAL festlegen, wenn der Wert local oder LOCAL ist. Andernfalls auf MECHANISM_OTHER festlegen.
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.
Beschreibung 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 Ziel-IPv6-Adresse 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