Elastic Packet Beats-Logs erfassen

Parserversion: 4.0

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Elastic Packet Beats-Logs mit Bindplane in Google Security Operations aufnehmen. Der Parser initialisiert zuerst Standardwerte für verschiedene Felder, die in Elastic Packet Beats-Logs gefunden werden. Anschließend werden Daten aus den Logeinträgen mithilfe einer Kombination aus grok-Mustern und json-Filtern extrahiert, Datentypkonvertierungen durchgeführt und die extrahierten Felder den entsprechenden Feldern im Unified Data Model (UDM) basierend auf dem Ereignis-Dataset-Typ (z. B. flow, dns, http, tls, dhcpv4) zugeordnet.

Hinweis

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

  • Eine Google SecOps-Instanz.
  • Einen Windows 2016- oder höheren oder Linux-Host mit systemd.
  • 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 Elastic Packet Beats-Verwaltungskonsole oder -Appliance.
  • Logstash ist installiert und konfiguriert.

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 -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 Exporter-Konfiguration.

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

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie Einstellungen > Datenverwaltung > Erfassungs-Agents auf. Wenn Sie eine reine SIEM-Plattform verwenden, rufen Sie die Einstellungen > Erfassungs-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 werden soll.

Google SecOps-Kundennummer abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Gehen Sie zu Einstellungen > Verwaltung > Profil. Wenn Sie eine reine SIEM-Plattform verwenden, rufen Sie die Einstellungen > Profil auf.
  3. Kopieren und speichern Sie die Kundennummer aus dem Bereich 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
    

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

Weitere Installationsoptionen finden Sie in der Installationsanleitung.

Bindplane-Agent für die Aufnahme von Syslog und das Senden an Google SecOps konfigurieren

  1. Greifen Sie auf die Konfigurationsdatei zu:

    • Suchen Sie die Datei config.yaml. In der Regel befindet sie sich unter Linux im Verzeichnis /opt/observiq-otel-collector/ oder unter Windows im Installationsverzeichnis.
    • Ö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:
        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
        # Adjust the path to the credentials file you downloaded in Step 1
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        # Replace with your actual customer ID from Step 2
        customer_id: YOUR_CUSTOMER_ID
        endpoint: chronicle.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'ELASTIC_PACKETBEATS'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    
    • Ersetzen Sie den Port und die IP-Adresse nach Bedarf in Ihrer Infrastruktur.
    • 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.
    • Ersetzen Sie <PROJECT_NUMBER> durch die Projektnummer aus IAM und Verwaltung > Einstellungen.
    • Ersetzen Sie YOUR_CUSTOMER_ID durch die tatsächliche Kundennummer.
    • Aktualisieren Sie /path/to/ingestion-authentication-file.json auf den Pfad, unter dem die Dienstkontoschlüsseldatei (Option 1) im Abschnitt Google SecOps-Anmeldedaten für den Bindplane-Agenten abrufen gespeichert wurde.

Legacy-Ingestion-API-Exporter

  • Wenn Sie die Authentifizierungsdatei für die Datenaufnahme 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/chronicle_w_labels:
        compression: gzip
        # Adjust the path to the credentials file you downloaded in Step 1
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        # Replace with your actual customer ID from Step 2
        customer_id: YOUR_CUSTOMER_ID
        endpoint: malachiteingestion-pa.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'ELASTIC_PACKETBEATS'
        raw_log_field: body
        ingestion_labels:
    

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

    net stop observiq-otel-collector && net start observiq-otel-collector
    

Syslog-Weiterleitung in Elastic Packet Beats konfigurieren

Da Packetbeat keine direkte Syslog-Ausgabe unterstützt, müssen Sie Logstash als Zwischenstation verwenden.

Packetbeat so konfigurieren, dass Logs an Logstash gesendet werden

  1. Melden Sie sich in der Elastic Packet Beats Management Console an.
  2. Rufen Sie die Einstellungen > Protokollweiterleitung auf.
  3. Klicken Sie auf den Button + Hinzufügen oder Aktivieren.
  4. Geben Sie die folgenden Konfigurationsdetails an:
    • Name: Geben Sie einen aussagekräftigen Namen ein (z. B. Logstash Output).
    • Host: Geben Sie die IP-Adresse des Logstash-Servers ein.
    • Port: Geben Sie den Logstash-Beats-Eingabeport ein (normalerweise 5044).
    • Protokoll: Wählen Sie Beats-Protokoll aus.
    • Format: Wählen Sie JSON aus.
    • Zeitzone: Wählen Sie die UTC-Zeitzone aus, um eine systemübergreifende Konsistenz zu gewährleisten.
    • Gehen Sie zum Bereich Ereignisse und wählen Sie die relevanten Protokolltypen oder Alle aus.
  5. Speichern Sie die Konfiguration.

    Alternative: „packetbeat.yml“ direkt bearbeiten:

    # /etc/packetbeat/packetbeat.yml
    packetbeat.protocols:
      - type: dns
        ports: [53]
      - type: http
        ports: [80, 8080, 8000, 5000, 8002]
        send_headers: true
        send_all_headers: true
      - type: tls
        ports: [443, 993, 995, 5223, 8443, 8883, 9243]
      - type: dhcpv4
        ports: [67, 68]
    
    # Enable processors for additional fields
    processors:
      - add_network_direction:
          source: private
          destination: private
          internal_networks:
            - private
      - community_id:
    
    # Send to Logstash using beats protocol
    output.logstash:
      hosts: ["LOGSTASH_IP:5044"]
    

    Ersetzen Sie LOGSTASH_IP durch die IP-Adresse Ihres Logstash-Servers.

