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 UDM-Feldern (Unified Data Model) 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 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
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,vioder Notepad).
- Suchen Sie die Datei
Bearbeiten Sie die Datei
config.yamlso: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_labelsErsetzen 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.jsonauf 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-agentUm den Bindplane-Agent unter Windows neu zu starten, 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 Ihres 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.
514für UDP.
- Klicken Sie auf Speichern.
- Gehe zu Einstellungen> Konsoleneinstellungen.
- Geben Sie die folgenden Konfigurationsdetails an:
- Logging Level (Protokollierungsstufe): Wählen Sie Info aus.
- Enable Syslog (Syslog aktivieren): Wählen Sie Yes (Ja) aus.
- Klicken Sie auf Senden.
- Gehen Sie zu Einstellungen > Einstellungen für den Gesundheitscheck.
- Wählen Sie Ja aus, um den Systemdiagnosedienst zu aktivieren.
- Geben Sie die folgenden Konfigurationsdetails an:
- Logging Level (Protokollierungsstufe): Wählen Sie Info aus.
- Enable Syslog (Syslog aktivieren): Wählen Sie Yes (Ja) aus.
- Klicken Sie auf Senden.
- Gehen Sie zu User Store > LDAP Directory Synchronization (Nutzerspeicher > LDAP-Verzeichnissynchronisierung).
- Bearbeiten Sie die folgenden Konfigurationsdetails:
- Protokollebene: Wählen Sie Info aus.
- Enable Syslog (Syslog aktivieren): Wählen Sie Yes (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. Damit wird der Wert von „read_only_udm.extensions.auth.mechanism“ abgeleitet. | |
| 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. |
| Beschreibung | 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. Sie 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 ab dem ursprünglichen Log-Zeitstempel. |
| timestamp.seconds | read_only_udm.metadata.event_timestamp.seconds | Sekunden seit dem ursprünglichen Zeitstempel des Logs. |
| 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 | Wert 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