Symantec VIP Enterprise Gateway-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie Symantec VIP Enterprise Gateway-Logs mit Bindplane in Google Security Operations aufnehmen. Der Parsercode versucht zuerst, die eingehende Logmeldung als JSON-Objekt zu verarbeiten. Schlägt dies fehl, wird ein Syslog-Format angenommen und es werden reguläre Ausdrücke (Grok-Muster) verwendet, um relevante Felder wie Zeitstempel, IP-Adressen, Nutzernamen und Ereignisbeschreibungen zu extrahieren. Schließlich werden die extrahierten Informationen den Feldern des Unified Data Model (UDM) zugeordnet, um Sicherheitsereignisse standardisiert darzustellen.
Hinweise
Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:
- Google SecOps-Instanz
- Windows 2016 oder höher oder Linux-Host mit systemd
- Wenn die Ausführung hinter einem Proxy erfolgt, sind die Firewallports geöffnet.
- Privilegierter Zugriff auf Symantec VIP Enterprise Gateway
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
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 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: 'SYMANTEC_VIP' 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 Kunden-ID.Aktualisieren Sie
/path/to/ingestion-authentication-file.json
auf den Pfad, in dem die Authentifizierungsdatei im Abschnitt Authentifizierungsdatei für die Google SecOps-Aufnahme 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 in Symantec VIP Enterprise Gateway konfigurieren
- Melden Sie sich in der Web-UI von Symantec VIP Gateway an.
- Rufen Sie Logs> Syslog Configuration auf.
- Wenn Sie Syslog zum ersten Mal konfigurieren, werden Sie aufgefordert, die Syslog-Einstellungen zu konfigurieren. Wählen Sie Ja aus.
- Wenn Sie Syslog bereits konfiguriert haben, klicken Sie unten auf der Seite auf Bearbeiten.
- Geben Sie die folgenden Konfigurationsdetails an:
- Syslog Facility (Syslog-Einrichtung): Wählen Sie LOG_LOCAL0 aus.
- Syslog-Host: Geben Sie die IP-Adresse des Bindplane-Agents ein.
- Syslog-Port: Geben Sie die Portnummer des Bindplane-Agents ein, z. B.
514
für UDP.
- Klicken Sie auf Speichern.
- Gehe zu Einstellungen> Konsoleneinstellungen.
- Geben Sie die folgenden Konfigurationsdetails an:
- Logging Level (Protokollierungsstufe): Wählen Sie Info aus.
- Syslog aktivieren: Wählen Sie Ja aus.
- Klicken Sie auf Senden.
- Rufen Sie die Einstellungen > Einstellungen für den Gesundheitscheck auf.
- Wählen Sie Ja aus, um den Systemdiagnosedienst zu aktivieren.
- Geben Sie die folgenden Konfigurationsdetails an:
- Logging Level (Protokollierungsstufe): Wählen Sie Info aus.
- Syslog aktivieren: Wählen Sie Ja aus.
- Klicken Sie auf Senden.
- Gehen Sie zu User Store > LDAP Directory Synchronization (Nutzer-Store > LDAP-Verzeichnissynchronisierung).
- Bearbeiten Sie die folgenden Konfigurationsdetails:
- Protokollebene: Wählen Sie Info aus.
- Syslog aktivieren: Wählen Sie Ja aus.
- Klicken Sie auf Senden.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
Anwendung | read_only_udm.principal.application | Der Wert stammt aus dem Feld application , das vom JSON-Filter extrahiert wurde. |
Befehl | read_only_udm.target.process.command_line | Der Wert stammt aus dem Feld command , das durch das Grok-Muster extrahiert wurde. |
credentialType | Dieses Feld wird nicht direkt dem UDM zugeordnet. Sie wird verwendet, um den Wert von „read_only_udm.extensions.auth.mechanism“ abzuleiten. | |
Daten | Dieses Feld wird nicht direkt dem UDM zugeordnet. Sie wird geparst, um andere Felder zu extrahieren. | |
data2 | Dieses Feld wird nicht direkt dem UDM zugeordnet. Sie wird geparst, um andere Felder zu extrahieren. | |
Datum/Uhrzeit | read_only_udm.metadata.event_timestamp.seconds read_only_udm.metadata.event_timestamp.nanos |
Sekunden und Nanosekunden seit der Epoche, die aus dem Feld datetime extrahiert wurden. |
Ab | read_only_udm.metadata.description | Der Wert stammt aus dem Feld desc , das vom JSON-Filter extrahiert wurde. |
description | read_only_udm.security_result.description | Der Wert stammt aus dem Feld description , das vom JSON-Filter extrahiert wurde. |
filename | read_only_udm.target.process.file.full_path | Der Wert stammt aus dem Feld filename , das durch das Grok-Muster extrahiert wurde. |
Hostname | read_only_udm.principal.hostname | Der Wert stammt aus dem Feld hostname , das vom JSON-Filter extrahiert wurde. |
host_name | read_only_udm.intermediary.hostname | Der Wert stammt aus dem Feld host_name , das vom JSON-Filter extrahiert wurde. |
log_level | Dieses Feld wird nicht direkt dem UDM zugeordnet. Er wird verwendet, um den Wert von „read_only_udm.security_result.severity“ abzuleiten. | |
log_type | read_only_udm.metadata.product_event_type | Der Wert stammt aus dem Feld log_type , das vom JSON-Filter extrahiert wurde. |
msg | Dieses Feld wird nicht direkt dem UDM zugeordnet. Sie wird geparst, um andere Felder zu extrahieren. | |
Vorgang | read_only_udm.security_result.summary | Der Wert stammt aus dem Feld operation , das durch das Grok-Muster extrahiert wurde. |
processid | read_only_udm.target.process.pid | Der Wert stammt aus dem Feld processid , das durch das Grok-Muster extrahiert wurde. |
Produkt | read_only_udm.metadata.product_name | Der Wert stammt aus dem Feld product , das vom JSON-Filter extrahiert wurde. |
reason | read_only_udm.metadata.description | Der Wert stammt aus dem Feld reason , das durch das Grok-Muster extrahiert wurde. |
request_id | read_only_udm.target.resource.id | Der Wert stammt aus dem Feld request_id , das durch das Grok-Muster extrahiert wurde. |
src_ip | read_only_udm.principal.ip | Der Wert stammt aus dem Feld src_ip , das durch das Grok-Muster extrahiert wurde. |
Status | read_only_udm.metadata.description | Der Wert stammt aus dem Feld status , das durch das Grok-Muster extrahiert wurde. |
Zusammenfassung | read_only_udm.security_result.summary | Der Wert stammt aus dem Feld summary , das vom JSON-Filter extrahiert wurde. |
timestamp.nanos | read_only_udm.metadata.event_timestamp.nanos | Nanosekunden vom ursprünglichen Log-Zeitstempel. |
timestamp.seconds | read_only_udm.metadata.event_timestamp.seconds | Sekunden seit dem ursprünglichen Log-Zeitstempel. |
Zeit | Dieses Feld wird nicht direkt dem UDM zugeordnet. Damit werden die Werte von read_only_udm.metadata.event_timestamp.seconds und read_only_udm.metadata.event_timestamp.nanos abgeleitet. | |
Nutzer | read_only_udm.target.user.userid | Der Wert stammt aus dem Feld user , das vom JSON-Filter oder Grok-Muster extrahiert wurde. |
vendor | read_only_udm.metadata.vendor_name | Der Wert stammt aus dem Feld vendor , das vom JSON-Filter extrahiert wurde. |
read_only_udm.extensions.auth.mechanism | Wird durch das Feld credentialType bestimmt. Wenn credentialType SMS_OTP oder STANDARD_OTP ist, wird OTP verwendet. Wenn credentialType mit dem regulären Ausdruck PASSWORD übereinstimmt, wird USERNAME_PASSWORD verwendet. |
|
read_only_udm.extensions.auth.type | Wenn das Feld reason mit dem regulären Ausdruck LDAP übereinstimmt, wird SSO verwendet. Andernfalls wird AUTHTYPE_UNSPECIFIED verwendet. |
|
read_only_udm.metadata.event_type | Wird durch das Vorhandensein bestimmter Felder bestimmt. Wenn user oder processid nicht leer ist, wird USER_LOGIN verwendet. Wenn user leer und src_ip nicht leer oder 0.0.0.0 ist, wird STATUS_UPDATE verwendet. Andernfalls wird GENERIC_EVENT verwendet. |
|
read_only_udm.metadata.log_type | Hartcodiert auf SYMANTEC_VIP . |
|
read_only_udm.security_result.action | Wird durch das Feld status bestimmt. Wenn status Authentication Success , GRANTED , Authentication Completed , After Services Authenticate call oder CHALLENGED ist, wird ALLOW verwendet. Wenn status DENIED , Acces-Reject , Unknown Error , Service Unavailable oder FAILED ist, wird BLOCK verwendet. Wenn status PUSH request sent for user oder Trying to fetch attribute ist, wird QUARANTINE verwendet. |
|
read_only_udm.security_result.severity | Wird durch das Feld log_level bestimmt. Wenn log_level DEBUG , INFO oder AUDIT ist, wird INFORMATIONAL verwendet. Wenn log_level gleich ERROR ist, wird ERROR verwendet. Wenn log_level gleich WARNING ist, wird MEDIUM verwendet. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten