Brocade ServerIron-Logs erfassen

Unterstützt in:

Dieser Parser extrahiert Felder aus Brocade ServerIron-Syslog-Nachrichten mithilfe von regulären Ausdrücken und ordnet sie dem einheitlichen Datenmodell (Unified Data Model, UDM) zu. Es werden verschiedene Protokollformate verarbeitet, darunter Netzwerkstatus, Nutzerauthentifizierung und Sicherheitsereignisse. Der Parser führt bei Bedarf Datentypkonvertierungen und ‑anreicherungen durch.

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.
  • Sie benötigen privilegierten Zugriff auf die Brocade ServerIron-Instanz.

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.

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

  1. Führen Sie für die Windows-Installation das folgende Skript 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 Skript 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 dieser Installationsanleitung.

Bindplane-Agent so konfigurieren, dass Syslog-Daten aufgenommen und an Google SecOps gesendet werden

  1. Greifen Sie auf den Computer zu, 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 zu übernehmen:

    sudo systemctl restart bindplane
    

Syslog-Export vom Brocade ServerIron ADX konfigurieren

  1. Melden Sie sich auf dem ADX-Gerät an und rufen Sie den globalen Konfigurationsmodus auf:

    enable
    configure terminal
    
  2. Syslog-Logging 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 (Bindplane):

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

    Beispiel für TCP an 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 den Mindestschweregrad von Logs fest, die an den Syslog-Server gesendet werden sollen:

    logging trap <severity-level>
    
  6. Konfiguration speichern:

    write memory
    

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
%{GREEDYDATA} metadata.description Das Feld %{GREEDYDATA} wird der Metadatenbeschreibung zugeordnet, wenn es dem Muster „-- %{GREEDYDATA} --“ entspricht.
%{GREEDYDATA:auth_result} security_result.description Das Feld %{GREEDYDATA:auth_result} wird mit dem Feld %{GREEDYDATA:desc} verkettet, um die 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“ auszufüllen. Je nach Rohlogformat kann es mit anderen Feldern verkettet werden.
%{GREEDYDATA:login_to} security_result.description Das Feld %{GREEDYDATA:login_to} wird mit dem Feld %{GREEDYDATA:desc} verkettet, um die 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} wird principal.hostname zugeordnet.
%{HOST:target_host} target.hostname Das Feld %{HOST:target_host} wird target.hostname zugeordnet.
%{INT:http_port} additional.fields.value.string_value Das Feld %{INT:http_port} wird additional.fields.value.string_value mit dem Schlüssel „HTTP Port“ zugeordnet.
%{INT:target_port} target.port Das Feld %{INT:target_port} wird target.port zugeordnet und in eine Ganzzahl konvertiert.
%{INT:telnet_port} additional.fields.value.string_value Das Feld %{INT:telnet_port} wird „additional.fields.value.string_value“ mit dem Schlüssel „Telnet Port“ zugeordnet.
%{INT:tftp_port} additional.fields.value.string_value Das Feld %{INT:tftp_port} wird mit dem Schlüssel „TFTP Port“ dem Feld „additional.fields.value.string_value“ zugeordnet.
%{IP:principal_ip} principal.ip Das Feld %{IP:principal_ip} wird principal.ip zugeordnet.
%{IP:target_ip} target.ip Das Feld %{IP:target_ip} wird target.ip zugeordnet.
%{IPV4:principal_ip} principal.ip Das Feld %{IPV4:principal_ip} wird principal.ip zugeordnet.
%{IPV4:target_ip} target.ip Das Feld %{IPV4:target_ip} wird „target.ip“ zugeordnet.
%{MAC:principal_mac} principal.mac Das Feld %{MAC:principal_mac} wird principal.mac zugeordnet, nachdem es 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} konvertiert wurde.
%{USERNAME:target_host} target.hostname Das Feld %{USERNAME:target_host} wird 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} verkettet, um die security_result.description zu bilden, wenn %{GREEDYDATA:desc} vorhanden ist.
%{WORD:proto} network.application_protocol Das Feld %{WORD:proto} wird dem Feld „network.application_protocol“ zugeordnet, wenn sein Wert „SSH“ ist.
timestamp metadata.event_timestamp Das Zeitstempelfeld wird aus den Rohprotokolldaten mit einem Grok-Muster geparst und in ein Zeitstempelobjekt konvertiert.
extensions.auth.type Der Wert wird auf „MACHINE“ gesetzt, wenn das Proto-Feld 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“ gefüllt, sofern dieses nicht leer ist.
metadata.event_type Das Feld wird anhand der Werte anderer Felder mit bedingter Logik ausgefüllt:
 – STATUS_STARTUP: wenn „target_port_status“ auf „up“ gesetzt ist.
 – STATUS_SHUTDOWN: wenn target_port_status „down“ ist.
 – USER_LOGOUT: wenn das Protokoll nicht leer ist und auth_action „logout“ lautet.
 – USER_LOGIN: wenn „proto“ nicht leer ist und „auth_action“ „login“ lautet.
 – 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 fest auf „BROCADE_SERVERIRON“ codiert.
metadata.product_name Der Wert ist fest auf „ServerIron“ codiert.
metadata.vendor_name Der Wert ist fest auf „Brocade“ codiert.
security_result.action Der Wert wird auf „BLOCK“ gesetzt, wenn das Feld „desc“ „fail“ enthält oder das Feld „auth_result“ „fail“ oder „rejected“ enthält.

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