NetScaler-Protokolle erfassen
In diesem Dokument wird beschrieben, wie Sie die NetScaler-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 Roh-Logdaten in das strukturierte UDM-Format normalisiert. Die Informationen in diesem Dokument beziehen sich auf den Parser mit dem Datenaufnahmelabel CITRIX_NETSCALER
.
NetScaler VPX konfigurieren
So konfigurieren Sie NetScaler VPX, damit Protokolle an den Google Security Operations-Weiterleiter gesendet werden:
- Prüfen Sie die Hostnamenkonfiguration.
- Audit-Server erstellen
- Binden Sie die erstellte Prüfrichtlinie an den Server.
Hostnamenkonfiguration prüfen
- Melden Sie sich mit Administratoranmeldedaten in der NetScaler-Weboberfläche an.
- Wählen Sie Konfiguration > Einstellungen aus.
- Klicken Sie auf Hostname, DNS-IP-Adresse und Zeitzone.
- Wenn das Feld Hostname leer ist, geben Sie den Hostnamen ein. Fügen Sie keine Leerzeichen ein. Wenn dieses Feld bereits konfiguriert ist, müssen Sie nichts weiter tun.
- Prüfen Sie im Feld DNS-IP-Adresse, ob die lokale DNS-IP-Adresse angegeben ist.
- Geben Sie im Feld Zeitzone Ihre Zeitzone ein.
Audit-Server erstellen
- Wählen Sie in der NetScaler-Weboberfläche Konfiguration > System > Auditing > Syslog > Server aus.
- Geben Sie die syslog-Details in den folgenden Feldern an:
- Name
- Servertyp
- IP-Adresse
- Port
- Wählen Sie für Logebenen die Option Benutzerdefiniert aus.
- Setzen Sie in der Konfiguration ein Häkchen in alle Kästchen mit Ausnahme der Ebene DEBUG.
- Wählen Sie in der Liste Log-Einrichtung die Option LOCAL0 aus.
- Wählen Sie in der Liste Datumsformat die Option TTMMJJJJ aus.
- Wählen Sie als Zeitzone GMT aus.
- Entfernen Sie die Häkchen aus den folgenden Kästchen:
- TCP-Logging
- ACL-Logging
- Von Nutzern konfigurierbare Protokollmeldungen
- AppFlow-Protokollierung
- NAT-Logging im großen Maßstab
- ALG-Nachrichtenprotokollierung
- Abonnentenprotokollierung
- DNS
- SSL-Abfang
- URL-Filterung
- Logging der Inhaltsprüfung
- Klicken Sie auf OK, um den Audit-Server zu erstellen.
Die erstellte Audit-Richtlinie an den Server binden
- Wählen Sie in der NetScaler-Weboberfläche Konfiguration > System > Auditing > Syslog aus.
- Klicken Sie auf den Tab Richtlinien.
- Geben Sie im Feld Name einen Namen für die Richtlinie ein.
- Wählen Sie in der Liste Server die Richtlinie aus dem vorherigen Abschnitt aus.
- Klicken Sie auf Erstellen.
- Klicken Sie mit der rechten Maustaste auf die erstellte Prüfrichtlinie und wählen Sie Aktion > Globale Bindungen aus.
- Klicken Sie auf Bindung hinzufügen.
- Führen Sie im Fenster Richtlinienbindung die folgenden Schritte aus:
- Geben Sie im Feld Richtlinie auswählen die erstellte Prüfrichtlinie ein.
- Geben Sie im Bereich Bindungsdetails im Feld Priority (Priorität) den Wert 120 ein, da dies die Standardpriorität ist.
- Klicken Sie auf Bind.
NetScaler SDX konfigurieren
So konfigurieren Sie NetScaler SDX, um Protokolle an den Google Security Operations-Weiterleiter zu senden:
- Hostnamenkonfiguration für NetScaler SDX überprüfen
- Konfigurieren Sie den syslog-Server.
- Konfigurieren Sie die syslog-Parameter.
Hostnamenkonfiguration für NetScaler SDX prüfen
- Melden Sie sich mit Administratoranmeldedaten in der NetScaler-Weboberfläche an.
- Wählen Sie in der NetScaler-Weboberfläche System > Systemeinstellungen aus.
- Wenn das Feld Hostname leer ist, geben Sie den Hostnamen ein. Fügen Sie keine Leerzeichen ein. Wenn dieses Feld bereits konfiguriert ist, müssen Sie nichts weiter tun.
- Wählen Sie im Feld Zeitzone die Option UTC oder GMT aus.
Syslog-Server konfigurieren
- Wählen Sie in der NetScaler-Weboberfläche System > Benachrichtigungen > Syslog-Server aus.
- Klicken Sie im Bereich Details auf Hinzufügen.
- Geben Sie im Fenster Syslog-Server erstellen Werte für die folgenden syslog-Serverparameter an:
- Geben Sie im Feld Name einen Namen ein.
- Geben Sie im Feld IP-Adresse die IP-Adresse des Google Security Operations-Weiterleitungsservers ein.
- Geben Sie im Feld Port die Portnummer ein.
- Wählen Sie für Logebenen die Option Benutzerdefiniert aus.
- Wählen Sie alle Logebenen mit Ausnahme von Debug aus.
- Klicken Sie auf Erstellen.
Syslog-Parameter konfigurieren
- Wählen Sie in der NetScaler-Weboberfläche System > Benachrichtigungen > Syslog-Server aus.
- Klicken Sie im Bereich Details auf Syslog-Parameter.
- Wählen Sie auf der Seite Syslog-Parameter konfigurieren als Datumsformat TTMMJJJJ und als Zeitzone GMT aus.
- Klicken Sie auf OK.
Google Security Operations-Weiterleiter für die Aufnahme von NetScaler-Logs 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 Citrix NetScaler als Logtyp aus.
- Wählen Sie im Feld Typ des Collectors die Option Syslog 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 Hostnamen an, unter der bzw. dem sich der Collector befindet und auf syslog-Daten wartet.
- Port: Geben Sie den Zielport an, an dem sich der Collector befindet und der syslog-Daten zuhört.
- 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 verarbeitet Citrix Netscaler-SYSLOG-Protokolle im Schlüssel/Wert-Format, extrahiert JSON-formatierte Daten aus dem Feld message
und ergänzt das UDM nach der Bereinigung mit Informationen aus anderen Feldern wie host.hostname
und user_agent.original
. Bei einer leeren primären Nachricht wird auf die ursprüngliche Protokollmeldung zurückgegriffen.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
AAA-Transaktions-ID | security_result.detection_fields[].value |
Wert, der aus dem Feld „AAA trans id“ extrahiert wurde. |
Zugriff | security_result.action_details |
Wenn „Zugriff“ auf „Zugelassen“ festgelegt ist, legen Sie für security_result.action die Option „ZULASSEN“ fest. Wenn „Zugriff“ auf „Abgelehnt“ gesetzt ist, legen Sie für security_result.action die Option „BLOCKIEREN“ fest. |
applicationName | principal.application |
Wert, der aus dem Feld „applicationName“ extrahiert wurde. |
Browser_type | network.http.user_agent |
Wert, der aus dem Feld „Browser_type“ extrahiert wurde. |
ClientIP | principal.ip , principal.asset.ip |
Wert, der aus dem Feld „ClientIP“ extrahiert wurde. |
ClientPort | principal.port |
Wert, der aus dem Feld „ClientPort“ extrahiert wurde. |
client_cookie | additional.fields[].value.string_value |
Wert, der aus dem Feld „client_cookie“ extrahiert wurde. |
Befehl | target.process.command_line |
Wert, der aus dem Feld „Befehl“ extrahiert wurde. |
connectionId | security_result.detection_fields[].value |
Wert, der aus dem Feld „connectionId“ extrahiert wurde. |
Ziel | target.ip , target.asset.ip |
Wert, der aus dem Feld „Ziel“ extrahiert wurde. |
Ziel | target.ip , target.asset.ip |
Wert, der aus dem Feld „Ziel“ extrahiert wurde. |
device_serial_number | target.asset_id |
target.asset_id ist auf „device_serial_number: |
Dauer | network.session_duration.seconds |
Die Dauer wird in Sekunden konvertiert und zugeordnet. |
Ende | security_result.detection_fields[].value |
Wert, der aus dem Feld „Endzeit“ extrahiert wurde. |
Failure_reason | metadata.description |
Wert, der aus dem Feld „Failure_reason“ extrahiert wurde. |
flags | additional.fields[].value.string_value |
Wert, der aus dem Feld „flags“ extrahiert wurde. |
Gruppe(n) | target.group.group_display_name |
Wert, der aus dem Feld „Gruppe(n)“ extrahiert wurde. |
Grund | metadata.description |
Wert, der aus dem Feld „Grund“ extrahiert wurde. |
Remote_ip | target.ip , target.asset.ip |
Wert, der aus dem Feld „Remote_ip“ extrahiert wurde. |
ServerIP | target.ip , target.asset.ip |
Wert, der aus dem Feld „ServerIP“ extrahiert wurde. |
ServerPort | target.port |
Wert, der aus dem Feld „ServerPort“ extrahiert wurde. |
session_guid | metadata.product_log_id |
Wert, der aus dem Feld „session_guid“ extrahiert wurde. |
SessionId (Sitzungs-ID) | network.session_id |
Wert, der aus dem Feld „SessionId“ extrahiert wurde. |
Quelle | principal.ip , principal.asset.ip |
Wert, der aus dem Feld „Quelle“ extrahiert wurde. |
Beginn | security_result.detection_fields[].value |
Wert, der aus dem Feld „Beginn“ extrahiert wurde. |
startTime | security_result.detection_fields[].value |
Wert, der aus dem Feld „startTime“ extrahiert wurde. |
Status | security_result.description |
Wert, der aus dem Feld „Status“ extrahiert wurde. |
Total_bytes_recv | network.received_bytes |
Wert, der aus dem Feld „Total_bytes_recv“ extrahiert wurde. |
Total_bytes_send | network.sent_bytes |
Wert, der aus dem Feld „Total_bytes_send“ extrahiert wurde. |
Total_bytes_wire_recv | security_result.detection_fields[].value |
Wert, der aus dem Feld „Total_bytes_wire_recv“ extrahiert wurde. |
Total_bytes_wire_send | security_result.detection_fields[].value |
Wert, der aus dem Feld „Total_bytes_wire_send“ extrahiert wurde. |
Nutzer | principal.user.userid |
Wert, der aus dem Feld „Nutzer“ extrahiert wurde. |
VserverServiceIP | target.ip , target.asset.ip |
Wert, der aus dem Feld „VserverServiceIP“ extrahiert wurde. |
VserverServicePort | target.port |
Wert, der aus dem Feld „VserverServicePort“ extrahiert wurde. Hartcodiert auf „CITRIX“. Hartcodiert auf „NETSCALER“. Hartcodiert auf „CITRIX_NETSCALER“. Wird vom Parser anhand des „product_event_type“ ermittelt. Beispiele: NETWORK_CONNECTION, USER_LOGIN, USER_LOGOUT, USER_STATS, STATUS_UPDATE, USER_UNCATEGORIZED, GENERIC_EVENT. Wert, der aus dem Log-Präfix extrahiert wurde (z.B. CONN_DELINK, CONN_TERMINATE, OTHERCONN_DELINK usw.). Eine kurze Beschreibung des Ereignisses, die manchmal aus anderen Feldern wie „Grund“ oder „Fehlergrund“ abgeleitet wird. Wird anhand der Datums- und Uhrzeitfelder im Logeintrag berechnet. Der Parser unterstützt verschiedene Formate und Zeitzonen. Wird aus dem Feld „username:domainname“ extrahiert. Dabei wird der Teil nach dem Doppelpunkt verwendet. Für Ereignisse mit „TCP“ in metadata.product_event_type hartcodiert auf TCP. Legen Sie „ALLOW“ für erfolgreiche Anmeldungen und Befehle und „BLOCK“ für fehlgeschlagene Anmeldungen und blockierten Ressourcenzugriff fest. Abgeleitet aus Feldern wie „Status“, „Fehlergrund“ und „Zugriff“. Legen Sie USERNAME_PASSWORD fest, wenn Nutzername und Passwort für die Authentifizierung verwendet werden (aus bestimmten Protokollmeldungen abgeleitet). Legen Sie „VPN“ für VPN-bezogene Anmelde-/Abmeldeereignisse fest. Wird mithilfe einer User-Agent-Parsing-Bibliothek aus dem Feld network.http.user_agent geparst. |
Änderungen
2024-05-21
- Ein Grok-Muster wurde geändert, um gelöschte Protokolle zu parsen.
2024-05-20
- Neues Grok-Muster zum Parsen nicht geparster Protokolle hinzugefügt.
2024-05-08
- Die Zuordnung der Informationen zur Dauer von „security_results“ zu „network.session_duration“ wurde aktualisiert.
2024-04-29
- Bedingte Prüfung für „Browser_type“ hinzugefügt und mit „network.http.parsed_user_agent“ verknüpft.
- Bedingte Prüfung für „userId“ und „user_email“ hinzugefügt.
- „Browser“ wurde mit „network.http.parsed_user_agent“ verknüpft.
2024-02-23
- Das Grok-Muster wurde aktualisiert, damit der Hostname im UDM-Feld wie erwartet geparst wird.
2024-01-25
- Es wurden Grok-Muster hinzugefügt, um Protokolle zu parsen, bei denen „message_type“ die Werte „Message“, „NONHTTP_RESOURCEACCESS_DENIED“, „UDPFLOWSTAT“ und „EXTRACTED_GROUPS“ hat.
- Unterstützung für das Parsen von Protokollen hinzugefügt, bei denen „feature“ „GUI“ und „EVENT“ ist.
- „principal_port“ wurde in „principal.port“ geändert.
- „ClientIP“ wurde „principal.asset.ip“ zugeordnet.
- „principal_ip“ wurde auf „principal.ip“ und „principal.asset.ip“ umgestellt.
- „target_ip“ wurde „target.ip“ und „target.asset.ip“ zugeordnet.
- „target_port“ wurde in „target.port“ geändert.
- „description“ wurde „metadata.description“ zugeordnet.
- „type“, „aaa_trans_id“, „pcb_trans_id“, „pcb_state“, „pcb_label“, „trans_id“, „authPolicyLen“, „login_attempts“, „PromptLen“, „partitionLen“, „cmdPolicyLen“ und „ssh_pubkey_len“ wurden in „security_result.detection_fields“ zugeordnet.
- „principal_hostname“ wurde „principal.hostname“ und „principal.asset.hostname“ zugeordnet.
- „hostname“ wurde „intermediary.asset.hostname“ zugeordnet.
- „hostname“ wurde „observer.asset.hostname“ zugeordnet.
- „cip“, „ServerIP“, „VIP“, „VserverServiceIP“ und „Remote_ip“ wurden „target.asset.ip“ zugeordnet.
- Wenn „message_type“ „Message“ ist, wird „User“ mit „principal.user.userid“ abgeglichen.
- Wenn „principal_ip“ und „target_ip“ vorhanden sind, legen Sie „metadata.event_type“ auf „NETWORK_CONNECTION“ fest.
- Wenn „client_ip“ und „target_ip“ vorhanden sind, setzen Sie „metadata.event_type“ auf „NETWORK_CONNECTION“.
- Wenn „message_type“ „NONHTTP_RESOURCEACCESS_DENIED“ und „UDPFLOWSTAT“ ist, setzen Sie „metadata.event_type“ auf „USER_STATS“.
- Wenn „message_type“ „Message“ ist und „User“ vorhanden ist, legen Sie „metadata.event_type“ auf „USER_UNCATEGORIZED“ fest.
- Wenn „principal_ip“ vorhanden ist, setze „metadata.event_type“ auf „STATUS_UPDATE“.
2023-11-26
- Enhancement-
- Es wurden Grok-Muster hinzugefügt, um Protokolle zu parsen, bei denen „message_type“ den Wert „Message“ hat.
2023-07-21
- Verbesserung: Der Parser wurde aktualisiert, damit Protokolle mit der Funktion „Befehlszeile“ korrekt geparst werden.
2022-09-26
- Verbesserung: Benutzerdefinierte Parser wurden zum Standardparser migriert.
2022-06-09
- Verbesserung: Angeforderte Zuordnungen hinzugefügt:
- „startTime“, „endTime“ und „Duration“ wurden „security_result.detection_fields“ zugeordnet.
- Der Parser wurde aktualisiert, um Protokolle mit der Nachrichtenart „CHANNEL_UPDATE“, „NETWORK_UPDATE“ und „AAATM Message“ zu verarbeiten.
2022-05-09
- Fehlerkorrektur: Der Parser wurde aktualisiert, um Logs mit der Nachrichtenart „TCPCONNSTAT“ korrekt zu parsen.
- Der Grok wurde aktualisiert, um den vollständigen Domainnamen in „principal.administrative_domain“ aufzunehmen.
- Die Protokolle, die beim Testen der Validation API fehlgeschlagen sind, wurden geparst.
2022-04-27
- Verbesserung: Angeforderte Zuordnungen hinzugefügt
- Zugeordnetes Feld „intermediary.hostname“
- Protokolle fehlgeschlagener geparster APIs