Alcatel-Switch-Protokolle erfassen
In diesem Dokument wird beschrieben, wie Sie Alcatel-Switch-Logs mithilfe eines Bindplane-Agents in Google Security Operations aufnehmen. Der Parser extrahiert Felder mithilfe einer Reihe von grok
-Mustern, die auf verschiedenen Protokollformaten basieren. Anschließend werden die extrahierten Felder den entsprechenden Feldern im einheitlichen Datenmodell (Unified Data Model, UDM) zugeordnet und die Daten mit Metadaten wie Anbieter und Ereignistyp angereichert.
Hinweise
- Sie benötigen eine Google SecOps-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 Anmeldedaten mit erhöhten Berechtigungen für einen Alcatel-Switch.
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. Speichern Sie die Datei sicher auf dem System, auf dem BindPlane installiert wird.
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
Windows-Installation
- Öffnen Sie die Eingabeaufforderung oder die 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
Weitere Installationsressourcen
- Weitere Installationsoptionen finden Sie in diesem Installationsleitfaden.
Bindplane-Agent so konfigurieren, dass er Syslog-Daten aufnimmt und an Google SecOps sendet
Rufen Sie die Konfigurationsdatei auf:
- Suchen Sie die Datei
config.yaml
. Normalerweise befindet es 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: '/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 ingestion_labels: log_type: ALCATEL_SWITCH raw_log_field: body 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 Kundennummer.Aktualisieren Sie
/path/to/ingestion-authentication-file.json
im Abschnitt Authentifizierungsdatei für die Datenaufnahme von Google SecOps abrufen auf den Pfad, unter dem die Authentifizierungsdatei gespeichert wurde.
Starten Sie den Bindplane-Agent neu, um die Änderungen anzuwenden
Führen Sie den folgenden Befehl aus, um den Bindplane-Agenten unter Linux neu zu starten:
sudo systemctl restart bindplane-agent
Sie können den Bindplane-Agenten unter Windows entweder über die Dienste-Konsole oder mit dem folgenden Befehl neu starten:
net stop BindPlaneAgent && net start BindPlaneAgent
Syslog-Export für Alcatel-Switch konfigurieren
- Stellen Sie über SSH oder ein Konsolenkabel eine Verbindung zum Switch her.
- Melden Sie sich mit den Anmeldedaten eines Administrators an.
Rufen Sie den Modus globale Konfiguration auf:
enable configure terminal
Legen Sie die IP-Adresse des BindPlane-Servers (Syslog) fest:
swlog output socket <syslog-server-ip>
- Ersetzen Sie
<syslog-server-ip>
durch die IP-Adresse des Bindplane-Agents.
- Ersetzen Sie
Aktivieren Sie das Logging auf dem syslog-Server:
swlog remote enable
Konfigurieren Sie die Logging-Ebene:
swlog console level info
Aktivieren Sie das Befehls-Logging:
command-log enable
Speichern Sie die Änderungen an der Startkonfiguration:
write memory
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
1.1.1.1 |
principal.ip principal.asset.ip |
Aus der Protokollnachricht extrahiert. |
1.1.1.2 |
target.ip target.asset.ip |
Aus der Protokollnachricht extrahiert. |
1.1.2.7 |
target.ip target.asset.ip |
Aus der Protokollnachricht extrahiert. |
1035 |
target.port | Aus der Protokollnachricht extrahiert. |
2266 |
additional.fields.value.string_value | Aus der Protokollnachricht extrahiert und als vlan zugeordnet. |
3036 |
principal.port | Aus der Protokollnachricht extrahiert. |
59300 |
target.port | Aus der Protokollnachricht extrahiert. |
60588 |
target.port | Aus der Protokollnachricht extrahiert. |
997 |
principal.resource.attribute.labels.value | Aus der Protokollnachricht extrahiert und als limit zugeordnet. |
A6450-L2-K4B-01 |
principal.application | Aus der Protokollnachricht extrahiert. |
A6450-L2-X1B-02-01 |
principal.application | Aus der Protokollnachricht extrahiert. |
A6450-L2-X2A-01-01 |
principal.application | Aus der Protokollnachricht extrahiert. |
A6450-L2-X4B-02-01 |
principal.application | Aus der Protokollnachricht extrahiert. |
A6900-L3-LTX0A |
principal.application | Aus der Protokollnachricht extrahiert. |
Accepted keyboard-interactive/pam |
security_result.summary | Teil des extrahierten Felds sec_summary . |
b8:53:ac:6e:c9:bc |
principal.mac | Aus der Protokollnachricht extrahiert. |
BRIDGE(10) |
additional.fields.value.string_value | Aus der Protokollnachricht extrahiert und als id_protocol zugeordnet. |
CLI log, |
security_result.summary | Teil des extrahierten Felds sec_summary . |
cmd: show configuration snapshot all, |
security_result.detection_fields.value | Aus der Protokollnachricht extrahiert und als cmd zugeordnet. |
Connection reset by 1.1.2.7 port 60505 |
security_result.summary | Aus der Protokollnachricht extrahiert. |
Dec 7 14:28:40 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Aus dem Feld ts geparst. |
Dec 8 04:21:22 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Aus dem Feld ts geparst. |
Dec 9 20:08:29 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Aus dem Feld ts geparst. |
Dec 9 20:51:34 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Aus dem Feld ts geparst. |
Dec 11 10:18:30 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Aus dem Feld ts geparst. |
Dec 17 02:14:22 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Aus dem Feld ts geparst. |
Dec 19 10:27:33 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Aus dem Feld ts geparst. |
Did not receive identification string from 1.1.2.7 port 60588 |
security_result.summary | Aus der Protokollnachricht extrahiert. |
esmSetRateLimit: Txing |
additional.fields.value.string_value | Aus der Protokollnachricht extrahiert und als esm_set_rate_limit zugeordnet. |
Feb 15 16:29:29 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Aus dem Feld ts geparst. |
Feb 16 11:08:45 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Aus dem Feld ts geparst. |
Feb 16 11:08:49 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Aus dem Feld ts geparst. |
flashManager FlashMgr Main info(5) flashMgrValidateImage_exec: valid |
security_result.summary | Aus der Protokollnachricht extrahiert. |
for ncmadmin from 1.1.1.2 port 59300 ssh2 |
security_result.summary | Teil des extrahierten Felds sec_summary . |
from port 3036 to port 1035 |
security_result.summary | Teil des extrahierten Felds sec_summary . |
IVDELCSW03 |
principal.hostname principal.asset.hostname |
Wird aus der Protokollnachricht extrahiert, wenn principal_ip keine IP-Adresse ist. |
IP-HELPER(22) |
additional.fields.value.string_value | Aus der Protokollnachricht extrahiert und als id_protocol zugeordnet. |
Jan 16 02:14:13 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Aus dem Feld ts geparst. |
LLDP(42) |
additional.fields.value.string_value | Aus der Protokollnachricht extrahiert und als id_protocol zugeordnet. |
limit=997, |
principal.resource.attribute.labels.value | Aus der Protokollnachricht extrahiert und als limit zugeordnet. |
limitType=1 |
principal.resource.attribute.labels.value | Aus der Protokollnachricht extrahiert und als limitType zugeordnet. |
lldpProcessLocationIdTLV: Error, LLDP-MED Civic Address LCI len 39 invalid, tlvL |
security_result.summary | Aus der Protokollnachricht extrahiert. |
Mac Movement for MacAddr: a0:29:19:c0:55:18 |
security_result.summary | Aus der Protokollnachricht extrahiert. |
MacAddr: a0:29:19:c0:55:18 |
principal.mac | Aus der Protokollnachricht extrahiert. |
ncmadmin |
principal.user.userid | Aus der Protokollnachricht extrahiert. |
OS6360 |
principal.hostname principal.asset.hostname |
Wird aus der Protokollnachricht extrahiert, wenn principal_ip keine IP-Adresse ist. |
result: SUCCESS |
security_result.detection_fields.value | Aus der Protokollnachricht extrahiert und als result zugeordnet. |
SES CMD info(5) |
security_result.summary | Teil des extrahierten Felds sec_summary . |
STACK-MANAGER |
principal.application | Aus der Protokollnachricht extrahiert. |
Stack Port A MAC Frames TX/RX Enabled |
security_result.summary | Aus der Protokollnachricht extrahiert. |
STP(11) |
additional.fields.value.string_value | Aus der Protokollnachricht extrahiert und als id_protocol zugeordnet. |
SWCONSOLE-L2-K0A-01 |
target.hostname target.asset.hostname |
Aus der Protokollnachricht extrahiert. |
trafficType=2, |
principal.resource.attribute.labels.value | Aus der Protokollnachricht extrahiert und als trafficType zugeordnet. |
user: ncmadmin |
security_result.summary | Teil des extrahierten Felds sec_summary . |
zslot=0, |
principal.resource.attribute.labels.value | Aus der Protokollnachricht extrahiert und als zslot zugeordnet. |
- | additional.fields.key | Hartcodierter Wert: id_protocol |
- | additional.fields.key | Hartcodierter Wert: esm_set_rate_limit |
- | additional.fields.key | Hartcodierter Wert: vlan |
- | metadata.event_type | Legen Sie GENERIC_EVENT fest, wenn kein anderer Typ übereinstimmt. |
- | metadata.product_name | Hartcodierter Wert: Alcatel Switch |
- | metadata.vendor_name | Hartcodierter Wert: ALCATEL SWITCH |
- | network.application_protocol | Legen Sie SSH fest, wenn id_protocol mit ssh übereinstimmt (Groß-/Kleinschreibung wird nicht berücksichtigt). |
- | principal.resource.attribute.labels.key | Hartcodierter Wert: limit |
- | principal.resource.attribute.labels.key | Hartcodierter Wert: trafficType |
- | principal.resource.attribute.labels.key | Hartcodierter Wert: limitType |
- | principal.resource.attribute.labels.key | Hartcodierter Wert: zslot |
- | security_result.detection_fields.key | Hartcodierter Wert: cmd |
- | security_result.detection_fields.key | Hartcodierter Wert: result |
- | security_result.severity | Legen Sie INFORMATIONAL fest, wenn prod_severity mit info übereinstimmt (Groß-/Kleinschreibung wird nicht berücksichtigt). |
Änderungen
2024-03-11
Optimierung:
- Neue Grok-Muster zum Parsen des neuen Formats von syslog-Protokollen hinzugefügt.
severity
wurdesecurity_result.severity
undsecurity_result.detection_fields
zugeordnet.- Wenn
id_protocol
fast gleichssh
ist, setzen Sienetwork.application_protocol
aufSSH
. - Neue Grok-Muster zum Parsen des neuen
sec_summary
-Formats hinzugefügt
2024-01-16
- Neu erstellter Parser.
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten