Vectra Stream-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie Vectra Stream-Logs mit dem Bindplane-Agenten in Google Security Operations aufnehmen.
Vectra Stream ist eine Plattform für das Streamen von Netzwerkmetadaten, die JSON- und Syslog-formatierte Nachrichten für Netzwerkverbindungen, DNS-Abfragen, HTTP-Anfragen, TLS-/SSL-Sitzungen, DHCP-Leases, RADIUS-Authentifizierung, SMTP-E-Mails und Kerberos-Ereignisse generiert. Der Parser extrahiert Schlüssel/Wert-Paare und ordnet sie dem Unified Data Model (UDM) zu.
Hinweis
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
- Eine Google SecOps-Instanz
- Windows Server 2016 oder höher oder Linux-Host mit
systemd - Netzwerkverbindung zwischen dem Bindplane-Agent und der Vectra-Brain-Appliance
- Wenn Sie den Agent hinter einem Proxy ausführen, müssen die Firewallports gemäß den Anforderungen des Bindplane-Agents geöffnet sein.
- Administratorzugriff auf die Vectra-Benutzeroberfläche (Brain)
Authentifizierungsdatei für die Google SecOps-Aufnahme abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die 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 > Profile auf.
Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.
Bindplane-Agent installieren
Installieren Sie den Bindplane-Agenten gemäß der folgenden Anleitung auf Ihrem Windows- oder Linux-Betriebssystem.
Windows-Installation
- Ö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" /quietWarte, bis die Installation abgeschlossen ist.
Überprüfen Sie die Installation mit folgendem Befehl:
sc query observiq-otel-collectorDer Dienst sollte als RUNNING angezeigt werden.
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.shWarte, bis die Installation abgeschlossen ist.
Überprüfen Sie die Installation mit folgendem Befehl:
sudo systemctl status observiq-otel-collectorDer Dienst sollte als active (running) angezeigt werden.
Zusätzliche Installationsressourcen
Weitere Installationsoptionen und Informationen zur Fehlerbehebung finden Sie in der Installationsanleitung für den Bindplane-Agent.
Bindplane-Agent zum Erfassen von Syslog-Daten und Senden an Google SecOps konfigurieren
Konfigurationsdatei suchen
Linux:
sudo nano /opt/observiq-otel-collector/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Konfigurationsdatei bearbeiten
Ersetzen Sie den gesamten Inhalt von
config.yamldurch die folgende Konfiguration:receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/vectra_stream: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: VECTRA_STREAM raw_log_field: body service: pipelines: logs/vectra_stream_to_chronicle: receivers: - udplog exporters: - chronicle/vectra_stream
Konfigurationsparameter
Ersetzen Sie die folgenden Platzhalter:
Empfängerkonfiguration:
listen_address: IP-Adresse und Port, auf dem gelauscht werden soll:0.0.0.0, um auf allen Schnittstellen zu lauschen (empfohlen)- Port
514ist der Standard-Syslog-Port (erfordert Root unter Linux; verwenden Sie1514für Nicht-Root).
Exporter-Konfiguration:
creds_file_path: Vollständiger Pfad zur Datei für die Authentifizierung bei der Aufnahme:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
customer_id: Die Kundennummer, die aus der Google SecOps Console kopiert wurdeendpoint: Regionale Endpunkt-URL:- USA:
malachiteingestion-pa.googleapis.com - Europa:
europe-malachiteingestion-pa.googleapis.com - Asien:
asia-southeast1-malachiteingestion-pa.googleapis.com - Eine vollständige Liste finden Sie unter Regionale Endpunkte.
- USA:
Konfigurationsdatei speichern
- Speichern Sie die Datei nach der Bearbeitung:
- Linux: Drücken Sie
Ctrl+O, dannEnterund dannCtrl+X. - Windows: Klicken Sie auf Datei > Speichern.
- Linux: Drücken Sie
Bindplane-Agent neu starten, um die Änderungen zu übernehmen
Führen Sie den folgenden Befehl aus, um den Bindplane-Agenten unter Linux neu zu starten:
sudo systemctl restart observiq-otel-collectorPrüfen Sie, ob der Dienst ausgeführt wird:
sudo systemctl status observiq-otel-collectorLogs auf Fehler prüfen:
sudo journalctl -u observiq-otel-collector -f
Wählen Sie eine der folgenden Optionen aus, um den Bindplane-Agenten unter Windows neu zu starten:
Eingabeaufforderung oder PowerShell als Administrator:
net stop observiq-otel-collector && net start observiq-otel-collectorDienstkonsole:
- Drücken Sie
Win+R, geben Sieservices.mscein und drücken Sie die Eingabetaste. - Suchen Sie nach observIQ OpenTelemetry Collector.
- Klicken Sie mit der rechten Maustaste und wählen Sie Neu starten aus.
Prüfen Sie, ob der Dienst ausgeführt wird:
sc query observiq-otel-collectorLogs auf Fehler prüfen:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
- Drücken Sie
Vectra Stream für das Senden von Syslog konfigurieren
- Melden Sie sich in der Vectra-UI (Brain) an.
- Gehe zu den Einstellungen > Benachrichtigungen.
- Gehen Sie zum Abschnitt Syslog.
- Klicken Sie auf Bearbeiten, um die Syslog-Konfiguration hinzuzufügen oder zu bearbeiten.
- Geben Sie die folgenden Konfigurationsdetails an:
- Ziel: Geben Sie die IP-Adresse des Bindplane-Agents ein.
- Port: Geben Sie die Portnummer des Bindplane-Agents ein.
- Protokoll: Wählen Sie je nach Konfiguration des Bindplane-Agents UDP oder TCP aus.
- Format: Wählen Sie JSON aus.
- Log Types (Protokolltypen): Wählen Sie die Protokolle aus, die Sie an Google SecOps senden möchten.
- Klicken Sie auf Speichern.
- Klicken Sie auf Testen, um die Konfiguration zu testen.
UDM-Zuordnungstabelle
| Logfeld | UDM-Zuordnung | Logik |
|---|---|---|
AA |
network.dns.authoritative |
Aus dem Stringwert in einen booleschen Wert konvertiert. |
account_session_id |
network.session_id |
Direkte Zuordnung. |
account_session_time |
network.session_duration |
In einen Zeitstempel aus UNIX-Sekunden umgewandelt. |
answers |
network.dns.answers.data |
Direkte Zuordnung. |
assigned_ip |
network.dhcp.yiaddr |
Direkte Zuordnung. |
beacon_type |
metadata.description |
Direkte Zuordnung. |
beacon_uid |
network.session_id |
Direkte Zuordnung. |
calling_station_id |
intermediary.asset.product_object_id |
Direkte Zuordnung. |
certificate.issuer |
network.tls.client.certificate.issuer |
Direkte Zuordnung. |
certificate.not_valid_after |
network.tls.client.certificate.not_after |
Wird je nach Format von UNIX oder UNIX_MS in einen Zeitstempel konvertiert. |
certificate.not_valid_before |
network.tls.client.certificate.not_before |
Wird je nach Format von UNIX oder UNIX_MS in einen Zeitstempel konvertiert. |
certificate.serial |
network.tls.client.certificate.serial |
Direkte Zuordnung. |
certificate.subject |
network.tls.client.certificate.subject |
Direkte Zuordnung. |
certificate.version |
network.tls.client.certificate.version |
Direkte Zuordnung. |
cipher |
network.tls.cipher |
Direkte Zuordnung. |
cipher_alg |
network.tls.cipher |
Direkte Zuordnung. |
client |
principal.application |
Direkte Zuordnung. |
client_cipher |
network.tls.client.supported_ciphers |
Direkte Zuordnung. |
community_id |
network.community_id |
Direkte Zuordnung. |
compression_alg |
additional.fields.value.string_value |
Zusätzliche Felder mit dem Schlüssel „compression_alg“ wurden hinzugefügt. |
connect_info |
security_result.description |
Direkte Zuordnung. |
conn_state |
metadata.description |
Wird einer Beschreibung basierend auf dem Wert von „conn_state“ zugeordnet. |
cookie |
target.user.userid |
Direkte Zuordnung. |
curve |
network.tls.curve |
Direkte Zuordnung. |
dhcp_server_ip |
network.dhcp.giaddr |
Direkte Zuordnung. |
dns_server_ips |
principal.ip |
Jede IP-Adresse im Array wird dem Array „principal.ip“ hinzugefügt. |
domain |
target.domain.name |
Direkte Zuordnung. |
dst_display_name |
target.hostname,, target.asset.hostname |
Direkte Zuordnung. |
dst_luid |
target.asset.product_object_id |
Direkte Zuordnung. |
duration |
network.session_duration.seconds |
Aus dem Stringwert wurde eine Ganzzahl. |
endpoint |
principal.application |
Direkte Zuordnung. |
established |
network.tls.established |
Aus Stringwert in booleschen Wert konvertiert. |
host |
target.hostname,, target.asset.hostname |
Der Hostname wurde aus dem Feld „host“ extrahiert. |
host_key |
additional.fields.value.string_value |
Wird zu zusätzlichen Feldern mit dem Schlüssel „host_key“ hinzugefügt. |
host_key_alg |
additional.fields.value.string_value |
Wird zusätzlichen Feldern mit dem Schlüssel „host_key_alg“ hinzugefügt. |
host_multihomed |
additional.fields.value.string_value |
Zu zusätzlichen Feldern mit dem Schlüssel „host_multihomed“ und dem Wert „subnet %{host_multihomed}“ hinzugefügt. |
hostname |
target.hostname,, target.asset.hostname |
Direkte Zuordnung. |
id.orig_h |
principal.ip |
Direkte Zuordnung. |
id.orig_p |
principal.port |
Aus dem Stringwert wurde eine Ganzzahl. |
id.resp_h |
target.ip,, target.asset.ip |
Direkte Zuordnung. |
id.resp_p |
target.port |
Aus dem Stringwert wurde eine Ganzzahl. |
issuer |
network.tls.client.certificate.issuer |
Direkte Zuordnung. |
ja3 |
network.tls.client.ja3 |
Direkte Zuordnung. |
ja3s |
network.tls.server.ja3s |
Direkte Zuordnung. |
kex_alg |
additional.fields.value.string_value |
Wird zusätzlichen Feldern mit dem Schlüssel „kex_alg“ hinzugefügt. |
lease_time |
network.dhcp.lease_time_seconds |
Aus Stringwert in vorzeichenlose Ganzzahl konvertiert. |
log_type |
metadata.log_type |
Direkte Zuordnung. |
mac |
principal.mac |
Direkte Zuordnung. |
mac_alg |
additional.fields.value.string_value |
Wird den zusätzlichen Feldern mit dem Schlüssel „mac_alg“ hinzugefügt. |
mail_from |
network.email.from |
Direkte Zuordnung. |
metadata_type |
metadata.product_event_type |
Direkte Zuordnung. |
method |
network.http.method |
Direkte Zuordnung. |
name |
target.file.full_path |
Direkte Zuordnung. |
nas_identifier |
target.user.attribute.roles.name |
Direkte Zuordnung. |
next_protocol |
network.tls.next_protocol |
Direkte Zuordnung. |
orig_hostname |
principal.hostname |
Direkte Zuordnung. |
orig_ip_bytes |
network.sent_bytes |
Aus dem Stringwert wurde eine vorzeichenlose Ganzzahl. |
orig_sluid |
principal.hostname |
Direkte Zuordnung. |
path |
target.file.full_path |
Direkte Zuordnung. |
proto |
network.ip_protocol |
Wird anhand des numerischen Werts dem Namen des IP-Protokolls zugeordnet. |
proxied |
principal.ip |
Wenn der Wert eine IP-Adresse ist, wird er dem Array „principal.ip“ hinzugefügt. |
qclass |
network.dns.questions.class |
Aus dem Stringwert wurde eine vorzeichenlose Ganzzahl. |
qclass_name |
network.dns.questions.name |
Direkte Zuordnung. |
query |
network.dns.questions.name,, principal.process.command_line |
Direkte Zuordnung. |
qtype |
network.dns.questions.type |
Aus dem Stringwert wurde eine vorzeichenlose Ganzzahl. |
RA |
network.dns.recursion_available |
Aus dem Stringwert in einen booleschen Wert konvertiert. |
radius_type |
metadata.description |
Direkte Zuordnung. |
rcode |
network.dns.response_code |
Aus dem Stringwert wurde eine vorzeichenlose Ganzzahl. |
RD |
network.dns.recursion_desired |
Aus dem Stringwert in einen booleschen Wert konvertiert. |
rcpt_to |
network.email.reply_to,, network.email.to |
Die erste E-Mail-Adresse wird „reply_to“ zugeordnet, die restlichen werden dem Array „to“ hinzugefügt. |
referrer |
network.http.referral_url |
Direkte Zuordnung. |
resp_domain |
target.domain.name |
Direkte Zuordnung. |
resp_hostname |
target.hostname,, target.asset.hostname |
Direkte Zuordnung. |
resp_ip_bytes |
network.received_bytes |
Aus dem Stringwert wurde eine vorzeichenlose Ganzzahl. |
resp_mime_types |
target.file.mime_type |
Direkte Zuordnung. |
result |
security_result.description |
Direkte Zuordnung. |
result_code |
security_result.action_details |
Direkte Zuordnung. |
rtt |
network.session_duration.seconds |
Aus dem Stringwert wurde eine Ganzzahl. |
security_result |
security_result | Mit einem vorhandenen security_result-Objekt zusammengeführt. |
sensor_uid |
observer.asset_id |
Formatiert als „Sensor_UID:%{sensor_uid}“. |
server |
target.application |
Direkte Zuordnung. |
server_name |
network.tls.client.server_name |
Direkte Zuordnung. |
service |
target.application |
Direkte Zuordnung. |
src_display_name |
principal.hostname |
Direkte Zuordnung. |
src_luid |
principal.asset.product_object_id |
Direkte Zuordnung. |
status |
security_result.summary |
Direkte Zuordnung. |
status_code |
network.http.response_code |
Aus dem Stringwert wurde eine Ganzzahl. |
status_msg |
security_result.summary |
Direkte Zuordnung. |
subject |
network.email.subject |
Direkte Zuordnung. |
success |
security_result.action |
Wird bei „true“ auf „ALLOW“ und bei „false“ auf „BLOCK“ festgelegt. |
TC |
network.dns.truncated |
Aus dem Stringwert in einen booleschen Wert konvertiert. |
trans_id |
network.dhcp.transaction_id,, network.dns.id |
Aus dem Stringwert wurde eine vorzeichenlose Ganzzahl. |
ts |
metadata.event_timestamp |
Aus verschiedenen Formaten in einen Zeitstempel konvertiert. |
uid |
metadata.product_log_id |
Direkte Zuordnung. |
uri |
target.url |
Direkte Zuordnung. |
user_agent |
network.http.user_agent |
Direkte Zuordnung. |
username |
principal.user.userid |
Direkte Zuordnung. |
version |
network.tls.version,, principal.platform_version |
Direkte Zuordnung. |
version_num |
network.tls.version_protocol |
Direkte Zuordnung. |
metadata.event_type |
Wird durch die Parserlogik basierend auf den Protokoll- und Metadatentypen bestimmt. | |
metadata.vendor_name |
Fest codierter Wert: „Vectra“. | |
metadata.product_name |
Fest codierter Wert: „Vectra Stream“. | |
eve_json.alert.signature |
security_result.summary |
Aus dem Änderungsprotokoll zugeordnet |
eve_json.alert.category |
security_result.category_details |
Aus dem Änderungsprotokoll zugeordnet |
eve_json.alert.metadata.signature_severity |
security_result.severity |
Aus dem Änderungsprotokoll zugeordnet |
eve_json.alert.gid |
target.group.product_object_id |
Aus dem Änderungsprotokoll zugeordnet |
eve_json.alert.metadata.confidence |
security_result.confidence |
Aus dem Änderungsprotokoll zugeordnet |
eve_json.dest_ip" and "eve_json.flow.dest_ip |
target.ip |
Aus dem Änderungsprotokoll zugeordnet |
eve_json.dest_port" and "eve_json.flow.dest_port |
target.port |
Aus dem Änderungsprotokoll zugeordnet |
rrname |
dns.questions.name |
Aus dem Änderungsprotokoll zugeordnet |
eve_json.flow.bytes_toclient |
network.sent_bytes |
Aus dem Änderungsprotokoll zugeordnet |
eve_json.flow.bytes_toserver |
network.received_bytes |
Aus dem Änderungsprotokoll zugeordnet |
eve_json.flow.src_ip" and "eve_json.src_ip |
principal.ip |
Aus dem Änderungsprotokoll zugeordnet |
eve_json.flow.src_port" and "eve_json.src_port |
principal.port |
Aus dem Änderungsprotokoll zugeordnet |
idorig_h |
principal.ip |
Aus dem Änderungsprotokoll zugeordnet |
idorig_p |
principal.port |
Aus dem Änderungsprotokoll zugeordnet |
attributes |
additional.fields |
Aus dem Änderungsprotokoll zugeordnet |
first_orig_resp_data_pkt", "first_orig_resp_data_pkt_time", "cookie", "keyboard_layout", "name", and "query_scope |
additional.fields |
Aus dem Änderungsprotokoll zugeordnet |
operation |
security_result.action_details |
Aus dem Änderungsprotokoll zugeordnet |
qclass_name |
question.name |
Aus dem Änderungsprotokoll zugeordnet |
Änderungsprotokoll
Änderungsprotokoll für diesen Parser ansehen
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten