Brocade ServerIron-Protokolle erfassen

Unterstützt in:

Dieser Parser extrahiert Felder aus Brocade ServerIron-Syslog-Nachrichten mithilfe von regulären Ausdrücken und ordnet sie dem Unified Data Model (UDM) zu. Er unterstützt verschiedene Protokollformate, einschließlich Netzwerkstatus, Nutzerauthentifizierung und Sicherheitsereignisse. Der Parser führt bei Bedarf Datentypkonvertierungen und Datenanreicherungen durch.

Hinweise

  • Sie benötigen eine Google Security Operations-Instanz.
  • Sie müssen Windows 2016 oder höher oder einen Linux-Host mit systemd verwenden.
  • Wenn die Ausführung hinter einem Proxy erfolgt, müssen die Firewallports geöffnet sein.
  • Sie benötigen Berechtigungen für die Brocade ServerIron-Instanz.

Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen

  1. Melden Sie sich in der Google SecOps Console an.
  2. Gehen Sie zu SIEM-Einstellungen > Erfassungsagenten.
  3. Lade die Datei zur Authentifizierung der Datenaufnahme herunter.

Google SecOps-Kundennummer abrufen

  1. Melden Sie sich in der Google SecOps Console an.
  2. Gehen Sie zu SIEM-Einstellungen > Profil.
  3. Kopieren und speichern Sie die Kundennummer aus dem Bereich Organisationsdetails.

BindPlane-Agent installieren

  1. Führen Sie für die Windows-Installation das folgende Script aus:
    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
  2. Führen Sie für die Linux-Installation das folgende Script aus:
    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
  3. Weitere Installationsoptionen finden Sie in diesem Installationsleitfaden.

BindPlane-Agent so konfigurieren, dass er Syslog-Protokolle aufnimmt und an Google SecOps sendet

  1. Rufen Sie den Computer auf, auf dem BindPlane installiert ist.
  2. Bearbeiten Sie die Datei config.yamlso:

    receivers:
        tcplog:
            # Replace the below port <54525> and IP <0.0.0.0> with your specific values
            listen_address: "0.0.0.0:54525" 
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the creds location below according the placement of the credentials file you downloaded
            creds: '{ json file for creds }'
            # Replace <customer_id> below with your actual ID that you copied
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # You can apply ingestion labels below as preferred
            ingestion_labels:
            log_type: SYSLOG
            namespace: Brocade_ServerIron
            raw_log_field: body
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Starten Sie den BindPlane-Agent neu, um die Änderungen anzuwenden:

    sudo systemctl restart bindplane
    

Syslog-Export von Brocade ServerIron ADX konfigurieren

  1. Melden Sie sich auf dem ADX-Gerät an und wechseln Sie in den Modus für die globale Konfiguration:

    enable
    configure terminal
    
  2. Syslog-Protokollierung aktivieren:

    logging on
    
  3. Geben Sie die IP-Adresse oder den Hostnamen und den Port des syslog-Servers an, einschließlich des gewünschten Protokolls (Bindebene):

    logging host <syslog-server-ip> [udp | tcp] port <port-number>
    

    Beispiel für TCP auf Port 54525:

      logging host 10.10.10.10 tcp port 54525
    
  4. Optional: Legen Sie die Syslog-Facility (local0 bis local7) fest:

    logging facility local0
    
  5. Legen Sie die Mindestschweregradstufe der Protokolle fest, die an den Syslog-Server gesendet werden sollen:

    logging trap <severity-level>
    
  6. Speichern Sie die Konfiguration:

    write memory
    

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
%{GREEDYDATA} metadata.description Das Feld %{GREEDYDATA} wird metadata.description zugeordnet, wenn es dem Muster „-- %{GREEDYDATA} --“ entspricht.
%{GREEDYDATA:auth_result} security_result.description Das Feld „%{GREEDYDATA:auth_result}“ wird mit dem Feld „%{GREEDYDATA:desc}“ zusammengeführt, um „security_result.description“ zu bilden, wenn „%{GREEDYDATA:desc}“ vorhanden ist.
%{GREEDYDATA:desc} security_result.description Das Feld %{GREEDYDATA:desc} wird verwendet, um das Feld „security_result.description“ zu füllen. Je nach Rohprotokollformat kann es mit anderen Feldern zusammengeführt werden.
%{GREEDYDATA:login_to} security_result.description Das Feld „%{GREEDYDATA:login_to}“ wird mit dem Feld „%{GREEDYDATA:desc}“ zusammengeführt, um „security_result.description“ zu bilden, wenn „%{GREEDYDATA:desc}“ vorhanden ist.
%{GREEDYDATA:user} target.user.userid Das Feld „%{GREEDYDATA:user}“ wird „target.user.userid“ zugeordnet.
%{HOST:principal_host} principal.hostname Das Feld %{HOST:principal_host} ist principal.hostname zugeordnet.
%{HOST:target_host} target.hostname Das Feld %{HOST:target_host} ist target.hostname zugeordnet.
%{INT:http_port} additional.fields.value.string_value Das Feld „%{INT:http_port}“ ist mit „additional.fields.value.string_value“ mit dem Schlüssel „HTTP-Port“ verknüpft.
%{INT:target_port} target.port Das Feld „%{INT:target_port}“ wird „target.port“ zugeordnet und in eine Ganzzahl umgewandelt.
%{INT:telnet_port} additional.fields.value.string_value Das Feld „%{INT:telnet_port}“ ist mit „additional.fields.value.string_value“ mit dem Schlüssel „Telnet Port“ verknüpft.
%{INT:tftp_port} additional.fields.value.string_value Das Feld „%{INT:tftp_port}“ ist dem Schlüssel „TFTP-Port“ zugeordnet.
%{IP:principal_ip} principal.ip Das Feld %{IP:principal_ip} ist principal.ip zugeordnet.
%{IP:target_ip} target.ip Das Feld „%{IP:target_ip}“ ist „target.ip“ zugeordnet.
%{IPV4:principal_ip} principal.ip Das Feld %{IPV4:principal_ip} wird mit „principal.ip“ abgeglichen.
%{IPV4:target_ip} target.ip Das Feld „%{IPV4:target_ip}“ wird auf „target.ip“ zugeordnet.
%{MAC:principal_mac} principal.mac Das Feld %{MAC:principal_mac} wird in das Format [0–9a–f]{2}:[0–9a–f]{2}:[0–9a–f]{2}:[0–9a–f]{2}:[0–9a–f]{2}:[0–9a–f]{2} umgewandelt und dann principal.mac zugeordnet.
%{USERNAME:target_host} target.hostname Das Feld %{USERNAME:target_host} wird auf „target.hostname“ zugeordnet.
%{USERNAME:user} target.user.userid Das Feld „%{USERNAME:user}“ ist „target.user.userid“ zugeordnet.
%{WORD:auth_result} security_result.description Das Feld „%{WORD:auth_result}“ wird mit dem Feld „%{GREEDYDATA:desc}“ zusammengeführt, um „security_result.description“ zu bilden, wenn „%{GREEDYDATA:desc}“ vorhanden ist.
%{WORD:proto} network.application_protocol Das Feld „%{WORD:proto}“ wird dem Attribut „network.application_protocol“ zugeordnet, wenn sein Wert „SSH“ ist.
timestamp metadata.event_timestamp Das Zeitstempelfeld wird mit einem Grok-Muster aus den Rohprotokolldaten geparst und in ein Zeitstempelobjekt umgewandelt.
extensions.auth.type Der Wert wird auf „MACHINE“ gesetzt, wenn das Feld „proto“ nicht leer ist und das Feld „auth_action“ entweder „logout“ oder „login“ ist.
metadata.description Das Feld wird mit dem Wert des Felds „metadata_description“ ausgefüllt, sofern es nicht leer ist.
metadata.event_type Das Feld wird anhand der Werte anderer Felder mithilfe von bedingten Logik ausgefüllt:
 – STATUS_STARTUP: wenn „target_port_status“ „up“ ist.
 – STATUS_SHUTDOWN: Wenn „target_port_status“ den Wert „down“ hat.
 – USER_LOGOUT: Wenn „proto“ nicht leer ist und „auth_action“ „logout“ ist.
 – USER_LOGIN: Wenn „proto“ nicht leer ist und „auth_action“ „login“ ist.
 – STATUS_UPDATE: wenn „metadata_description“ mit „state changed“ übereinstimmt.
 – GENERIC_EVENT: Wenn keine der oben genannten Bedingungen erfüllt ist.
metadata.log_type Der Wert ist auf „BROCADE_SERVERIRON“ hartcodiert.
metadata.product_name Der Wert ist auf „ServerIron“ hartcodiert.
metadata.vendor_name Der Wert ist auf „Brocade“ hartcodiert.
security_result.action Der Wert wird auf „BLOCK“ gesetzt, wenn das Feld „desc“ den Wert „fail“ oder das Feld „auth_result“ den Wert „fail“ oder „rejected“ enthält.

Änderungen

2022-01-13

  • Neu hinzugefügter Parser.