Pulse Secure-Protokolle erfassen
In diesem Dokument wird beschrieben, wie Sie Pulse Secure-Protokolle mithilfe eines Google Security Operations-Weiterleiters erfassen können.
Weitere Informationen finden Sie unter Datenaufnahme in Google Security Operations.
Mit einem Datenaufnahmelabel wird der Parser angegeben, der Rohprotokolldaten in das strukturierte UDM-Format normalisiert. Die Informationen in diesem Dokument beziehen sich auf den Parser mit dem Datenaufnahmelabel PULSE_SECURE_VPN
.
Pulse Secure VPN konfigurieren
So konfigurieren Sie das Pulse Secure-VPN:
- Pulse Secure VPN Version 8.3R3 und älter konfigurieren
- Pulse Secure VPN Version 8.3R4 und höher konfigurieren
Pulse Secure VPN Version 8.3R3 und älter konfigurieren
- Melden Sie sich in der Pulse Connect Secure-Konsole an.
- Wählen Sie in der Pulse Connect Secure-Konsole System > Protokollierung/Monitoring > Einstellungen aus. Sie können Einstellungen auf dem Tab Ereignisse, Nutzerzugriff oder Administratorzugriff auswählen.
- Klicken Sie im Bereich Ereignisse zum Protokollieren auswählen auf alle Kästchen, die den 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-Weiterleitungsservers an.
- Wählen Sie in der Liste Facility 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 Ereignisse, Administratorzugriff oder Nutzerzugriffsprotokolle hinzufügen möchten, wiederholen Sie die Schritte 2 bis 4.
- Klicken Sie auf Änderungen speichern.
- So legen Sie das Standardprotokollformat als Standard fest:
- Öffnen Sie die Pulse Connect Secure-Konsole.
- Legen Sie auf den Tabs Ereignisse, Nutzerzugriff und Administratorzugriff für Filter die Option Standard fest.
- 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 Ereignisse, Nutzerzugriff oder Administratorzugriff und legen Sie dann unter Filter die Option 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-Protokollierung für Pulse Secure VPN aktivieren
- Syslog-Logging auf Ivanti Connect Secure aktivieren
Syslog-Protokollierung für Pulse Secure VPN aktivieren
- Wählen Sie in der Pulse Connect Secure-Konsole System > Protokollierung/Monitoring > Einstellungen aus. Sie können Einstellungen auf dem Tab Ereignisse, Nutzerzugriff oder Administratorzugriff auswählen.
- Klicken Sie im Bereich Ereignisse zum Protokollieren auswählen auf alle Kästchen, mit Ausnahme der Kästchen HTML5-Zugriff, Zulassungskontrollnachrichten und Nicht authentifizierte Anfragen.
- 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-Weiterleitungsservers ein.
- Wählen Sie in der Liste Facility 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-Protokollierung in Ivanti Connect Secure aktivieren
- Klicken Sie in der Pulse Connect Secure-Konsole auf den Tab Ereignisse, Nutzerzugriff oder Administratorzugriff und wählen Sie dann Filter 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 > Protokoll/Monitoring und wählen Sie den Tab Einstellungen aus.
Geben Sie im Feld Maximale Protokollgröße die maximale Protokollgröße an und wählen Sie die zu protokollierenden Ereignisse aus.
Geben Sie die Serverkonfiguration so an:
Geben Sie im Feld Servername/IP den vollständig qualifizierten Domainnamen oder die IP-Adresse des Google Security Operations-Weiterleitungsservers für den syslog-Server an.
Wenn Sie in der Liste der Typen „Transport Layer Security“ (TLS) auswählen, muss der Servername mit dem CN in der subjectDN im vom Server abgerufenen Zertifikat übereinstimmen.
Wählen Sie in der Liste Facility eine syslog-Server-Facility-Ebene aus.
Wählen Sie in der Liste Typ den Verbindungstyp zum syslog-Server aus: UDP, TCP oder TLS. TLS verwendet kryptografische Protokolle, um eine sichere Kommunikation zu ermöglichen.
Wenn Sie TLS auswählen, wählen Sie das installierte Clientzertifikat aus, das für die Authentifizierung des syslog-Servers verwendet werden soll. Clientzertifikate werden im Fenster Konfiguration > Zertifikate > Clientauthentifizierungszertifikate definiert. Clientzertifikate müssen auf dem Gerät installiert sein, 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-Weiterleiter für die Aufnahme von Pulse Secure-Protokollen konfigurieren
- Wählen Sie SIEM-Einstellungen > Weiterleitungen aus.
- Klicken Sie auf Neuen Weiterleiter hinzufügen.
- Geben Sie im Feld Name des Absenders einen eindeutigen Namen für den Absender ein.
- Klicken Sie auf Senden und dann auf Bestätigen. Der Weiterleiter wird hinzugefügt und das Fenster Aufnehmerkonfiguration 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 Typ des Collectors aus.
- Konfigurieren Sie die folgenden obligatorischen Eingabeparameter:
- Protokoll: Geben Sie das Verbindungsprotokoll an, das der Collector zum Abhören von syslog-Daten verwendet.
- Address (Adresse): Geben Sie die Ziel-IP-Adresse oder den Ziel-Hostnamen an, an dem sich der Collector befindet und auf syslog-Daten wartet.
- Port: Geben Sie den Zielport an, an dem sich der Collector befindet und auf Syslog-Daten wartet.
- Klicken Sie auf Senden.
Weitere Informationen zu den Google Security Operations-Weiterleitungen finden Sie unter Weiterleitungskonfigurationen ü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 für die Feldzuordnung
Dieser Parser extrahiert Felder aus Pulse Secure-VPN-Logs und unterstützt sowohl Windows-Ereignisprotokolle als auch Syslog-Formate. Es normalisiert verschiedene Protokollstrukturen in einem gemeinsamen Format, kategorisiert Ereignisse wie Anmeldungen, Abmeldungen, Verbindungen und Richtlinienänderungen und ergänzt sie mit Kontextdaten wie User-Agents, IP-Adressen und Zeitstempeln.
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 |
Wird direkt aus dem Feld bytes_read zugeordnet und in eine positive Ganzzahl konvertiert. |
bytes_written | network.sent_bytes |
Wird direkt aus dem Feld bytes_written zugeordnet und in eine Ganzzahl ohne Vorzeichen umgewandelt. |
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 (TT.MM.JJJJ HH:mm:ss Z, RFC 3339, ISO 8601, MMM d HH:mm:ss, MMM d 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 |
Wird direkt aus dem Feld dstport zugeordnet und in eine Ganzzahl umgewandelt. |
dstcountry | target.location.country_or_region |
Wird direkt aus dem Feld dstcountry zugeordnet, sofern es nicht „Reserviert“ oder leer ist. |
Dauer | network.session_duration.seconds |
Wird 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 es 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 er den entsprechenden Hostnamenfeldern 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 der Text „host“ vorangestellt. |
has_principal | event.idm.read_only_udm.principal (Präsenz) |
Setzen Sie den Wert auf „wahr“, wenn Hauptfelder ausgefüllt sind, andernfalls auf „falsch“. Abgeleitet durch Parserlogik. |
hat_ziel | event.idm.read_only_udm.target (Präsenz) |
Legen Sie „true“ fest, wenn Zielfelder ausgefüllt sind, andernfalls „false“. Abgeleitet durch Parserlogik. |
has_target_user | event.idm.read_only_udm.target.user.userid (Präsenz) |
„wahr“, wenn target.user.userid ausgefüllt ist, andernfalls „falsch“. Abgeleitet durch Parserlogik. |
host_ip | principal.ip , principal.asset.ip |
Direkt aus dem Feld host_ip zugeordnet. |
host_mac | principal.mac |
Wird 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 |
Wird 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 |
Der Wert für security_result.severity wird aus dem Feld level abgeleitet („error“/„warning“ -> HIGH, „notice“ -> MEDIUM, „information“/„info“ -> LOW). Der Rohwert von level wird ebenfalls 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 mithilfe von Grok- und KV-Filtern zu extrahieren. Wenn die Nachricht „Ereignis-ID“ enthält, wird sie als Windows-Ereignisprotokoll verarbeitet. |
message_info | metadata.description |
Wird direkt auf metadata.description zugeordnet, wenn es nicht anderweitig in spezifischeren Grok-Mustern verwendet wird. |
msg | metadata.product_event_type , metadata.description |
Wenn das Feld msg vorhanden ist, wird der Produkttyp extrahiert und metadata.product_event_type zugeordnet. Die restliche 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 |
Wird 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 |
Wird direkt aus dem Feld priority_code zugeordnet und auch verwendet, um about.labels.value für den Schlüssel „Severity“ abzuleiten (siehe Logik). |
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 network.ip_protocol zugeordnet, nachdem es mithilfe einer Suche in einen IP‑Protokollnamen umgewandelt wurde. |
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 |
Wird direkt aus dem Feld rcvdbyte zugeordnet und in eine Ganzzahl ohne Vorzeichen umgewandelt. |
remip | target.ip |
Direkt aus dem Feld remip zugeordnet. |
ressource_name | target.resource.name |
Wird 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 |
Wird direkt aus dem Feld sentbyte zugeordnet und in eine Ganzzahl ohne Vorzeichen umgewandelt. |
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 |
Wird direkt aus dem Feld srcport zugeordnet und in eine Ganzzahl konvertiert. |
srccountry | principal.location.country_or_region |
Wird direkt aus dem Feld srccountry zugeordnet, sofern es nicht „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 |
Wird direkt aus dem Feld target_port zugeordnet und in eine Ganzzahl umgewandelt. |
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 ist, 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 |
In den meisten Fällen wird target.user.group_identifiers zugewiesen. Wird in den Ereignissen „IP-Änderung“ (USER_UNCATEGORIZED) und „Realm-Einschränkungen“ mit principal.user.group_identifiers abgeglichen. |
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 |
In den meisten Fällen wird principal.user.userid zugewiesen. Wird in bestimmten Fällen auf 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 anhand der in der Spalte „Logik“ beschriebenen Bedingungen abgeleitet oder festgelegt.
Änderungen
2024-05-27
- „observer_hostname“ wurde in „observer.hostname“ geändert.
- Wenn „dvc_hostname“ eine gültige IP-Adresse ist, wird sie mit „principal.ip“ verknüpft, andernfalls mit „principal.hostname“.
- „priority_code“, „Syslog_version“ und „info_desc“ wurden auf „about.labels“ zugeordnet.
- „prod_name“ wurde auf „metadata.product_event_type“ zugeordnet.
2024-04-16
- Es wurde ein neues GROK-Muster hinzugefügt, um neue SYSLOG-Protokolle zu analysieren.
- „connection_status“ wurde „security_result.detection_fields“ zugeordnet.
2024-02-26
- Der Block „kv“ wurde hinzugefügt, um Schlüssel/Wert-Daten zu parsen.
- „username“ wurde „target.user.userid“ zugeordnet.
- Bedingte Prüfung für „message_info“ hinzugefügt.
- „u_prin_ip“ wurde auf „principal.ip“ zugeordnet.
- „u_observer_ip“ wurde „observer.ip“ zugeordnet.
2023-11-07
- Fehlerkorrektur:
- Die Zuordnung für „observer_host“ wurde von „observer.hostname“ zu „additional.fields“ geändert.
2023-08-19
- Es wurde ein Grok-Muster zum Parsen fehlgeschlagener Protokolle hinzugefügt.
2023-05-26
- Es wurde ein Grok-Muster hinzugefügt, um die neuen syslog-Protokolle zu unterstützen.
2023-01-06
- Grok wurde so geändert, dass „product_type“ geparst und „metadata.product_event_type“ zugeordnet wird.
2022-10-25
- Neue Grok-Muster für „message_info“ hinzugefügt, um die Sitzungs-ID zu extrahieren.
- „session_id“ wurde „network.session_id“ zugeordnet.
- „target.ip“ in „principal.ip“ geändert, wenn „detect_policy_change_failed“ auf „false“ gesetzt ist.
- „target.mac“ in „principal.mac“ geändert, wenn „detect_policy_change_failed“ auf „false“ gesetzt ist.
2022-10-12
- Verbesserung: Zuordnungen für die folgenden Felder hinzugefügt:
- Der Wert der IP-Adresse wurde aus dem Feld „msg“ extrahiert und „principal.ip“ zugeordnet.
- Der Wert „hostname“ wurde aus dem Feld „msg“ extrahiert und „principal.hostname“ zugeordnet.
- „user“ wurde „target.user.userid“ zugeordnet.
- „realm“ wurde auf „principal.group.attribute.labels“ zugeordnet.
- „roles“ wurde „principal.user.group_identifiers“ zugeordnet.
- Der Wert für „metadata.event_type“ wurde von „GENERIC_EVENT“ in „USER_UNCATEGORIZED“ geändert.
2022-10-03
- Verbesserung: Die Protokolle, die „sudo“ enthalten, wurden analysiert.
- Unterstützung für neue Protokollformate vom Typ „Schlüssel/Wert-Paar“ hinzugefügt.
2022-07-01
- Verbesserung: Neues Ereignis für die Ereignis-ID 4624 generiert
- Der Wert von „metadata.event_type“ wurde von „GENERIC_EVENT“ in „STATUS_UPDATE“ oder „NETWORK_CONNECTION“ geändert, wenn „principal.ip“, „target.ip“ oder „principal.hostname“ nicht null sind.
2022-04-13
- Verbesserung: Zuordnungen für neue Felder im Ereignistyp „GENERIC_EVENT“ hinzugefügt:
- user_ip zu event.idm.read_only_udm.principal.ip.
- user_group_identifier in event.idm.read_only_udm.target.user.group_identifiers
- Der Zeitstempel in allen „event_type“-Elementen wurde so geändert, dass er die Zeitzone enthält.
- Die Felder „user_ip“ und „target_ip“ wurden für die Ereignistypen „GENERIC“ und „NETWORK_CONNECTION“ geändert.
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten