NetScaler Console-Dienst

Integration mit Microsoft Sentinel

Sie können NetScaler Console in Microsoft Sentinel integrieren, um die folgenden Analysen von NetScaler Console nach Microsoft Sentinel zu exportieren:

  • Verstöße gegen die WAF
  • Bot-Verstöße
  • Einblicke in SSL-Zertifikate
  • Gateway insight

Microsoft Sentinel bietet eine zentralisierte Datenerfassung, bei der Daten aus verschiedenen Quellen wie Anwendungen, Servern usw. erfasst werden. Als Administrator können Sie Daten einsehen und Entscheidungen treffen, nachdem die Erkenntnisse oder Verstöße in Microsoft Sentinel gemeldet wurden.

Stellen Sie für eine erfolgreiche Integration sicher, dass Sie über ein aktives Azure-Abonnement verfügen, und folgen Sie dann den Anweisungen in den einzelnen Abschnitten:

Den Log Analytics-Arbeitsbereich konfigurieren

Ein Log Analytics Workspace ist erforderlich, um die gesammelten Daten zu speichern und zu analysieren.

  1. Melden Sie sich bei Azure an.

  2. Klicken Sie auf Eine Ressource erstellen.

    Resource

  3. Geben Sie in der Suchleiste Log Analytics Workspace ein und klicken Sie unter Log Analytics Workspace auf Erstellen.

    Protokollanalysen-Workspace

  4. Klicken Sie auf der Hauptseite von Log Analytics Workspace auf Erstellen.

    Erstellung von Arbeitsbereichen

  5. Gehen Sie im Workspace “Log Analytics erstellen” wie folgt vor:

    1. Wählen Sie das aktive Abonnement und die Ressourcengruppe aus.

      Hinweis:

      Sie können auch auf Neu erstellen klicken, um eine Ressourcengruppe hinzuzufügen, sofern Sie über die entsprechende Berechtigung verfügen.

    2. Geben Sie einen Namen Ihrer Wahl an.

    3. Wählen Sie Ihre Region aus der Liste aus.

    4. Klicken Sie auf Überprüfen und Erstellen.

      Erstellung des Arbeitsbereichs vor der letzten Phase

    5. Eine Meldung über bestandene Überprüfung wird angezeigt. Klicken Sie auf Erstellen, um den Workspace bereitzustellen.

      Erstellung von Arbeitsbereichen

    6. Sie können die Meldung “Bereitstellung läuft” sehen. Nachdem die Meldung “Bereitstellung abgeschlossen” angezeigt wird, klicken Sie auf Gehe zur Ressource.

      Workspace-Ressource

      Der Workspace wurde erfolgreich erstellt.

Erstellen Sie eine Microsoft Entra-Anwendung

Sie müssen eine Entra-Anwendung erstellen, die Ihrem Azure-Abonnement zugeordnet ist, um im Namen von Log Analytics Workspace zu kommunizieren. Nachdem Sie die Anwendung erstellt haben, müssen Sie auch die Berechtigung für die Microsoft Sentinel Contributor-Rolle erteilen. Die Anwendung enthält auch Details wie Kunden-ID, Mandanten-ID und Kundengeheimnis. Wir empfehlen Ihnen, sich diese Angaben zu notieren. Diese Angaben sind erforderlich, wenn Sie in NetScaler Console ein Abonnement erstellen, um den Integrationsprozess abzuschließen.

  1. Geben Sie in Ihrem Azure-Portal das Schlüsselwort in die Suchleiste ein.

  2. Klicken Sie auf Microsoft Entra ID.

    App eintragen

  3. Klicken Sie auf Hinzufügen und wählen Sie App-Registrierung aus.

    Eine App registrieren

  4. Geben Sie einen Namen für die App an, wählen Sie die Standardoption unter Unterstützte Kontotypen aus, und klicken Sie dann auf Registrieren.

    Registrierung per App

  5. Nachdem Sie die Anwendung registriert haben:

    1. Notieren Sie sich die Kunden-ID und die Mandanten-ID.

      Kunden- und Mandanten-IDs

    2. Erstellen Sie eine geheime ID für Ihre Anwendung. Klicken Sie auf Zertifikate und Geheimnisse und unter Kundengeheimnisse auf Neues Kundengeheimnis. Geben Sie eine Beschreibung und Gültigkeit ein und klicken Sie dann auf Hinzufügen, um eine geheime ID für Ihre Anwendung zu erstellen.

      Kundengeheimnis-ID

    3. Die Details werden für Ihre Anwendung angezeigt. Stellen Sie sicher, dass Sie sich die unter Wert angezeigte ID sofort nach der Erstellung des Geheimnisses notieren. Dieser Wert wird ausgeblendet, wenn Sie zu einer anderen GUI-Option navigieren.

      Wert-ID

Erteilen Sie die Erlaubnis für die Entra-Anwendung

Sie müssen der Anwendung die Microsoft Sentinel Contributor-Rolle zuweisen. Um eine Genehmigung zu erteilen:

  1. Navigieren Sie in Ihrem Azure-Portal zur Microsoft Entra-ID.

  2. Klicken Sie auf App-Registrierungen und wählen Sie dann Ihre Anwendung aus.

    App auswählen

  3. Klicken Sie auf Zugriffskontrolle (IAM) und dann auf Rollenzuweisung hinzufügen.

    App-Rollenzuweisung

  4. Geben Sie in der Suchleiste das Schlüsselwort Sentinel ein, wählen Sie Microsoft Sentinel Contributor aus und klicken Sie auf Weiter.

  5. Klicken Sie auf der Registerkarte Mitglieder auf Mitglieder auswählen und wählen Sie die Entra-App aus, die Sie erstellt haben.

  6. Klicken Sie auf Überprüfen und Zuweisen.

Datenerfassungsendpunkt konfigurieren

Sie müssen einen Datenerfassungsendpunkt erstellen, um die Endpunkt-URL abzurufen. Dies ist erforderlich, wenn Sie ein Abonnement in NetScaler Console erstellen.

  1. Wählen Sie in Ihrem Azure-Portal unter Azure-Dienste die Option Datenerfassungsendpunkte aus, oder geben Sie das Schlüsselwort in die Suchleiste ein.

    DCR auswählen

  2. Klicken Sie auf der Seite Datenerfassungsendpunkte auf Erstellen.

    DCR erstellen

  3. Unter Datenerfassungsendpunkt erstellen:

    1. Geben Sie einen Endpunktnamen Ihrer Wahl an

    2. Wählen Sie das Abonnement, die Ressourcengruppe und die Region aus.

    3. Klicken Sie auf Überprüfen und Erstellen.

    4. Nachdem die Meldung “Validierung bestanden” angezeigt wird, klicken Sie auf Erstellen.

Sie müssen sich die Endpunkt-URL notieren. Wählen Sie auf der Hauptseite des Datenerfassungsendpunkts den erstellten Endpunkt aus, klicken Sie auf JSON-Ansicht und notieren Sie sich die Endpunkt-ID.

DCR-ID

Erstellen Sie Tabellen zum Exportieren von Daten

Sie müssen eine Tabelle erstellen und die JSON-Informationen für jeden Einblick angeben, den Sie von NetScaler Console nach Microsoft Sentinel exportieren möchten. Sie können sich auf die folgenden Details zu den Tabellenanforderungen für jeden Einblick beziehen:

Insights Gesamtzahl der benötigten Tabellen
Einblicke in SSL 3
WAF 1
Bot 1
Gateway Insights 5

Für jeden Workspace können Sie maximal 10 Tabellen erstellen. Bei mehr als 10 Tabellen müssen Sie einen weiteren Workspace erstellen.

  1. Navigieren Sie im Azure-Portal zu Ihrem Workspace und klicken Sie unter Einstellungen auf Tabellen.

  2. Klicken Sie auf Erstellen und wählen Sie Neues benutzerdefiniertes Protokoll (DCR-basiert)

    Table

  3. In Benutzerdefiniertes Protokoll erstellen:

    1. Geben Sie einen Tabellennamen an. Der Tabellenname muss das Format console_insightname haben. Zum Beispiel: console_ns_sslvserver, console_ns_ssl_certkey. In Schritt 4 finden Sie die Tabellennamen, die für jeden Insight gelten.

    2. Geben Sie eine Beschreibung ein, um weitere Informationen zum Tabellennamen hinzuzufügen. Dies ist optional.

    3. Erstellen Sie eine neue Datenerfassungsregel und fügen Sie sie hinzu.

    4. Wählen Sie den Datenerfassungsendpunkt aus der Liste aus.

      Tabellenparameter

    5. Klicken Sie auf Weiter.

  4. Auf der Registerkarte Schema und Transformation müssen Sie die JSON-Beispielprotokolle für die Erkenntnisse hochladen, die Sie exportieren möchten. Sie können das folgende JSON-Beispiel für jeden Insight verwenden und eine JSON-Datei zum Hochladen erstellen:

    Insights JSON Zu verwendender Tabellenname
    SSL (1) {"id": "3eb05733-c326-493c-9aa0-f7db3a6b4277", "ns_ip_address": "10.106.186.141", "name": "zeta_192_168_110_250", "vsvr_ip_address": "", "vsvr_port": -1, "vsvr_type": "", "state": "", "partition_name": "", "display_name": "10.106.186.141", "poll_time": 1716539986, "managed": "f", "ssl2": "f", "ssl3": "t", "tls10": "t", "tls11": "t", "tls12": "t", "dh": "f", "ersa": "t", "sslprofile": "", "tls13": "f", "dhkeyexpsizelimit": "DISABLED", "pushenctriggertimeout": 1, "sessionticket": "", "includesubdomains": "f", "sessionticketkeyrefresh": "", "ssllogprofile": "", "serverauth": "", "ssltriggertimeout": 100, "ersacount": 0, "strictcachecks": "NO", "dhfile": "", "sessreuse": "ENABLED", "redirectportrewrite": "DISABLED", "skipclientcertpolicycheck": "", "tls13sessionticketsperauthcontext": 1, "cipherredirect": "DISABLED", "dropreqwithnohostheader": "NO", "sessionticketlifetime": -1, "maxage": 0, "pushenctrigger": "Always", "strictsigdigestcheck": "f", "sslredirect": "DISABLED", "sessionkeylifetime": -1, "alpnprotocol": "", "clientauthuseboundcachain": "", "sesstimeout": 120, "clientcert": "", "snihttphostmatch": "CERT", "preload": "NO", "prevsessionkeylifetime": -1, "sessionticketkeydata": "", "encrypttriggerpktcount": 45, "cleartextport": "", "ssliocspcheck": "", "hsts": "f", "sslinterception": "", "commonname": "", "sslireneg": "", "ocspstapling": "DISABLED", "quantumsize": 8192, "insertionencoding": "Unicode", "sslimaxsessperserver": -1, "cipherurl": "", "pushflag": 0, "zerorttearlydata": "DISABLED", "allowextendedmastersecret": "", "dhekeyexchangewithpsk": "NO", "clientauth": "DISABLED", "denysslreneg": "NONSECURE", "sendclosenotify": "YES", "dhcount": 0, "snienable": "DISABLED", "table_name": "ns_sslvserver"} console_ns_sslvserver
    SSL (2) {"id": "a6673ab2-0b59-47b9-b530-bc30fb2b937c", "ssl_certificate": "/nsconfig/ssl/ca-cert.pem", "ssl_key": "/nsconfig/ssl/ca-key.pem", "certkeypair_name": "athul-ca", "cert_format": "PEM", "days_to_expiry": 281, "ns_ip_address": "10.106.186.141", "status": "Valid", "device_name": "10.106.186.141", "file_location_path": "", "certificate_data": "", "key_data": "", "poll_time": 1717434335, "no_domain_check": "f", "version": 3, "serial_number": "7B34B6A6A1A79E0FF168242D7BCFF78F04C9EE66", "signature_algorithm": "sha256WithRSAEncryption", "issuer": "C=IN,ST=KA,L=BAN,O=CIT,OU=ADM,CN=A", "valid_from": "Mar 12 08:51:11 2024 GMT", "valid_to": "Mar 12 08:51:11 2025 GMT", "subject": "C=IN,ST=KA,L=BAN,O=CIT,OU=ADM,CN=A", "public_key_algorithm": "rsaEncryption", "public_key_size": 4096, "no_of_bound_entities": 0, "partition_name": "", "display_name": "10.106.186.141", "hostname": "athulsadc", "key_name": "", "subjaltname": "", "managed_by": "", "certificate_dn": "", "linkcertkeyname": "", "table_name": "ns_ssl_certkey"} console_ns_ssl_certkey
    SSL (3) {"id": "2baffd1a-7ed6-4035-91e8-ad3a3125bff4", "certkeypair_name": "cert1", "ns_ip_address": "10.106.186.127", "poll_time": 1715671567, "partition_name": "", "display_name": "10.106.186.127", "hostname": "", "entity_name": "secure_gateway", "entity_type": "sslvserver", "table_name": "ns_sslcertkey_binding"} console_ns_sslcertkey_binding
    WAF [{"ip_address": "10.106.185.156", "ctnsappname": "vserver_1", "severity": 2, "violation_type": 19, "violation_type_desc": "Start URL", "block_flags": 1, "transformed_flags": 0, "not_blocked_flags": 0, "country_code": "-NA-", "region_code": "-NA-", "city": "-NA-", "latitude": 200.0, "longitude": 200.0, "signature_category": "", "attack_category": 2, "attack_category_desc": "Broken Authentication and Session Management", "total_attacks": 1, "rpt_sample_time": 1704783773, "source_ip_address": 174766492, "attack_time": 1704783538, "profile_name": "appfw_cs_lb_prof", "session_id": "", "http_req_url": "https://10.106.192.54/csrf_ffc/ffc.html?field10=asfasd", "violation_name": "-NA-", "violation_value": "-NA-", "violation_location": 4, "violation_threat_index": 5, "app_threat_index": 5, "http_method": 0, "violation_action": 3, "violation_action_desc": "Blocked", "severity_type": 2, "severity_type_desc": "Medium", "iprep_score": 0, "iprep_category": 0, "counter_value": 0, "appname": "vserver_1_10.106.185.156_lb", "violation_category": 12, "violation_category_desc": "Start URL", "source_ipv6_address": "", "true_client_ip": "\\N", "backend_vserver": "", "backend_appname": "", "transactionId": "0", "table_name": "af_threat_exporter_data_l2"}] console_af_threat_exporter_data_l2
    Bot {"ip_address": "10.106.186.122", "ctnsappname": "secure_gateway", "bot_type": "2", "bot_type_desc": "Bad", "action_type": "6", "action_type_desc": "Log", "country_code": "0.0", "region_code": "0.0", "city": "0.0", "bot_severity": "0", "bot_severity_desc": "Critical", "latitude": "0", "longitude": "0", "bot_detection_mechanism": "6", "bot_detection_mechanism_desc": "BlackList", "bot_category": "0", "bot_category_desc": "Uncategorized", "source_ip_address": "174758625", "bot_signature_category": "Custom Policy Expression", "appname": "secure_gateway_10.106.186.122_lb", "backend_vserver": "", "backend_appname": "", "total_attacks": "2", "rpt_sample_time": "1718783216", "table_name": "af_bot_attack_details_l2"} console_af_bot_attack_details_l2
    Gateway Insight (1) {"adc_ip_address": "10.106.186.141", "auth_server": "", "client_ip": 174766732, "epa_method_type": 0, "error_count": 14, "error_details": "Invalid credentials passed", "error_type": 1, "gateway_name": "vpn_vserver_142_6", "req_url": "", "resource": "", "rpt_sample_time": 1713505215, "sso_method_type": 0, "sta_ip": "", "table_name": "af_vpn_error_details", "username": "John"} console_af_vpn_error_details
    Gateway Insight (2) {"adc_ip_address": "10.102.71.166", "display_name": "10.102.71.166", "gateway_name": "firsthop", "ip_address": "10.102.71.168", "rpt_sample_time": "1718812158", "state": "Up", "table_name": "ns_vpnvserver"} console_ns_vpnvserver
    Gateway Insight (3) {"adc_ip_address": "10.106.186.141", "gateway_name": "vpn_vserver_141_7", "rpt_sample_time": 1702011308, "sessions": 1, "table_name": "af_vpn_session_details", "users": 1} console_af_vpn_session_details
    Gateway Insight (4) {"active_sessions": 59, "active_users": 1, "adc_ip_address": "10.106.186.136", "gateway_name": "vpnathul2", "rpt_sample_time": 1698919848, "table_name": "af_vpn_active_session_1"} console_af_vpn_active_session_1
    Gateway Insight (5) {"adc_ip_address": "10.106.186.136", "entity_type": 3, "gateway_name": "vpnathul2", "hits": 3, "rpt_sample_time": 1698052438, "table_name": "af_vpn_error_reports"} console_af_vpn_error_reports

    Nach dem Hochladen der JSON-Datei können Sie die folgenden Details einsehen:

    JSON-Einzelheiten

    Klicken Sie auf Transformationseditor, geben Sie die folgende Abfrage ein, die für den entsprechenden Einblick gilt, und klicken Sie auf Ausführen, um die Daten ab der Abfragezeit in NetScaler Console zu akzeptieren.

    • SSL - source | extend TimeGenerated = todatetime(poll_time) | project-rename sslvserver_id = id

    • WAF und Bot - source | extend TimeGenerated = todatetime(rpt_sample_time)

    • Gateway Insight - source | extend TimeGenerated = todatetime(rpt_sample_time)

      Tabelle ausführen

  5. Klicken Sie auf Weiter und dann auf Erstellen, um den Vorgang abzuschließen.

  6. Navigieren Sie zu Datenerfassungsregeln und klicken Sie auf den DCR, den Sie erstellt haben.

  7. Klicken Sie unter Konfiguration auf Datenquellen, um die erstellte Tabelle anzuzeigen.

    Quelle der Tabelle

    Die DCR (Data Collection Rule) erfordert Zugriff auf die Rolle Monitoring Metrics Publisher.

    1. Navigieren Sie zu Ihrem DCR, auf den Sie in Ihrem Azure-Portal unter Zuletzt verwendet zugreifen können.

    2. Klicken Sie auf Ihrer DCR-Seite auf Zugriffskontrolle (IAM) und dann auf Rollenzuweisung hinzufügen.

      Rolle zuweisen

    3. Geben Sie in der Suchleiste den Keyword-Monitor ein, um Monitoring Metrics Publisher auszuwählen, und klicken Sie auf Weiter.

    4. Klicken Sie auf der Registerkarte Mitglieder auf Mitglieder auswählen und wählen Sie die Entra-App aus, die Sie erstellt haben.

    5. Klicken Sie auf Überprüfen und Zuweisen.

      Sie müssen sich die ID der Datenerfassungsregeln notieren. Navigieren Sie zur Seite mit den Datenerfassungsregeln, wählen Sie Ihren DCR aus und klicken Sie auf die JSON-Ansicht, um sich die ID zu notieren.

      DCR-ID

