NetScaler-Protokolle erfassen

Unterstützt in:

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:

Hostnamenkonfiguration prüfen

  1. Melden Sie sich mit Administratoranmeldedaten in der NetScaler-Weboberfläche an.
  2. Wählen Sie Konfiguration > Einstellungen aus.
  3. Klicken Sie auf Hostname, DNS-IP-Adresse und Zeitzone.
  4. 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.
  5. Prüfen Sie im Feld DNS-IP-Adresse, ob die lokale DNS-IP-Adresse angegeben ist.
  6. Geben Sie im Feld Zeitzone Ihre Zeitzone ein.

Audit-Server erstellen

  1. Wählen Sie in der NetScaler-Weboberfläche Konfiguration > System > Auditing > Syslog > Server aus.
  2. Geben Sie die syslog-Details in den folgenden Feldern an:
    • Name
    • Servertyp
    • IP-Adresse
    • Port
  3. Wählen Sie für Logebenen die Option Benutzerdefiniert aus.
  4. Setzen Sie in der Konfiguration ein Häkchen in alle Kästchen mit Ausnahme der Ebene DEBUG.
  5. Wählen Sie in der Liste Log-Einrichtung die Option LOCAL0 aus.
  6. Wählen Sie in der Liste Datumsformat die Option TTMMJJJJ aus.
  7. Wählen Sie als Zeitzone GMT aus.
  8. 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
  9. Klicken Sie auf OK, um den Audit-Server zu erstellen.

Die erstellte Audit-Richtlinie an den Server binden

  1. Wählen Sie in der NetScaler-Weboberfläche Konfiguration > System > Auditing > Syslog aus.
  2. Klicken Sie auf den Tab Richtlinien.
  3. Geben Sie im Feld Name einen Namen für die Richtlinie ein.
  4. Wählen Sie in der Liste Server die Richtlinie aus dem vorherigen Abschnitt aus.
  5. Klicken Sie auf Erstellen.
  6. Klicken Sie mit der rechten Maustaste auf die erstellte Prüfrichtlinie und wählen Sie Aktion > Globale Bindungen aus.
  7. Klicken Sie auf Bindung hinzufügen.
  8. Führen Sie im Fenster Richtlinienbindung die folgenden Schritte aus:
    1. Geben Sie im Feld Richtlinie auswählen die erstellte Prüfrichtlinie ein.
    2. Geben Sie im Bereich Bindungsdetails im Feld Priority (Priorität) den Wert 120 ein, da dies die Standardpriorität ist.
    3. 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 prüfen

  1. Melden Sie sich mit Administratoranmeldedaten in der NetScaler-Weboberfläche an.
  2. Wählen Sie in der NetScaler-Weboberfläche System > Systemeinstellungen aus.
  3. 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.
  4. Wählen Sie im Feld Zeitzone die Option UTC oder GMT aus.

Syslog-Server konfigurieren

  1. Wählen Sie in der NetScaler-Weboberfläche System > Benachrichtigungen > Syslog-Server aus.
  2. Klicken Sie im Bereich Details auf Hinzufügen.
  3. Geben Sie im Fenster Syslog-Server erstellen Werte für die folgenden syslog-Serverparameter an:
    1. Geben Sie im Feld Name einen Namen ein.
    2. Geben Sie im Feld IP-Adresse die IP-Adresse des Google Security Operations-Weiterleitungsservers ein.
    3. Geben Sie im Feld Port die Portnummer ein.
    4. Wählen Sie für Logebenen die Option Benutzerdefiniert aus.
    5. Wählen Sie alle Logebenen mit Ausnahme von Debug aus.
  4. Klicken Sie auf Erstellen.

Syslog-Parameter konfigurieren

  1. Wählen Sie in der NetScaler-Weboberfläche System > Benachrichtigungen > Syslog-Server aus.
  2. Klicken Sie im Bereich Details auf Syslog-Parameter.
  3. Wählen Sie auf der Seite Syslog-Parameter konfigurieren als Datumsformat TTMMJJJJ und als Zeitzone GMT aus.
  4. Klicken Sie auf OK.

Google Security Operations-Weiterleiter für die Aufnahme von NetScaler-Logs konfigurieren

  1. Wählen Sie SIEM-Einstellungen > Weiterleitungen aus.
  2. Klicken Sie auf Neuen Weiterleiter hinzufügen.
  3. Geben Sie im Feld Name des Absenders einen eindeutigen Namen für den Absender ein.
  4. Klicken Sie auf Senden und dann auf Bestätigen. Der Weiterleiter wird hinzugefügt und das Fenster Aufnehmerkonfiguration hinzufügen wird angezeigt.
  5. Geben Sie im Feld Name des Collectors einen eindeutigen Namen für den Collector ein.
  6. Wählen Sie Citrix NetScaler als Logtyp aus.
  7. Wählen Sie im Feld Typ des Collectors die Option Syslog aus.
  8. 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.
  9. 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:“ festgelegt.
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