Logstash für die Weiterleitung an BindPlane über Syslog konfigurieren

  1. Erstellen Sie eine Logstash-Pipeline-Konfigurationsdatei:

    sudo nano /etc/logstash/conf.d/packetbeat-to-bindplane.conf
    
  2. Fügen Sie die folgende Konfiguration hinzu:

    # Receive from Packetbeat
    input {
      beats {
        port => 5044
      }
    }
    
    # Optional: Add filters for data enrichment
    filter {
      # Preserve original message structure
      mutate {
        copy => { "@metadata" => "[@metadata_backup]" }
      }
    }
    
    # Send to BindPlane via syslog
    output {
      syslog {
        host => "BINDPLANE_IP"
        port => 514
        protocol => "udp"
        rfc => "rfc5424"
        facility => "local0"
        severity => "informational"
        sourcehost => "%{[agent][hostname]}"
        appname => "packetbeat"
        procid => "%{[agent][id]}"
        msgid => "ELASTIC_PACKETBEATS"
        structured_data => "packetbeat@32473"
        message => "%{message}"
      }
    }
    

    Ersetzen Sie BINDPLANE_IP durch die IP-Adresse Ihres BindPlane-Agents.

  • Starten Sie Logstash neu, um die Konfiguration anzuwenden:

    sudo systemctl restart logstash
    

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
@timestamp metadata.event_timestamp Direkt aus dem Rohprotokollfeld @timestamp zugeordnet.
agent.hostname observer.hostname Direkt aus dem Rohprotokollfeld agent.hostname zugeordnet.
agent.id observer.asset_id Wird mit agent.type verkettet, um das Feld observer.asset_id zu bilden.
agent.type observer.application Direkt aus dem Rohprotokollfeld agent.type zugeordnet.
agent.version observer.platform_version Direkt aus dem Rohprotokollfeld agent.version zugeordnet.
audit_category security_result.category_details Direkt aus dem Rohprotokollfeld audit_category zugeordnet.
audit_cluster_name additional.fields.audit_cluster_name.value.string_value Direkt aus dem Rohlogfeld audit_cluster_name zugeordnet.
audit_node_host_address observer.ip Direkt aus dem Rohprotokollfeld audit_node_host_address zugeordnet.
audit_node_id additional.fields.audit_node_id.value.string_value Direkt aus dem Rohprotokollfeld audit_node_id zugeordnet.
audit_node_name additional.fields.audit_node_name.value.string_value Direkt aus dem Rohlogfeld audit_node_name zugeordnet.
audit_request_effective_user observer.user.userid Direkt aus dem Rohprotokollfeld audit_request_effective_user zugeordnet.
audit_request_initiating_user additional.fields.audit_request_initiating_user.value.string_value Direkt aus dem Rohprotokollfeld audit_request_initiating_user zugeordnet.
audit_request_remote_address observer.ip Wird direkt aus dem Rohprotokollfeld audit_request_remote_address zugeordnet, wenn es sich von audit_node_host_address unterscheidet.
client.bytes network.received_bytes (EINGEHEND) / network.sent_bytes (AUSGEHEND) Zuordnung basierend auf dem Feld network.direction. Wenn INBOUND, wird es network.received_bytes zugeordnet. Wenn OUTBOUND, wird es network.sent_bytes zugeordnet.
client.ip target.ip (EINGEHEND) / principal.ip (AUSGEHEND) Zuordnung basierend auf dem Feld network.direction. Wenn INBOUND, wird es target.ip zugeordnet. Wenn OUTBOUND, wird es principal.ip zugeordnet.
client.port target.port (EINGEHEND) / principal.port (AUSGEHEND) Zuordnung basierend auf dem Feld network.direction. Wenn INBOUND, wird es target.port zugeordnet. Wenn OUTBOUND, wird es principal.port zugeordnet.
cluster.uuid additional.fields.uuid.value.string_value Direkt aus dem Rohprotokollfeld cluster.uuid zugeordnet.
Komponente additional.fields.component.value.string_value Direkt aus dem Rohprotokollfeld component zugeordnet.
destination.bytes network.sent_bytes Wird für FLOW-Ereignisse direkt aus dem Rohlogfeld destination.bytes zugeordnet.
destination.ip target.ip Wird direkt aus dem Rohprotokollfeld destination.ip zugeordnet, wenn network.direction nicht INBOUND oder OUTBOUND ist.
destination.mac target.mac Wird für FLOW-Ereignisse direkt aus dem Rohlogfeld destination.mac zugeordnet.
destination.port target.port Wird für FLOW-Ereignisse direkt aus dem Rohlogfeld destination.port zugeordnet.
dhcpv4.assigned_ip network.dhcp.requested_address Direkt aus dem Rohprotokollfeld dhcpv4.assigned_ip zugeordnet.
dhcpv4.client_ip network.dhcp.yiaddr (ACK) / network.dhcp.ciaddr (REQUEST) / source.ip (REQUEST, wenn dhcpv4.client_ip leer ist) Zuordnung basierend auf dem Feld network.dhcp.type. Wenn ACK, wird es network.dhcp.yiaddr zugeordnet. Wenn REQUEST, wird es network.dhcp.ciaddr zugeordnet. Wenn REQUEST und dhcpv4.client_ip leer sind, wird es source.ip zugeordnet.
dhcpv4.client_mac network.dhcp.client_identifier Wird direkt aus dem Rohlogfeld dhcpv4.client_mac zugeordnet, nachdem es in Byte konvertiert wurde.
dhcpv4.op_code network.dhcp.opcode Wird basierend auf dem Wert von dhcpv4.op_code network.dhcp.opcode zugeordnet. Wenn dhcpv4.op_code den Wert BOOTREPLY oder BOOTREQUEST hat, wird der Wert direkt zugeordnet. Andernfalls wird es UNKNOWN_OPCODE zugeordnet.
dhcpv4.option.hostname network.dhcp.client_hostname Direkt aus dem Rohprotokollfeld dhcpv4.option.hostname zugeordnet.
dhcpv4.option.ip_address_lease_time_sec network.dhcp.lease_time_seconds Wird direkt aus dem Rohprotokollfeld dhcpv4.option.ip_address_lease_time_sec zugeordnet, nachdem es in eine vorzeichenlose Ganzzahl konvertiert wurde.
dhcpv4.option.message_type network.dhcp.type Wird basierend auf dem Wert von dhcpv4.option.message_type network.dhcp.type zugeordnet. Die Zuordnung sieht so aus: ack -> ACK, nack -> NAK, discover -> DISCOVER, offer -> OFFER, request -> REQUEST, decline -> DECLINE, release -> RELEASE, info -> INFORM. Wenn der Wert keiner dieser Werte ist, wird er UNKNOWN_MESSAGE_TYPE zugeordnet.
dhcpv4.option.server_identifier network.dhcp.sname Direkt aus dem Rohprotokollfeld dhcpv4.option.server_identifier zugeordnet.
dns.answers.data network.dns.answers.data Direkt aus dem Rohprotokollfeld dns.answers.data zugeordnet.
dns.answers.class network.dns.answers.class Wird basierend auf dem Wert von dns.answers.class network.dns.answers.class zugeordnet. Die Zuordnung ist wie folgt: IN -> 1, NONE -> 254, ANY -> 255.
dns.answers.name network.dns.answers.name Direkt aus dem Rohprotokollfeld dns.answers.name zugeordnet.
dns.answers.ttl network.dns.answers.ttl Wird direkt aus dem Rohprotokollfeld dns.answers.ttl zugeordnet, nachdem es in eine vorzeichenlose Ganzzahl konvertiert wurde.
dns.answers.type network.dns.answers.type Wird basierend auf dem Wert von dns.answers.type network.dns.answers.type zugeordnet. Die Zuordnung ist wie folgt: A -> 1, NS -> 2, CNAME -> 5, SOA -> 6, PTR -> 12, MX -> 15, TXT -> 16, AAAA -> 28, SRV -> 33, NAPTR -> 35, DS -> 43, DNSKEY -> 48, IXFR -> 251, AXFR -> 252, TYPE99 -> 99, TKEY -> 249, ANY -> 255, ALL -> 255, URI -> 256, NULL -> 0.
dns.flags.authoritative network.dns.authoritative Wird direkt aus dem Rohprotokollfeld dns.flags.authoritative zugeordnet, wenn es „true“ ist.
dns.flags.recursion_available network.dns.recursion_available Wird direkt aus dem Rohprotokollfeld dns.flags.recursion_available zugeordnet, wenn es „true“ ist.
dns.flags.recursion_desired network.dns.recursion_desired Wird direkt aus dem Rohprotokollfeld dns.flags.recursion_desired zugeordnet, wenn es „true“ ist.
dns.flags.truncated_response network.dns.truncated Wird direkt aus dem Rohprotokollfeld dns.flags.truncated_response zugeordnet, wenn es „true“ ist.
dns.id network.dns.id Wird direkt aus dem Rohprotokollfeld dns.id zugeordnet, nachdem es in eine vorzeichenlose Ganzzahl konvertiert wurde.
dns.question.class network.dns.questions.class Wird basierend auf dem Wert von dns.question.class network.dns.questions.class zugeordnet. Die Zuordnung ist wie folgt: IN -> 1, NONE -> 254, ANY -> 255.
dns.question.name network.dns.questions.name Direkt aus dem Rohprotokollfeld dns.question.name zugeordnet.
dns.question.type network.dns.questions.type Wird basierend auf dem Wert von dns.question.type network.dns.questions.type zugeordnet. Die Zuordnung ist wie folgt: A -> 1, NS -> 2, CNAME -> 5, SOA -> 6, PTR -> 12, MX -> 15, TXT -> 16, AAAA -> 28, SRV -> 33, NAPTR -> 35, DS -> 43, DNSKEY -> 48, IXFR -> 251, AXFR -> 252, TYPE99 -> 99, TKEY -> 249, ANY -> 255, ALL -> 255, URI -> 256, NULL -> 0.
dns.resolved_ip network.dns.additional.data Jedes Element im Array dns.resolved_ip wird verarbeitet und dem Feld network.dns.additional.data zugeordnet.
dns.response_code network.dns.response_code Wird basierend auf dem Wert von dns.response_code network.dns.response_code zugeordnet. Die Zuordnung ist wie folgt: NOERROR -> 0, FORMERR -> 1, SERVFAIL -> 2, NXDOMAIN -> 3, NOTIMP -> 4, REFUSED -> 5, YXDOMAIN -> 6, YXRRSET -> 7, NXRRSET -> 8, NOTAUTH -> 9, NOTZONE -> 10.
error.message security_result.summary Wird mit status verkettet, um das Feld security_result.summary für HTTP-Ereignisse zu bilden.
event.dataset metadata.product_event_type Direkt aus dem Rohprotokollfeld event.dataset zugeordnet.
flow.final Wird verwendet, um festzustellen, ob der Ablauf endgültig ist. Andernfalls wird das Ereignis verworfen.
flow.id network.session_id Wird für FLOW-Ereignisse direkt aus dem Rohlogfeld flow.id zugeordnet.
headers.accept_encoding security_result.about.labels.Accept-Encoding Direkt aus dem Rohprotokollfeld headers.accept_encoding zugeordnet.
headers.content_length additional.fields.content_length.value.string_value Direkt aus dem Rohprotokollfeld headers.content_length zugeordnet.
headers.content_type additional.fields.content_type.value.string_value Direkt aus dem Rohlogfeld headers.content_type zugeordnet.
headers.http_accept additional.fields.http_accept.value.string_value Direkt aus dem Rohprotokollfeld headers.http_accept zugeordnet.
headers.http_host principal.hostname, principal.asset.hostname Direkt aus dem Rohprotokollfeld headers.http_host zugeordnet.
headers.http_user_agent network.http.user_agent Direkt aus dem Rohprotokollfeld headers.http_user_agent zugeordnet.
headers.request_method network.http.method Direkt aus dem Rohprotokollfeld headers.request_method zugeordnet.
headers.x_b3_parentspanid additional.fields.x_b3_parentspanid.value.string_value Direkt aus dem Rohprotokollfeld headers.x_b3_parentspanid zugeordnet.
headers.x_b3_sampled additional.fields.x_b3_sampled.value.string_value Direkt aus dem Rohprotokollfeld headers.x_b3_sampled zugeordnet.
headers.x_envoy_attempt_count security_result.about.labels.x_envoy_attempt_count Direkt aus dem Rohprotokollfeld headers.x_envoy_attempt_count zugeordnet.
headers.x_envoy_original_path additional.fields.x_envoy_original_path.value.string_value Direkt aus dem Rohprotokollfeld headers.x_envoy_original_path zugeordnet.
headers.x_forwarded_client_cert additional.fields.client_cert.value.string_value Direkt aus dem Rohprotokollfeld headers.x_forwarded_client_cert zugeordnet.
headers.x_forwarded_for principal.ip, principal.asset.ip Wird direkt aus dem Rohprotokollfeld headers.x_forwarded_for zugeordnet, nachdem die IP-Adresse mit grok extrahiert wurde.
headers.x_forwarded_proto additional.fields.x_forwarded_proto.value.string_value Direkt aus dem Rohprotokollfeld headers.x_forwarded_proto zugeordnet.
headers.x_request_id additional.fields.x_request_id.value.string_value Direkt aus dem Rohprotokollfeld headers.x_request_id zugeordnet.
Host principal.ip, principal.asset.ip Wird direkt aus dem Rohprotokollfeld host zugeordnet, nachdem die IP-Adresse mit grok extrahiert wurde.
http.request.method network.http.method Direkt aus dem Rohprotokollfeld http.request.method zugeordnet.
level security_result.severity Wird basierend auf dem Wert von level security_result.severity zugeordnet. Die Zuordnung sieht so aus: INFO -> INFORMATIONAL, ERROR -> ERROR, WARNING -> LOW.
logger additional.fields.logger.value.string_value Direkt aus dem Rohprotokollfeld logger zugeordnet.
method Wird verwendet, um festzustellen, ob es sich bei dem Ereignis um ein DNS-Ereignis handelt.
msg security_result.description Wird direkt aus dem Rohlogfeld msg zugeordnet, nachdem doppelte Anführungszeichen entfernt wurden.
network.community_id network.community_id Direkt aus dem Rohprotokollfeld network.community_id zugeordnet.
network.direction network.direction Wird direkt aus dem Rohlogfeld network.direction zugeordnet, nachdem es in Großbuchstaben umgewandelt wurde. Wenn der Wert INGRESS oder INBOUND ist, wird er INBOUND zugeordnet. Wenn der Wert EGRESS oder OUTBOUND ist, wird er OUTBOUND zugeordnet.
network.protocol network.application_protocol Direkt aus dem Rohprotokollfeld network.protocol zugeordnet.
network.transport network.ip_protocol Wird für TLS-Ereignisse direkt aus dem Rohlogfeld network.transport zugeordnet.
server.bytes network.sent_bytes (EINGEHEND) / network.received_bytes (AUSGEHEND) Zuordnung basierend auf dem Feld network.direction. Wenn INBOUND, wird es network.sent_bytes zugeordnet. Wenn OUTBOUND, wird es network.received_bytes zugeordnet.
server.domain principal.hostname, principal.asset.hostname (EINGEHEND) / target.hostname, target.asset.hostname (AUSGEHEND) Zuordnung basierend auf dem Feld network.direction. Wenn INBOUND, wird es principal.hostname zugeordnet. Wenn OUTBOUND, wird es target.hostname zugeordnet.
server.ip principal.ip, principal.asset.ip (EINGEHEND) / target.ip, target.asset.ip (AUSGEHEND) Zuordnung basierend auf dem Feld network.direction. Wenn INBOUND, wird es principal.ip zugeordnet. Wenn OUTBOUND, wird es target.ip zugeordnet.
server.port principal.port (EINGEHEND) / target.port (AUSGEHEND) Zuordnung basierend auf dem Feld network.direction. Wenn INBOUND, wird es principal.port zugeordnet. Wenn OUTBOUND, wird es target.port zugeordnet.
source.bytes network.received_bytes Wird für FLOW-Ereignisse direkt aus dem Rohlogfeld source.bytes zugeordnet.
source.ip principal.ip, principal.asset.ip Wird für FLOW-Ereignisse direkt aus dem Rohlogfeld source.ip zugeordnet.
source.mac principal.mac Wird für FLOW-Ereignisse direkt aus dem Rohlogfeld source.mac zugeordnet.
source.port principal.port Wird für FLOW-Ereignisse direkt aus dem Rohlogfeld source.port zugeordnet.
Status metadata.description, security_result.summary Wird metadata.description zugeordnet, wenn level leer ist. Wird mit error.message verkettet, um das Feld security_result.summary für HTTP- und TLS-Ereignisse zu bilden.
tls.client.ja3 network.tls.client.ja3 Direkt aus dem Rohlogfeld tls.client.ja3 zugeordnet.
tls.client.server_name network.tls.client.server_name Direkt aus dem Rohprotokollfeld tls.client.server_name zugeordnet.
tls.client.supported_ciphers network.tls.client.supported_ciphers Jedes Element im tls.client.supported_ciphers-Array wird verarbeitet und dem network.tls.client.supported_ciphers-Array zugeordnet.
tls.cipher network.tls.cipher Direkt aus dem Rohprotokollfeld tls.cipher zugeordnet.
tls.detailed.server_certificate.not_after network.tls.server.certificate.not_after Wird direkt aus dem Rohlogfeld tls.detailed.server_certificate.not_after zugeordnet, nachdem es in einen Zeitstempel konvertiert wurde.
tls.detailed.server_certificate.not_before network.tls.server.certificate.not_before Wird direkt aus dem Rohlogfeld tls.detailed.server_certificate.not_before zugeordnet, nachdem es in einen Zeitstempel konvertiert wurde.
tls.detailed.server_certificate.serial_number network.tls.server.certificate.serial Direkt aus dem Rohprotokollfeld tls.detailed.server_certificate.serial_number zugeordnet.
tls.detailed.server_certificate.version network.tls.server.certificate.version Wird direkt aus dem Rohlogfeld tls.detailed.server_certificate.version zugeordnet, nachdem es in einen String konvertiert wurde.
tls.established network.tls.established Direkt aus dem Rohlogfeld tls.established zugeordnet.
tls.next_protocol network.tls.next_protocol Direkt aus dem Rohprotokollfeld tls.next_protocol zugeordnet.
tls.resumed network.tls.resumed Direkt aus dem Rohprotokollfeld tls.resumed zugeordnet.
tls.server.hash.sha1 network.tls.server.certificate.sha1 Wird direkt aus dem Rohlogfeld tls.server.hash.sha1 zugeordnet, nachdem es in Kleinbuchstaben umgewandelt wurde.
tls.server.issuer network.tls.server.certificate.issuer Direkt aus dem Rohprotokollfeld tls.server.issuer zugeordnet.
tls.server.subject network.tls.server.certificate.subject Direkt aus dem Rohprotokollfeld tls.server.subject zugeordnet.
tls.version network.tls.version Direkt aus dem Rohprotokollfeld tls.version zugeordnet.
tls.version_protocol network.tls.version_protocol Direkt aus dem Rohprotokollfeld tls.version_protocol zugeordnet.
Typ Wird verwendet, um festzustellen, ob es sich bei dem Ereignis um ein DNS-Ereignis handelt.
url.full principal.url (INBOUND) / target.url (OUTBOUND) Zuordnung basierend auf dem Feld network.direction. Wenn INBOUND, wird es principal.url zugeordnet. Wenn OUTBOUND, wird es target.url zugeordnet.
user_id target.user.userid Direkt aus dem Rohprotokollfeld user_id zugeordnet.
user_name target.user.user_display_name Direkt aus dem Rohprotokollfeld user_name zugeordnet.
metadata.event_type Standardmäßig auf GENERIC_EVENT festgelegt. Geändert in bestimmte Ereignistypen basierend auf der Protokollquelle und den Ereignisdaten.
metadata.vendor_name Standardmäßig auf Elastic festgelegt.
metadata.product_name Standardmäßig auf PacketBeat festgelegt.
security_result.action Standardmäßig auf ALLOW festgelegt.
metadata.log_type Standardmäßig auf ELASTIC_PACKETBEATS festgelegt.
rCode dns.response_code Aus Änderungsprotokoll zugeordnet
dhcpv4.flags", "dhcpv4.hardware_type", "dhcpv4.option.rebinding_time_sec", "dhcpv4.option.rebinding_time_sec", "dhcpv4.option.renewal_time_sec", and "dhcpv4.option.max_dhcp_message_size security_result.detection_fields Aus Änderungsprotokoll zugeordnet
dhcpv4.option.parameter_request_list", and "dhcpv4.option.dns_servers additional.fields Aus Änderungsprotokoll zugeordnet
dhcpv4.hops network.dhcp.hops Aus Änderungsprotokoll zugeordnet
dhcpv4.relay_ip network.dhcp.giaddr Aus Änderungsprotokoll zugeordnet
dhcpv4.option.domain_name network.dhcp.client_hostname Aus Änderungsprotokoll zugeordnet
dhcpv4.option.router network.dhcp.ciaddr Aus Änderungsprotokoll zugeordnet
dhcpv4.seconds network.dhcp.seconds Aus Änderungsprotokoll zugeordnet
headers.accept_encoding" and "headers.x_envoy_attempt_count security_result.about.labels Aus Änderungsprotokoll zugeordnet
headers.content_length", "headers.content_type", "headers.x_forwarded_proto", "headers.x_b3_sampled", "headers.http_accept", "headers.x_b3_parentspanid", "headers.x_envoy_original_path", "client_cert" and "headers.x_request_id additional.labels Aus Änderungsprotokoll zugeordnet
headers.x_forwarded_for" and "host principal.ip Aus Änderungsprotokoll zugeordnet

Änderungsprotokoll

Änderungsprotokoll für diesen Parser ansehen

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