Abonnement in NetScaler Console erstellenm

Sie sind jetzt bereit. Der letzte Schritt besteht darin, NetScaler Console zu konfigurieren, indem Sie ein Abonnement erstellen und die erforderlichen Details hinzufügen. Um ein Abonnement in NetScaler Console zu erstellen, benötigen Sie die folgenden Details, die Sie notiert haben:

  • Endpunkt-URL
  • ID der Datenerfassungsregeln
  • Mandanten-ID
  • Client-ID
  • Geheimer Clientschlüssel
  1. Melden Sie sich bei NetScaler Console an.

  2. Navigieren Sie zu Einstellungen > Observability Integration.

  3. Klicken Sie auf der Seite Integrationen auf Hinzufügen.

  4. Geben Sie auf der Seite Abonnement erstellen die folgenden Details an:

    1. Geben Sie im Feld Abonnementname einen Namen Ihrer Wahl ein.

    2. Wählen Sie NetScaler Console als Quelle aus und klicken Sie auf Weiter.

    3. Wählen Sie Microsoft Sentinel aus und klicken Sie auf Konfigurieren. Geben Sie auf der Seite Endpunkt konfigurieren alle Details ein und klicken Sie auf Senden.

    4. Klicken Sie auf Weiter.

  5. Klicken Sie auf Insights hinzufügen und wählen Sie auf der Registerkarte Feature auswählen, abhängig von den Tabellen, die Sie in Microsoft Azure hinzugefügt haben, die Features aus, die Sie exportieren möchten, und klicken Sie auf Ausgewählte hinzufügen und dann auf Weiter.

  6. Auf der Registerkarte Instanz auswählen können Sie entweder Alle Instanzen auswählen oder Benutzerdefiniert auswählenund dann auf Weiterklicken.

    • Alle Instanzen auswählen — Exportiert Daten aus allen NetScaler-Instanzen nach Microsoft Sentinel.

    • Benutzerdefinierte Auswahl − Ermöglicht es Ihnen, die NetScaler-Instanzen aus der Liste auszuwählen. Wenn Sie bestimmte Instanzen aus der Liste auswählen, werden die Daten nur von den ausgewählten NetScaler-Instanzen nach Microsoft Sentinel exportiert.

  7. Klicken Sie auf Submit.

Protokolle in Microsoft Azure anzeigen

Nachdem Sie alles konfiguriert haben, empfehlen wir Ihnen, bis zu 30 Minuten zu warten, um die Details in Microsoft Azure anzuzeigen.

  1. Navigieren Sie in Ihrem Azure-Portal zu Ihrem Log Analytics-Arbeitsbereich.

  2. Klicken Sie auf Protokolle, geben Sie den Tabellennamen ein und klicken Sie auf Ausführen, um die Ergebnisse anzuzeigen.

    Protokolle anzeigen

Integration mit Microsoft Sentinel