Array Networks SSL VPN-Logs erfassen
Parserversion:1.0
In diesem Dokument wird beschrieben, wie Sie Array Networks SSL VPN-Logs mit dem Bindplane-Agent in Google Security Operations aufnehmen.
Hinweis
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
- Eine Google SecOps-Instanz
- Ein Windows 2016- oder höherer oder Linux-Host mit
systemd - Wenn Sie einen Proxy verwenden, prüfen Sie, ob die Firewallports gemäß den Anforderungen des Bindplane-Agents geöffnet sind.
- Privilegierter Zugriff auf die Array Networks SSL VPN-Verwaltungskonsole oder -Appliance (AG-Serie oder vxAG)
Google SecOps-Anmeldedaten für den Bindplane-Agent abrufen
Wählen Sie eine der folgenden Methoden aus, um den Bindplane-Agent bei Google SecOps zu authentifizieren:
- Neue Bereitstellungen: Verwenden Sie die Chronicle API (Option 1).
- Legacy-Bereitstellungen: Verwenden Sie die Authentifizierungsdatei für die Aufnahme (Option 2) weiter, bis die Ingestion API am 20. Juli 2027 eingestellt wird.
Option 1: Dienstkonto für die Chronicle API erstellen (empfohlen)
- Melden Sie sich in der Google Cloud Console an und wählen Sie das Google Cloud Projekt aus, das mit Ihrer Google SecOps-Instanz verknüpft ist.
- Rufen Sie IAM und Verwaltung > Dienstkonten auf.
- Klicken Sie auf Dienstkonto erstellen.
- Geben Sie die folgenden Konfigurationsdetails an:
- Name des Dienstkontos: Geben Sie einen Namen für das Konto ein, z. B.
bindplane-ingest. - Dienstkontobeschreibung: Geben Sie eine Beschreibung ein, z. B.
Bindplane agent log ingestion.
- Name des Dienstkontos: Geben Sie einen Namen für das Konto ein, z. B.
- Klicken Sie auf Erstellen und fortfahren.
- Klicken Sie im Abschnitt Diesem Dienstkonto Zugriff auf das Projekt erteilen auf Rolle auswählen und wählen Sie Chronicle-Bearbeiter aus.
- Klicken Sie auf Weiter und dann auf Fertig.
- Klicken Sie auf das erstellte Dienstkonto und rufen Sie den Tab Schlüssel auf.
- Klicken Sie auf Schlüssel hinzufügen > Neuen Schlüssel erstellen.
- Wählen Sie JSON aus und klicken Sie auf Erstellen. Die Schlüsseldatei wird auf Ihren Computer heruntergeladen.
- Speichern Sie die Schlüsseldatei als
ingestion-auth.jsonim Bindplane-Collector-Verzeichnis (/opt/observiq-otel-collector/ingestion-auth.jsonunter Linux oderC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.jsonunter Windows) oder aktualisieren Siecreds_file_pathinconfig.yamlso, dass er mit dem Pfad übereinstimmt, in dem Sie die Datei speichern. - Rufen Sie IAM und Verwaltung > Einstellungen auf und kopieren Sie die Projektnummer. Sie benötigen sie für die Exporterkonfiguration.
Option 2: Authentifizierungsdatei für die Aufnahme herunterladen (Legacy)
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie SIEM-Einstellungen > Erfassungs-Agents auf.
- Laden Sie die Authentifizierungsdatei für die Aufnahme herunter.
- Speichern Sie die Datei sicher auf dem System, auf dem der Bindplane-Agent installiert wird.
Google SecOps-Kundennummer abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie SIEM-Einstellungen > Profil auf.
- Kopieren und speichern Sie die Kundennummer aus dem Bereich Organisationsdetails.
Bindplane-Agent installieren
Installieren Sie den Bindplane-Agent auf Ihrem Windows- oder Linux-Betriebssystem gemäß der folgenden Anleitung.
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" /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 dieser Installationsanleitung.
Bindplane-Agent so konfigurieren, dass Syslog aufgenommen und an Google SecOps gesendet wird
Greifen Sie auf die Konfigurationsdatei zu:
- Suchen Sie die Datei
config.yaml. In der Regel befindet sie sich unter Linux im Verzeichnis/opt/observiq-otel-collector/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: protocol: https # Region of your instance, for example us, europe, asia-southeast1 location: <LOCATION> # Project number of the Google Cloud project linked to the instance project: '<PROJECT_NUMBER>' 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: chronicle.googleapis.com # Add optional ingestion labels for better organization log_type: 'ARRAYNETWORKS_VPN' 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 Kundennummer. - Aktualisieren Sie
/path/to/ingestion-authentication-file.jsonauf den Dateipfad, in dem die Dienstkontoschlüsseldatei (Option 1) in Schritt 1 gespeichert wurde. - Ersetzen Sie
<LOCATION>durch die Region Ihrer Google SecOps-Instanz, z. B.us,europeoderasia-southeast1. Der Exporter stelltchronicle.googleapis.comdiesem Wert voran. Die vollständige Liste finden Sie unter Regionale Endpunkte. - Ersetzen Sie
<PROJECT_NUMBER>durch die Projektnummer unter IAM und Verwaltung > Einstellungen.
Exporter für die Legacy Ingestion API
Wenn Sie die Authentifizierungsdatei für die Aufnahme aus Option 2 verwenden, ersetzen Sie den Block
exportersdurch Folgendes. Legen Siecreds_file_pathauf den Pfad zur Authentifizierungsdatei für die Aufnahme fest. Wenn sich Ihre Instanz außerhalb der USA befindet, ersetzen Siemalachiteingestion-pa.googleapis.comdurch Ihren regionalen Endpunkt, z. B.europe-malachiteingestion-pa.googleapis.com.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: 'ARRAYNETWORKS_VPN' raw_log_field: body ingestion_labels:
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 observiq-otel-collectorUm den Bindplane-Agent unter Windows neu zu starten, können Sie entweder die Konsole Dienste verwenden oder den folgenden Befehl eingeben:
net stop observiq-otel-collector && net start observiq-otel-collector
Syslog-Weiterleitung auf Array Networks SSL VPN konfigurieren
- Melden Sie sich in der Array Networks SSL VPN-Verwaltungskonsole (WebUI) an.
- Klicken Sie im linken Navigationsmenü auf ADMIN TOOLS.
- Klicken Sie auf Monitoring.
- Klicken Sie auf den Tab Logging.
- Klicken Sie auf den Untertab Syslog Servers.
- Klicken Sie im Bereich REMOTE SYSLOG SERVER CONFIGURATION auf Add Server Entry.
- Geben Sie die folgenden Konfigurationsdetails an:
- Host IP: Geben Sie die IP-Adresse des Bindplane-Agents ein.
- Host Port: Geben Sie die Portnummer des Bindplane-Agents ein, z. B. 514.
- Protokoll: Wählen Sie je nach Konfiguration des Bindplane-Agents UDP oder TCP aus.
- Quellport: Lassen Sie die Standardeinstellung unverändert oder geben Sie sie an, wenn dies für Ihre Netzwerkkonfiguration erforderlich ist.
- Level: Wählen Sie den Mindestschweregrad aus, der weitergeleitet werden soll, z. B. „Informational“, „Warning“ oder „Error“.
- Klicken Sie auf Add oder Save , um die Konfiguration anzuwenden.
Klicken Sie oben auf der Seite auf Save Configuration , um die Änderungen beizubehalten.
UDM-Zuordnungstabelle
| Logfeld | UDM-Zuordnung | Logik |
|---|---|---|
clientip |
principal.ip |
Die IP-Adresse des Clients, die aus dem Feld clientip im Roh-Logeintrag extrahiert wurde. |
column1 |
principal.ip |
IP-Adresse, die aus column1 im Roh-Log extrahiert wurde. |
column1 |
principal.asset.ip |
IP-Adresse, die aus column1 im Roh-Log extrahiert wurde. |
column3 |
network.received_bytes |
Die Anzahl der empfangenen Bytes, in eine vorzeichenlose Ganzzahl konvertiert. |
column4 |
network.http.method |
Die HTTP-Methode, die aus column4 im Roh-Log extrahiert wurde. |
column7 |
target.ip |
Die Ziel-IP-Adresse, die aus column7 im Roh-Log extrahiert wurde. |
dport |
target.port |
Zielport, in eine Ganzzahl konvertiert. |
dst |
target.ip |
IP-Adresse des Ziels. |
dst |
target.asset.ip |
IP-Adresse des Ziels. |
hostname |
principal.hostname |
Der Hostname, der aus dem Feld hostname in der Roh-Lognachricht extrahiert wurde. |
hostname |
principal.asset.hostname |
Der Hostname, der aus dem Feld hostname in der Roh-Lognachricht extrahiert wurde. |
http_method |
network.http.method |
Die HTTP-Methode, die aus dem Roh-Logeintrag extrahiert wurde. |
id |
principal.application |
Die Anwendungs-ID aus dem Roh-Log. |
mac |
principal.mac |
Die MAC-Adresse, die aus dem Feld mac in der Roh-Lognachricht extrahiert wurde. |
msg |
metadata.product_event_type |
Das Nachrichtenfeld aus dem Roh-Log, das als Produktereignistyp verwendet wird. Wird auch für security_result.description verwendet, nachdem Backslashes und Anführungszeichen entfernt wurden. |
product_name |
metadata.product_name |
Der Produktname, der aus dem Roh-Logeintrag extrahiert wurde. |
prxy_ip |
intermediary.ip |
Proxy-IP-Adresse. |
prxy_port |
intermediary.port |
Proxy-Port, in eine Ganzzahl konvertiert. |
response_code |
network.http.response_code |
Der HTTP-Antwortcode, in eine Ganzzahl konvertiert. |
security_result.action |
security_result.action |
Wird von der Parserlogik basierend auf dem Wert von column2 bestimmt. „BLOCK“, wenn column2 „TCP_MISS“ enthält, andernfalls „UNKNOWN_ACTION“. |
security_result.description |
security_result.description |
Das Nachrichtenfeld aus dem Roh-Log, nachdem Backslashes und Anführungszeichen entfernt wurden. |
sport |
principal.port |
Quellport, in eine Ganzzahl konvertiert. |
src |
principal.ip |
Quell-IP-Adresse. |
src |
principal.asset.ip |
Quell-IP-Adresse. |
target_hostname |
target.hostname |
Der Zielhostname, der aus dem Roh-Logeintrag extrahiert wurde. |
timestamp |
metadata.event_timestamp |
Der Zeitstempel, der aus dem Roh-Logeintrag extrahiert und in ein Zeitstempelobjekt geparst wurde. |
uri |
target.url |
Teil der Ziel-URL. Wird mit uri_param kombiniert, um die vollständige URL zu bilden. |
uri_param |
target.url |
Teil der Ziel-URL. Wird mit uri kombiniert, um die vollständige URL zu bilden. |
user |
target.user.userid |
Der Nutzername, der aus der Roh-Lognachricht extrahiert wurde. |
user_agent_string |
network.http.user_agent |
Der User-Agent-String, der aus dem Roh-Logeintrag extrahiert wurde. |
vpn |
target.user.group_identifiers |
Der VPN-Name, der aus dem Roh-Logeintrag extrahiert wurde. |
metadata.event_type |
metadata.event_type |
Wird von der Parserlogik basierend auf einer Kombination von Feldern wie has_principal, has_target, has_http_value und user bestimmt. Kann „NETWORK_HTTP“, „NETWORK_CONNECTION“, „STATUS_UPDATE“, „USER_UNCATEGORIZED“ oder „GENERIC_EVENT“ sein. |
network.ip_protocol |
network.ip_protocol |
Wird auf „TCP“ gesetzt, wenn die Nachricht „TCP“ enthält. |
Änderungsprotokoll
Änderungsprotokoll für diesen Parser ansehen
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten