Brocade ServerIron-Logs erfassen
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
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie SIEM-Einstellungen > Collection Agents auf.
- Laden Sie die Authentifizierungsdatei für die Aufnahme herunter.
Google SecOps-Kundennummer abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > „Profil“ auf.
- Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.
BindPlane-Agent installieren
- 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
- 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
- Weitere Installationsoptionen finden Sie in dieser Installationsanleitung.
Bindplane-Agent so konfigurieren, dass Syslog-Daten aufgenommen und an Google SecOps gesendet werden
- Greifen Sie auf den Computer zu, auf dem BindPlane installiert ist.
Bearbeiten Sie die Datei
config.yaml
so: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
Starten Sie den Bindplane-Agent neu, um die Änderungen zu übernehmen:
sudo systemctl restart bindplane
Syslog-Export vom Brocade ServerIron ADX konfigurieren
Melden Sie sich auf dem ADX-Gerät an und rufen Sie den globalen Konfigurationsmodus auf:
enable configure terminal
Syslog-Logging aktivieren:
logging on
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
Optional: Legen Sie die Syslog Facility (local0 bis local7) fest:
logging facility local0
Legen Sie den Mindestschweregrad von Logs fest, die an den Syslog-Server gesendet werden sollen:
logging trap <severity-level>
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