Pulse Secure-Protokolle erfassen
In diesem Dokument wird beschrieben, wie Sie Pulse Secure-Logs mithilfe eines Google Security Operations-Forwarders erfassen können.
Weitere Informationen finden Sie unter Übersicht über die Datenaufnahme in Google Security Operations.
Ein Erfassungslabel identifiziert den Parser, der Rohdaten in das strukturierte UDM-Format normalisiert. Die Informationen in diesem Dokument beziehen sich auf den Parser mit dem Aufnahme-Label PULSE_SECURE_VPN
.
Pulse Secure VPN konfigurieren
Führen Sie einen der folgenden Schritte aus, um das Pulse Secure VPN zu konfigurieren:
- Pulse Secure VPN Version 8.3R3 und früher konfigurieren
- Pulse Secure VPN Version 8.3R4 und höher konfigurieren
Pulse Secure VPN Version 8.3R3 und früher konfigurieren
- Melden Sie sich in der Pulse Connect Secure-Konsole an.
- Wählen Sie in der Pulse Connect Secure-Konsole System > Log/monitoring > Settings aus. Sie können Einstellungen auf dem Tab Ereignisse, Nutzerzugriff oder Administratorzugriff auswählen.
- Wählen Sie im Bereich Zu protokollierende Ereignisse auswählen alle Kästchen aus, die Ereignissen entsprechen.
- Führen Sie im Abschnitt Syslog-Server folgende Schritte aus:
- Geben Sie im Feld Servername/IP die IP-Adresse des Google Security Operations-Forwarders an.
- Wählen Sie in der Liste Einrichtung die Option LOCAL0 aus. Die Liste Einrichtung enthält acht Einrichtungen:
LOCAL0
bisLOCAL7
. Sie können eine dieser Einstellungen verwenden, um Einrichtungen auf Ihrem Syslog-Server zuzuordnen. - Wählen Sie in der Liste Typ die Option UDP oder TCP aus.
- Klicken Sie auf Hinzufügen.
- Optional: Wenn Sie mehrere Syslog-Server für Ereignis-, Administratorzugriffs- oder Nutzerzugriffsprotokolle hinzufügen möchten, wiederholen Sie die Schritte 2 bis 4.
- Klicken Sie auf Änderungen speichern.
- So stellen Sie sicher, dass das Standardlogformat als Standard festgelegt ist:
- Öffnen Sie die Pulse Connect Secure-Konsole.
- Stellen Sie auf dem Tab Ereignisse, dem Tab Nutzerzugriff und dem Tab Administratorzugriff die Filter auf Standard ein.
- Wenn der Standardfilter nicht als Standardfilter definiert ist, klicken Sie auf Als Standard festlegen.
- Klicken Sie auf Speichern.
Pulse Secure VPN Version 8.3R4 und höher konfigurieren
- Klicken Sie in der Pulse Connect Secure-Konsole auf den Tab Events (Ereignisse), User Access (Nutzerzugriff) oder Admin Access (Administratorzugriff) und legen Sie dann Filters (Filter) auf New filter (Neuer Filter) fest.
- Geben Sie im Feld Filtername einen Namen für den Filter ein.
Wählen Sie im Bereich Exportformat die Option Benutzerdefiniert aus und geben Sie das folgende Format in das Feld ein:
[SecureConnect] %date% %time% - %node% - [%sourceip%] %user%(%realm%)[%role%] - %msg%
Klicken Sie auf Speichern.
Führen Sie je nach Geräteversion einen der folgenden Schritte aus, um die Syslog-Konfiguration zu aktivieren:
- Syslog-Logging in Pulse Secure VPN aktivieren
- Syslog-Logging auf Ivanti Connect Secure aktivieren
Syslog-Logging auf Pulse Secure VPN aktivieren
- Wählen Sie in der Pulse Connect Secure-Konsole System > Log/Monitoring > Settings (Einstellungen) aus. Sie können Einstellungen auf dem Tab Ereignisse, Nutzerzugriff oder Administratorzugriff auswählen.
- Wählen Sie im Bereich Zu protokollierende Ereignisse auswählen alle Kästchen mit Ausnahme der Kästchen HTML5-Zugriff, Zulassungskontrollnachrichten und Nicht authentifizierte Anfragen aus.
- Geben Sie im Feld Syslog-Server Informationen zu den Syslog-Servern ein.
- Führen Sie im Abschnitt Syslog-Server folgende Schritte aus:
- Geben Sie im Feld Servername/IP den Servernamen oder die IP-Adresse des Google Security Operations-Forwarders ein.
- Wählen Sie in der Liste Einrichtung die Option LOCAL0 aus.
- Wählen Sie in der Liste Filter den zuvor erstellten Filter aus.
- Klicken Sie auf Hinzufügen.
- Optional: Wenn Sie mehrere Syslog-Server für Ereignisse, Administratorzugriff oder Nutzerzugriffsprotokolle hinzufügen möchten, wiederholen Sie die Schritte 2 bis 4.
- Klicken Sie auf Änderungen speichern.
Syslog-Logging auf Ivanti Connect Secure aktivieren
- Klicken Sie in der Pulse Connect Secure-Konsole auf den Tab Events, User Access oder Admin Access und wählen Sie dann Filters aus.
- Klicken Sie auf den Tab Neuer Filter.
Wählen Sie im Bereich Exportformat die Option Benutzerdefiniert aus und geben Sie das folgende Format in das Feld ein:
[SecureConnect] %date% %time% - %node% - [%sourceip%] %user%(%realm%)[%role%] - %msg%
Klicken Sie auf Speichern.
Klicken Sie auf System > Log/monitoring (Log/Monitoring) und wählen Sie dann den Tab Settings (Einstellungen) aus.
Geben Sie im Feld Maximale Protokollgröße die maximale Protokollgröße an und wählen Sie die Ereignisse aus, die protokolliert werden sollen.
Geben Sie die Serverkonfiguration so an:
Geben Sie im Feld Servername/IP den vollständig qualifizierten Domainnamen oder die Google Security Operations-Forwarder-IP-Adresse für den Syslog-Server an.
Wenn Sie in der Typenliste Transport Layer Security (TLS) auswählen, muss der Servername mit dem CN im subjectDN im vom Server abgerufenen Zertifikat übereinstimmen.
Wählen Sie in der Liste Einrichtung eine Syslog-Server-Einrichtungsebene aus.
Wählen Sie in der Liste Type (Typ) den Verbindungstyp zum Syslog-Server als UDP, TCP oder TLS aus. TLS verwendet kryptografische Protokolle, um eine sichere Kommunikation zu ermöglichen.
Wenn Sie TLS auswählen, wählen Sie das installierte Clientzertifikat aus, das zur Authentifizierung des Syslog-Servers verwendet werden soll. Clientzertifikate werden im Fenster Konfiguration > Zertifikate > Client-Authentifizierungszertifikate definiert. Clientzertifikate müssen auf dem Gerät installiert werden, bevor sie verwendet werden können. Wenden Sie sich an Ihre Zertifizierungsstelle, um das Zertifikat zu erhalten.
Wählen Sie in der Liste Filter die Option Benutzerdefiniert aus.
Klicken Sie auf Hinzufügen.
Google Security Operations-Forwarder zum Erfassen von Pulse Secure-Logs konfigurieren
- Wählen Sie SIEM Settings > Forwarders aus.
- Klicken Sie auf Neuen Weiterleitungsdienst hinzufügen.
- Geben Sie im Feld Name des Weiterleitungsdienstes einen eindeutigen Namen für den Weiterleitungsdienst ein.
- Klicken Sie auf Senden und dann auf Bestätigen. Der Weiterleiter wird hinzugefügt und das Fenster Collector-Konfiguration hinzufügen wird angezeigt.
- Geben Sie im Feld Name des Collectors einen eindeutigen Namen für den Collector ein.
- Wählen Sie Pulse Secure als Logtyp aus.
- Wählen Sie Syslog als Collector-Typ aus.
- Konfigurieren Sie die folgenden obligatorischen Eingabeparameter:
- Protokoll: Geben Sie das Verbindungsprotokoll an, das der Collector verwendet, um Syslog-Daten zu empfangen.
- Adresse: Geben Sie die Ziel-IP-Adresse oder den Hostnamen an, auf dem sich der Collector befindet und auf Syslog-Daten wartet.
- Port: Geben Sie den Zielport an, an dem sich der Collector befindet und an dem er auf Syslog-Daten wartet.
- Klicken Sie auf Senden.
Weitere Informationen zu den Google Security Operations-Forwardern finden Sie unter Forwarder-Konfigurationen über die Google Security Operations-Benutzeroberfläche verwalten.
Wenn beim Erstellen von Weiterleitungen Probleme auftreten, wenden Sie sich an den Google Security Operations-Support.
Referenz zur Feldzuordnung
Dieser Parser extrahiert Felder aus Pulse Secure VPN-Logs und verarbeitet sowohl Windows-Ereignisprotokolle als auch Syslog-Formate. Es normalisiert verschiedene Logstrukturen in ein gemeinsames Format und kategorisiert Ereignisse wie Anmeldungen, Abmeldungen, Verbindungen und Richtlinienänderungen. Außerdem werden sie mit Kontextdaten wie User-Agents, IP-Adressen und Zeitstempeln angereichert.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
Aktion | security_result.action_details |
Direkt aus dem Feld action zugeordnet. |
Anwendung | principal.application |
Direkt aus dem Feld application zugeordnet. |
bytes_read | network.received_bytes |
Direkt aus dem Feld bytes_read zugeordnet und in eine vorzeichenlose Ganzzahl konvertiert. |
bytes_written | network.sent_bytes |
Direkt aus dem Feld bytes_written zugeordnet und in eine vorzeichenlose Ganzzahl konvertiert. |
client_host | principal.hostname , principal.asset.hostname |
Direkt aus dem Feld client_host zugeordnet. |
CMD | principal.process.command_line |
Direkt aus dem Feld cmd zugeordnet. |
connection_status | security_result.detection_fields.value.string_value |
Direkt aus dem Feld connection_status zugeordnet. |
data_time | metadata.event_timestamp.seconds |
Wird aus dem Feld data_time mit verschiedenen Zeitstempelformaten (MM-TT-JJJJ HH:MM:SS Z, RFC 3339, ISO8601, MMM T HH:MM:SS, MMM T HH:MM:SS) geparst. |
devname | principal.hostname , principal.asset.hostname |
Direkt aus dem Feld devname zugeordnet. |
dstip | target.ip , target.asset.ip |
Direkt aus dem Feld dstip zugeordnet. |
dstport | target.port |
Direkt aus dem Feld dstport zugeordnet und in eine Ganzzahl konvertiert. |
dstcountry | target.location.country_or_region |
Wird direkt aus dem Feld dstcountry zugeordnet, wenn es nicht „Reserved“ (Reserviert) oder leer ist. |
Dauer | network.session_duration.seconds |
Direkt aus dem Feld duration zugeordnet und in eine Ganzzahl konvertiert. |
dvc | intermediary.hostname oder intermediary.ip |
Wenn das Feld dvc in eine IP-Adresse umgewandelt werden kann, wird es intermediary.ip zugeordnet. Andernfalls wird sie intermediary.hostname zugeordnet. |
dvc_hostname | intermediary.hostname , principal.hostname , principal.asset.hostname oder intermediary.ip , principal.ip , principal.asset.ip |
Wenn das Feld dvc_hostname in eine IP-Adresse umgewandelt werden kann, wird es den entsprechenden IP-Feldern zugeordnet. Andernfalls wird sie den entsprechenden Hostname-Feldern zugeordnet. |
event_type | metadata.product_event_type |
Direkt aus dem Feld event_type zugeordnet. |
failure_reason | security_result.description |
Direkt aus dem Feld failure_reason zugeordnet. Wenn die Meldung „because host“ enthält, wird dem Fehlergrund der Text „host“ vorangestellt. |
has_principal | event.idm.read_only_udm.principal (Präsenz) |
Auf „true“ gesetzt, wenn Felder für den Hauptnutzer ausgefüllt sind, andernfalls „false“. Wird durch die Parserlogik abgeleitet. |
has_target | event.idm.read_only_udm.target (Präsenz) |
Auf „true“ gesetzt, wenn Zielfelder ausgefüllt sind, andernfalls „false“. Wird durch die Parserlogik abgeleitet. |
has_target_user | event.idm.read_only_udm.target.user.userid (Präsenz) |
Auf „true“ gesetzt, wenn target.user.userid ausgefüllt ist, andernfalls „false“. Wird durch die Parserlogik abgeleitet. |
host_ip | principal.ip , principal.asset.ip |
Direkt aus dem Feld host_ip zugeordnet. |
host_mac | principal.mac |
Direkt aus dem Feld host_mac zugeordnet, wobei Bindestriche durch Doppelpunkte ersetzt werden. |
http_method | network.http.method |
Direkt aus dem Feld http_method zugeordnet. |
http_response | network.http.response_code |
Direkt aus dem Feld http_response zugeordnet und in eine Ganzzahl konvertiert. |
info_desc | about.labels.value |
Direkt aus dem Feld info_desc zugeordnet. |
ip_new | target.ip , target.asset.ip |
Direkt aus dem Feld ip_new zugeordnet. |
level | security_result.severity , security_result.severity_details |
Die security_result.severity wird aus dem Feld level abgeleitet („error“/„warning“ –> HIGH, „notice“ –> MEDIUM, „information“/„info“ –> LOW). Der Rohwert von level wird auch security_result.severity_details zugeordnet. |
logid | metadata.product_log_id |
Direkt aus dem Feld logid zugeordnet. |
locip | principal.ip , principal.asset.ip |
Direkt aus dem Feld locip zugeordnet. |
Nachricht | metadata.description |
Wird verwendet, um verschiedene Felder mit den Filtern „grok“ und „kv“ zu extrahieren. Wenn die Nachricht „EventID“ enthält, wird sie als Windows-Ereignisprotokoll verarbeitet. |
message_info | metadata.description |
Wird direkt metadata.description zugeordnet, sofern nicht anders in spezifischeren Grok-Mustern verwendet. |
msg | metadata.product_event_type , metadata.description |
Wenn das Feld msg vorhanden ist, wird der Produkttyp extrahiert und metadata.product_event_type zugeordnet. Die verbleibende Nachricht wird metadata.description zugeordnet. |
msg_hostname | principal.hostname , principal.asset.hostname |
Direkt aus dem Feld msg_hostname zugeordnet. |
msg_ip | principal.ip , principal.asset.ip |
Direkt aus dem Feld msg_ip zugeordnet. |
msg_user_agent | network.http.user_agent , network.http.parsed_user_agent , metadata.product_version |
Der User-Agent-String wird network.http.user_agent zugeordnet, der geparste User-Agent network.http.parsed_user_agent und die Produktversion (falls vorhanden) metadata.product_version . |
network_duration | network.session_duration.seconds |
Direkt aus dem Feld network_duration zugeordnet und in eine Ganzzahl konvertiert. |
policyid | security_result.rule_id |
Direkt aus dem Feld policyid zugeordnet. |
policyname | security_result.rule_name |
Direkt aus dem Feld policyname zugeordnet. |
policytype | security_result.rule_type |
Direkt aus dem Feld policytype zugeordnet. |
priority_code | about.labels.value |
Direkt aus dem Feld priority_code zugeordnet und auch zum Ableiten von about.labels.value für den Schlüssel „Severity“ (siehe Logik) verwendet. |
prod_name | metadata.product_name |
Direkt aus dem Feld prod_name zugeordnet. |
product_type | metadata.product_event_type |
Direkt aus dem Feld product_type zugeordnet. |
product_version | metadata.product_version |
Direkt aus dem Feld product_version zugeordnet. |
Proto | network.ip_protocol |
Wird nach der Umwandlung in einen IP-Protokollnamen mithilfe einer Suche network.ip_protocol zugeordnet. |
pwd | principal.process.file.full_path |
Direkt aus dem Feld pwd zugeordnet. |
Bereich | principal.group.attribute.labels.value |
Direkt aus dem Feld realm zugeordnet. |
rcvdbyte | network.received_bytes |
Direkt aus dem Feld rcvdbyte zugeordnet und in eine vorzeichenlose Ganzzahl konvertiert. |
remip | target.ip |
Direkt aus dem Feld remip zugeordnet. |
ressource_name | target.resource.name |
Direkt aus dem Feld resource_name zugeordnet, nachdem voran- und nachgestellte Leerzeichen und Bindestriche entfernt wurden. |
resource_status | security_result.description |
Direkt aus dem Feld resource_status zugeordnet. |
resource_user_group | principal.user.group_identifiers |
Direkt aus dem Feld resource_user_group zugeordnet. |
resource_user_name | principal.user.userid |
Direkt aus dem Feld resource_user_name zugeordnet. |
Rollen | principal.user.group_identifiers |
Direkt aus dem Feld roles zugeordnet. |
sentbyte | network.sent_bytes |
Direkt aus dem Feld sentbyte zugeordnet und in eine vorzeichenlose Ganzzahl konvertiert. |
session_id | network.session_id |
Direkt aus dem Feld session_id zugeordnet. |
sessionid | network.session_id |
Direkt aus dem Feld sessionid zugeordnet. |
srcip | principal.ip , principal.asset.ip |
Direkt aus dem Feld srcip zugeordnet. |
srcport | principal.port |
Direkt aus dem Feld srcport zugeordnet und in eine Ganzzahl konvertiert. |
srccountry | principal.location.country_or_region |
Wird direkt aus dem Feld srccountry zugeordnet, wenn es nicht „Reserved“ (Reserviert) oder leer ist. |
Untertyp | metadata.product_event_type |
Wird in Verbindung mit type verwendet, um metadata.product_event_type zu bilden. |
target_file | target.file.full_path |
Direkt aus dem Feld target_file zugeordnet. |
target_host | target.hostname , target.asset.hostname |
Direkt aus dem Feld target_host zugeordnet. |
target_ip | target.ip , target.asset.ip |
Direkt aus dem Feld target_ip zugeordnet. |
target_port | target.port |
Direkt aus dem Feld target_port zugeordnet und in eine Ganzzahl konvertiert. |
target_url | target.url |
Direkt aus dem Feld target_url zugeordnet. |
Zeit | metadata.event_timestamp.seconds |
Wird aus dem Feld time im Format „JJJJ-MM-TT HH:mm:ss“ geparst. |
Typ | metadata.product_event_type |
Wird in Verbindung mit subtype verwendet, um metadata.product_event_type zu bilden. |
u_event_source_ip | principal.ip , principal.asset.ip oder target.ip |
Wenn target_ip oder target_host vorhanden sind, wird u_event_source_ip principal.ip und principal.asset.ip zugeordnet. Andernfalls, wenn target_ip , target_host und target_url alle leer sind, wird u_event_source_ip target.ip zugeordnet. |
u_observer_ip | observer.ip |
Direkt aus dem Feld u_observer_ip zugeordnet. |
u_prin_ip | principal.ip , principal.asset.ip |
Direkt aus dem Feld u_prin_ip zugeordnet. |
Nutzer | target.user.userid |
Direkt aus dem Feld user zugeordnet. |
user_agent | network.http.user_agent , network.http.parsed_user_agent |
Der User-Agent-String wird network.http.user_agent zugeordnet und der geparste User-Agent network.http.parsed_user_agent . |
user_group_identifier | target.user.group_identifiers oder principal.user.group_identifiers |
Wird in den meisten Fällen target.user.group_identifiers zugeordnet. Wird principal.user.group_identifiers im Ereignis „IP-Änderung (USER_UNCATEGORIZED)“ und im Ereignis „Realm-Einschränkungen“ zugeordnet. |
user_ip | principal.ip , principal.asset.ip |
Direkt aus dem Feld user_ip zugeordnet. Wenn das Feld leer ist und u_event_source_ip nicht leer ist, wird der Wert von u_event_source_ip übernommen. |
Nutzername | principal.user.userid oder target.user.userid |
Wird in den meisten Fällen principal.user.userid zugeordnet. In bestimmten Szenarien wird target.user.userid zugeordnet, z.B. wenn detect_user_logout_failed und detect_policy_change_failed falsch sind. |
username_removed | target.user.userid |
Direkt aus dem Feld username_removed zugeordnet. |
vd | principal.administrative_domain |
Direkt aus dem Feld vd zugeordnet. |
metadata.vendor_name
, metadata.product_name
, metadata.event_type
, metadata.log_type
, network.ip_protocol
, security_result.action
, security_result.severity
und extensions.auth.type
werden von der Parserlogik basierend auf den in der Spalte „Logik“ beschriebenen Bedingungen abgeleitet oder festgelegt.
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten