Extreme Networks-Switch-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie Switch-Logs von Extreme Networks mit Bindplane in Google Security Operations aufnehmen. Der Parser extrahiert Felder aus den Syslog-Nachrichten mithilfe von Grok-Mustern und bedingter Logik. Sie ordnet die extrahierten Felder dem UDM zu, verarbeitet Anmeldeereignisse, Statusaktualisierungen und generische Ereignisse und reichert die Daten mit zusätzlichem Kontext wie Protokoll, VLAN und Nutzerrollen an.
Hinweise
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
- Google SecOps-Instanz
- Windows 2016 oder höher oder ein Linux-Host mit
systemd
- Wenn die Ausführung hinter einem Proxy erfolgt, müssen die Firewallports geöffnet sein.
- Privilegierter Zugriff auf die Extreme Networks-Switch-Appliance
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. Speichern Sie die Datei sicher auf dem System, auf dem BindPlane installiert wird.
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
Installieren Sie den Bindplane-Agent auf Ihrem Windows- oder Linux-Betriebssystem gemäß der folgenden Anleitung.
Fenstereinbau
- Öffnen Sie die Eingabeaufforderung oder PowerShell als Administrator.
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
- Öffnen Sie ein Terminal mit Root- oder Sudo-Berechtigungen.
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 im Installationsleitfaden.
BindPlane-Agent zum Erfassen von Syslog-Daten und Senden an Google SecOps konfigurieren
- Rufen Sie die Konfigurationsdatei auf:
- Suchen Sie die Datei
config.yaml
. Normalerweise befindet sie sich unter Linux im Verzeichnis/etc/bindplane-agent/
oder unter Windows im Installationsverzeichnis. - Öffnen Sie die Datei mit einem Texteditor (z. B.
nano
,vi
oder Notepad).
- Suchen Sie die Datei
Bearbeiten Sie die Datei
config.yaml
so:receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" 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: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'EXTREME_SWITCH' 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
<customer_id>
durch die tatsächliche Kunden-ID. - Aktualisieren Sie
/path/to/ingestion-authentication-file.json
auf den Pfad, in dem die Authentifizierungsdatei im Abschnitt Google SecOps-Aufnahmeauthentifizierungsdatei abrufen gespeichert wurde.
Bindplane-Agent neu starten, um die Änderungen zu übernehmen
Führen Sie den folgenden Befehl aus, um den Bindplane-Agent unter Linux neu zu starten:
sudo systemctl restart bindplane-agent
Wenn Sie den Bindplane-Agent unter Windows neu starten möchten, können Sie entweder die Konsole Dienste verwenden oder den folgenden Befehl eingeben:
net stop BindPlaneAgent && net start BindPlaneAgent
Syslog für Extreme Networks-Switch konfigurieren
- Melden Sie sich über die CLI oder die Konsole am Switch an.
Geben Sie den Konfigurationsbefehl ein, um auf die globale Konfigurationsebene zuzugreifen:
device# configure terminal
Geben Sie den Befehl für die Syslog-Server-IP-Adresse ein, um einen Syslog-Server hinzuzufügen:
- Ersetzen Sie
<bindplane-ip>
durch die tatsächliche IP-Adresse des Bindplane-Agents.
logging syslog-server <bindplane_ip>
- Ersetzen Sie
Geben Sie den Formatierungsbefehl ein, um das RFC-5424-Format für Nachrichten zu konfigurieren:
format RFC-5424
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
account_type |
target.user.user_role |
Wenn account_type „Administrative“ oder „admin“ ist, wird „ADMINISTRATOR“ festgelegt. Andernfalls wird target.user.attribute.roles.name zugeordnet. |
application |
target.application |
Direkt zugeordnet. |
attr |
additional.fields |
Gepasst, um die WWN zu extrahieren und ein Schlüssel/Wert-Paar mit dem Schlüssel „wwn“ und der extrahierten WWN als String-Wert zu erstellen. |
class |
additional.fields |
Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „class“ und dem Wert des Felds class als String-Wert. |
Cause |
additional.fields |
Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „Cause“ und dem Wert des Felds Cause als String-Wert. Leeres Objekt, das erstellt wird, wenn keine spezifischen Authentifizierungsfelder vorhanden sind. |
Info |
security_result.summary |
Direkt zugeordnet. |
interface |
additional.fields |
Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „interface“ und dem Wert des Felds interface als String-Wert. |
ip |
principal.ip |
Direkt zugeordnet. |
intermediary_ip |
intermediary.ip |
Direkt zugeordnet. |
kv_data |
Verschiedene | Wird verwendet, um Schlüssel/Wert-Paare zu extrahieren und sie anhand des Schlüssels verschiedenen UDM-Feldern zuzuordnen. Beispiel: VrIpAddr wird intermediary.ip zugeordnet, IP und Addr werden principal.ip zugeordnet, SlppRxPort wird principal.port zugeordnet und verschiedene rc* -Felder werden security_result.detection_fields zugeordnet. |
log_data |
Verschiedene | Sie werden geparst, um Informationen zu Nutzeranmeldungen, ‑abmeldungen und anderen Ereignissen zu extrahieren. Wird verwendet, um Felder wie principal.ip , principal.resource.name , target.user.userid , target.application , security_result.summary , security_result.description und metadata.description auszufüllen. |
log_type |
additional.fields |
Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „log“ und dem Wert des Felds log_type als String-Wert. |
message |
Verschiedene | Die ursprüngliche Lognachricht. Die Daten werden geparst, um verschiedene Felder zu extrahieren. Der Zeitstempel wird entweder aus dem Feld timestamp (falls vorhanden und im Format „JJJJ-MM-TTTHH:MM:SS“) oder aus dem Feld message mit Grok-Mustern extrahiert. Wenn er aus dem Nachrichtenfeld extrahiert wird, ist er der Zeitstempel in der Log-Nachricht selbst. Wird anhand der Flags has_principal , has_target , user_login und user_logout bestimmt. Kann „USER_LOGIN“, „USER_LOGOUT“, „STATUS_UPDATE“ oder „GENERIC_EVENT“ sein. Wird aus dem Feld msgid zugeordnet. Statischer Wert: „EXTREME_SWITCH“. Wird aus dem Feld ver zugeordnet. Statischer Wert: „EXTREME_SWITCH“. |
msgid |
metadata.product_log_id |
Direkt zugeordnet. |
port |
principal.port |
Direkt zugeordnet und in eine Ganzzahl konvertiert. |
protocol |
additional.fields |
Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „Protocol“ und dem Wert des Felds protocol als String-Wert. |
rcPortVLacpAdminEnable |
security_result.detection_fields |
Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „rcPortVLacpAdminEnable“ und dem zugehörigen Wert. |
rcSyslogHostAddress |
principal.hostname |
Direkt zugeordnet. |
rcSyslogHostAddressType |
security_result.detection_fields |
Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „rcSyslogHostAddressType“ und dem zugehörigen Wert. |
rcSyslogHostEnable |
security_result.detection_fields |
Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „rcSyslogHostEnable“ und seinem Wert. |
rcSyslogHostFacility |
security_result.detection_fields |
Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „rcSyslogHostFacility“ und seinem Wert. |
rcSyslogHostMapErrorSeverity |
security_result.detection_fields |
Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „rcSyslogHostMapErrorSeverity“ und dem zugehörigen Wert. |
rcSyslogHostMapFatalSeverity |
security_result.detection_fields |
Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „rcSyslogHostMapFatalSeverity“ und seinem Wert. |
rcSyslogHostMapInfoSeverity |
security_result.detection_fields |
Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „rcSyslogHostMapInfoSeverity“ und seinem Wert. |
rcSyslogHostMapWarningSeverity |
security_result.detection_fields |
Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „rcSyslogHostMapWarningSeverity“ und dem zugehörigen Wert. |
rcSyslogHostRowStatus |
security_result.detection_fields |
Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „rcSyslogHostRowStatus“ und seinem Wert. |
rcSyslogHostSeverity |
security_result.detection_fields |
Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „rcSyslogHostSeverity“ und dem zugehörigen Wert. |
resource |
principal.resource.name |
Direkt zugeordnet. |
sec_description |
security_result.description |
Direkt zugeordnet. |
seqnum |
additional.fields |
Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „seqnum“ und dem Wert des Felds seqnum als String-Wert. |
session_id |
network.session_id |
Direkt zugeordnet. |
severity |
security_result.severity |
Mit Conversion zugeordnet: „CRITICAL“, „ERROR“ und „HIGH“ werden direkt zugeordnet; „INFO“ wird „INFORMATIONAL“ zugeordnet; „WARNING“ wird „MEDIUM“ zugeordnet; „LOW“, „MEDIUM“ und „INFORMATIONAL“ werden direkt zugeordnet. |
SlppIncomingVlanId |
additional.fields |
Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „SlppIncomingVlanId“ und dem Wert des Felds SlppIncomingVlanId als String-Wert. |
SlppRxVlan |
additional.fields |
Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „SlppRxVlan“ und dem Wert des Felds SlppRxVlan als String-Wert. |
SlppSrcMacAddress |
principal.mac |
Direkt zugeordnet. |
Status |
additional.fields |
Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „Status“ und dem Wert des Felds Status als String-Wert. |
swname |
additional.fields |
Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „swname“ und dem Wert des Felds swname als String-Wert. |
timestamp |
metadata.event_timestamp |
Geparst und in ein Zeitstempelobjekt konvertiert. |
tz |
additional.fields |
Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „tz“ und dem Wert des Felds tz als String-Wert. |
Type |
additional.fields |
Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „Type“ und dem Wert des Felds Type als String-Wert. |
username |
target.user.userid |
Direkt zugeordnet. |
ver |
metadata.product_version |
Direkt zugeordnet. |
VrId |
additional.fields |
Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „VrId“ und dem Wert des Felds VrId als String-Wert. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten