Brocade-Switch-Protokolle erfassen
Dieser Parser extrahiert Felder aus Brocade-Switch-Logs mithilfe von Grok-Mustern, die verschiedenen Protokollformaten entsprechen. Diese extrahierten Felder werden dann UDM-Feldern zugeordnet. Dabei werden unterschiedliche Protokollstrukturen verarbeitet und die Daten mit Metadaten wie Anbieter- und Produktinformationen angereichert. Der Parser führt auch Datentransformationen durch, z. B. die Umwandlung von Schweregraden und die Verarbeitung wiederholter Nachrichten, bevor die endgültige UDM-Ausgabe generiert wird.
Hinweis
- 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 Administratorzugriff auf die Befehlszeile des Brocade-Switches.
Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen
- Melden Sie sich in der Google SecOps Console an.
- Gehen Sie zu SIEM-Einstellungen > Erfassungsagenten.
- Lade die Datei zur Authentifizierung der Datenaufnahme herunter.
Google SecOps-Kundennummer abrufen
- Melden Sie sich in der Google SecOps Console an.
- Gehen Sie zu SIEM-Einstellungen > Profil.
- Kopieren und speichern Sie die Kundennummer aus dem Bereich Organisationsdetails.
BindPlane-Agent installieren
- 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
- 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
- Weitere Installationsoptionen finden Sie in diesem Installationsleitfaden.
BindPlane-Agent so konfigurieren, dass er Syslog-Protokolle aufnimmt und an Google SecOps sendet
- Rufen Sie den Computer auf, 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_Switch 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 anzuwenden:
sudo systemctl restart bindplane
Syslog-Export von einem Brocade-Switch konfigurieren
- Stellen Sie mit den entsprechenden Anmeldedaten eine SSH- oder Telnet-Verbindung zum Brocade-Switch her.
Führen Sie den folgenden Befehl aus, um die IP-Adresse oder den Hostnamen und den Port des Syslog-Servers (Bindebene) anzugeben:
syslogadmin --set -ip <IP> -port <Port>
Beispiel:
syslogadmin --set -ip 10.10.10.10 -port 54525
Führen Sie den folgenden Befehl aus, um die konfigurierten syslog-Server aufzurufen:
syslogadmin --show -ip
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
application |
additional.fields[].key : „application“additional.fields[].value.string_value : |
Wert, der aus dem Feld application@1588 im Rohprotokoll extrahiert wird, wenn das Feld „KV_DATA“ vorhanden ist. |
class |
additional.fields[].key : „class“additional.fields[].value.string_value : |
Wert, der aus dem Feld class@1588 im Rohprotokoll extrahiert wird, wenn das Feld „KV_DATA“ vorhanden ist. |
domain |
principal.administrative_domain |
Wert, der aus dem Grok-Muster extrahiert wurde, das mit dem Feld domain übereinstimmt. |
Event |
additional.fields[].key : „event_category“additional.fields[].value.string_value : |
Wert, der aus dem Feld arg0@1588 im Rohprotokoll extrahiert wird, wenn das Feld „KV_DATA“ vorhanden ist. |
event_id |
metadata.product_log_id |
Wert, der aus dem Grok-Muster extrahiert wurde, das mit dem Feld event_id übereinstimmt. |
event_type |
metadata.product_event_type |
Wert, der aus dem Grok-Muster extrahiert wurde, das mit dem Feld event_type übereinstimmt. |
flags |
additional.fields[].key : „flags“additional.fields[].value.string_value : |
Wert, der aus dem Grok-Muster extrahiert wurde, das mit dem Feld flags übereinstimmt. |
Info |
metadata.description |
Aus dem Feld Info extrahierter Wert, der mit Grok geparst wurde. |
interface |
app_protocol_src |
Wert, der aus dem Feld interface@1588 im Rohprotokoll extrahiert wird, wenn das Feld „KV_DATA“ vorhanden ist. Wird verwendet, um network.application_protocol abzuleiten. |
ip |
principal.ip |
Aus dem Feld ip extrahierter Wert, der mit Grok geparst wurde. Wird mit principal.ip zusammengeführt, wenn sie nicht mit der IP-Adresse übereinstimmt, die aus dem Feld Info extrahiert wurde. |
Info , IP Addr |
principal.ip |
Wert, der aus dem Feld IP Addr im Feld Info extrahiert und mit Grok geparst wurde. |
log |
additional.fields[].key : „log“additional.fields[].value.string_value : |
Wert, der aus dem Feld log@1588 im Rohprotokoll extrahiert wird, wenn das Feld „KV_DATA“ vorhanden ist. |
msg |
metadata.description |
Aus dem Feld msg extrahierter Wert, der mit Grok geparst wurde. |
msgid |
additional.fields[].key : „msgid“additional.fields[].value.string_value : |
Wert, der aus dem Feld msgid@1588 im Rohprotokoll extrahiert wird, wenn das Feld „KV_DATA“ vorhanden ist. |
prin_host |
principal.hostname principal.asset.hostname |
Wert, der aus dem Grok-Muster extrahiert wurde, das mit dem Feld prin_host übereinstimmt. |
product_version |
metadata.product_version |
Wert, der aus dem Grok-Muster extrahiert wurde, das mit dem Feld product_version übereinstimmt. |
repeat_count |
additional.fields[].key : „repeat_count“additional.fields[].value.string_value : |
Aus dem Feld msg extrahierter Wert, der mit Grok geparst wurde. |
role , user_role |
principal.user.attribute.roles[].name |
Wert, der aus dem Feld role@1588 oder user_role extrahiert wurde. Wenn der Wert „admin“ ist, wird er durch „Administrator“ ersetzt. |
sequence_number |
additional.fields[].key : „sequence_number“additional.fields[].value.string_value : |
Wert, der aus dem Grok-Muster extrahiert wurde, das mit dem Feld sequence_number übereinstimmt. |
severity |
security_result.severity |
Aus dem Feld severity extrahierter Wert, der mit Grok geparst wurde. Zugewiesene UDM-Schweregradwerte (INFORMATIONEN, FEHLER, KRITISCH, MITTEL). |
Status |
security_result.summary |
Wert, der aus dem Feld Status extrahiert wurde. |
switch_name |
additional.fields[].key : „switch_name“additional.fields[].value.string_value : |
Wert, der aus dem Grok-Muster extrahiert wurde, das mit dem Feld switch_name übereinstimmt. |
target_application |
target.application |
Wert, der aus dem Grok-Muster extrahiert wurde, das mit dem Feld target_application übereinstimmt. |
time |
additional.fields[].key : „time“additional.fields[].value.string_value : |
Wert, der aus dem Feld time im Feld kv_data3 extrahiert wurde. |
timestamp |
metadata.event_timestamp.seconds |
Aus dem Feld timestamp extrahierter Wert, der mit dem Datumsfilter geparst wurde. |
user |
principal.user.userid principal.user.user_display_name |
Wert, der aus dem Feld user oder user@1588 extrahiert und mit Grok geparst wurde. Kopiert von principal.hostname . Kopiert von principal.ip . Wird aus metadata.product_event_type kopiert oder basierend auf Bedingungen auf „STATUS_UPDATE“ festgelegt. Aus create_time.nanos des Protokolls kopiert Wird anhand der Parserlogik basierend auf den Werten von has_principal , has_target , has_userid und event_type ermittelt. Kann „SYSTEM_AUDIT_LOG_UNCATEGORIZED“, „STATUS_UPDATE“ oder „GENERIC_EVENT“ sein. Hartcodiert auf „BROCADE_SWITCH“. Hartcodiert auf „BROCADE“. Hartcodiert auf „BROCADE_SWITCH“. Wird aus dem Feld interface abgeleitet oder auf „SSH“ gesetzt, wenn das Feld interface „SSH“ enthält. |
Änderungen
2024-04-15
- Unterstützung für kundenspezifische Protokolle hinzugefügt.
2023-12-01
- Neu erstellter Parser.