Integration mit Microsoft Sentinel
Sie können NetScaler Console mit Microsoft Sentinel integrieren, um die folgenden Analysedaten von NetScaler Console nach Microsoft Sentinel zu exportieren:
- WAF-Verletzungen
- Bot-Verletzungen
- SSL-Zertifikat-Einblicke
- Gateway-Einblicke
- NetScaler Console Audit-Protokolle
Microsoft Sentinel bietet eine zentralisierte Datenerfassung, die Daten aus verschiedenen Quellen wie Anwendungen, Servern usw. sammelt. Als Administrator können Sie Daten anzeigen und Entscheidungen treffen, nachdem die Einblicke oder Verletzungen in Microsoft Sentinel gemeldet wurden.
Für eine erfolgreiche Integration stellen Sie sicher, dass Sie über ein aktives Azure-Abonnement verfügen, und befolgen Sie dann das Verfahren in jedem Abschnitt:
Log Analytics-Arbeitsbereich konfigurieren
Ein Log Analytics-Arbeitsbereich ist erforderlich, um die gesammelten Daten zu speichern und zu analysieren.
-
Melden Sie sich bei Azure an.
-
Klicken Sie auf Ressource erstellen.
-
Geben Sie in der Suchleiste „Log Analytics-Arbeitsbereich“ ein und klicken Sie unter Log Analytics-Arbeitsbereich auf Erstellen.
-
Klicken Sie auf der Hauptseite des Log Analytics-Arbeitsbereichs auf Erstellen.
-
Im Dialogfeld Log Analytics-Arbeitsbereich erstellen:
- Wählen Sie das aktive Abonnement und die Ressourcengruppe aus.
Hinweis:
Sie können auch auf Neu erstellen klicken, um eine Ressourcengruppe hinzuzufügen, wenn Sie die entsprechenden Berechtigungen haben.
-
Geben Sie einen Namen Ihrer Wahl an.
-
Wählen Sie Ihre Region aus der Liste aus.
-
Klicken Sie auf Überprüfen + Erstellen.
-
Eine Meldung „Überprüfung erfolgreich“ wird angezeigt. Klicken Sie auf Erstellen, um den Arbeitsbereich bereitzustellen.
-
Sie sehen die Meldung „Bereitstellung läuft“. Nachdem Sie die Meldung „Bereitstellung abgeschlossen“ sehen, klicken Sie auf Zu Ressource wechseln.
Der Arbeitsbereich wurde erfolgreich erstellt.
- Wählen Sie das aktive Abonnement und die Ressourcengruppe aus.
Eine Microsoft Entra-Anwendung erstellen
Sie müssen eine Entra-Anwendung erstellen, die Ihrem Azure-Abonnement zugeordnet ist, um im Namen des Log Analytics-Arbeitsbereichs zu kommunizieren. Nachdem Sie die Anwendung erstellt haben, müssen Sie ihr auch die Berechtigung mit der Rolle Microsoft Sentinel Contributor erteilen. Die Anwendung liefert auch Details wie Client-ID, Mandanten-ID und Client-Geheimnis. Wir empfehlen Ihnen, diese Details zu notieren. Diese Details sind erforderlich, wenn Sie ein Abonnement in NetScaler Console erstellen, um den Integrationsprozess abzuschließen.
-
Geben Sie in Ihrem Azure-Portal das Schlüsselwort in die Suchleiste ein.
-
Klicken Sie auf Microsoft Entra ID.
-
Klicken Sie auf Hinzufügen und wählen Sie App-Registrierung.
-
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.
-
Nachdem Sie die Anwendung registriert haben:
-
Notieren Sie sich die Client-ID und die Mandanten-ID.
-
Erstellen Sie eine Secret-ID für Ihre Anwendung. Klicken Sie auf Zertifikate & Geheimnisse und unter Client-Geheimnisse auf Neues Client-Geheimnis. Geben Sie eine Beschreibung und Gültigkeit an und klicken Sie dann auf Hinzufügen, um eine Secret-ID für Ihre Anwendung zu erstellen.
-
Die Details werden für Ihre Anwendung angezeigt. Stellen Sie sicher, dass Sie sich die ID notieren, die unter Wert unmittelbar nach der Erstellung des Geheimnisses angezeigt wird. Dieser Wert wird ausgeblendet, wenn Sie zu einer anderen GUI-Option navigieren.
-
Daten an Microsoft Sentinel senden mithilfe des Microsoft Entra ID-Datenkonnektors
Microsoft Entra ID-Protokolle bieten umfassende Informationen über Benutzer, Anwendungen und Netzwerke, die auf Ihren Entra-Mandanten zugreifen. Weitere Informationen finden Sie unter Daten an Microsoft Sentinel senden mithilfe des Microsoft Entra ID-Datenkonnektors.
Datenerfassungsendpunkt konfigurieren
Sie müssen einen Datenerfassungsendpunkt erstellen, um die Endpunkt-URL zu erhalten. Dies ist erforderlich, wenn Sie ein Abonnement in NetScaler Console erstellen.
-
Wählen Sie in Ihrem Azure-Portal unter Azure-Dienste die Option Datenerfassungsendpunkte aus oder geben Sie das Schlüsselwort in die Suchleiste ein.
-
Klicken Sie auf der Seite Datenerfassungsendpunkte auf Erstellen.
-
Unter Datenerfassungsendpunkt erstellen:
-
Geben Sie einen Endpunktnamen Ihrer Wahl an.
-
Wählen Sie das Abonnement, die Ressourcengruppe und die Region aus.
-
Klicken Sie auf Überprüfen + Erstellen.
-
Nachdem Sie die Meldung „Überprüfung erfolgreich“ sehen, 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.
Tabellen zum Exportieren von Daten erstellen
Sie müssen eine Tabelle erstellen und die JSON-Informationen für jeden Einblick bereitstellen, den Sie von NetScaler Console nach Microsoft Sentinel exportieren möchten. Die folgenden Details zu den Tabellenanforderungen für jeden Einblick können Sie als Referenz verwenden:
Einblicke | Gesamtzahl der benötigten Tabellen |
---|---|
SSL-Einblicke | 3 |
WAF | 1 |
Bot | 1 |
Gateway-Einblicke | 5 |
Für jeden Arbeitsbereich können Sie maximal 10 Tabellen erstellen. Bei mehr als 10 Tabellen müssen Sie einen weiteren Arbeitsbereich erstellen.
-
Navigieren Sie in Ihrem Azure-Portal zu Ihrem Arbeitsbereich und klicken Sie unter Einstellungen auf Tabellen.
-
Klicken Sie auf Erstellen und wählen Sie Neues benutzerdefiniertes Protokoll (DCR-basiert).
-
Unter Benutzerdefiniertes Protokoll erstellen:
-
Geben Sie einen Tabellennamen an. Der Tabellenname muss im Format console_insightname vorliegen. Zum Beispiel: console_ns_sslvserver, console_ns_ssl_certkey. Sie können Schritt 4 als Referenz verwenden, um die für jeden Einblick anwendbaren Tabellennamen zu erhalten.
-
Geben Sie eine Beschreibung an, um weitere Informationen zum Tabellennamen hinzuzufügen. Dies ist optional.
-
Erstellen Sie eine neue Datenerfassungsregel und fügen Sie sie hinzu.
-
Wählen Sie den Datenerfassungsendpunkt aus der Liste aus.
-
Klicken Sie auf Weiter.
-
-
Auf der Registerkarte Schema und Transformation müssen Sie die JSON-Beispielprotokolle für den Einblick hochladen, den Sie exportieren möchten. Sie können das folgende JSON-Beispiel für jeden Einblick verwenden und eine JSON-Datei zum Hochladen erstellen:
Einblicke 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-Einblick (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-Einblick (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-Einblick (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-Einblick (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-Einblick (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 Audit-Protokolle {"system_gmt_time":1721868291, "source":"X.X.X.X", "severity":"INFO", "module":"DEVICECONFIG", "event_type":"CMD_EXECUTED", "message":"Sample Mesage", "instance_ip":"X.X.X.X", "app_name":""}
console_syslog_messages Nach dem Hochladen der JSON-Datei können Sie die folgenden Details anzeigen:
Klicken Sie auf Transformationseditor, geben Sie die folgende Abfrage ein, die für den entsprechenden Einblick anwendbar ist, und klicken Sie auf Ausführen, um die Daten ab dem Abfragezeitpunkt 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-Einblick -
source | extend TimeGenerated = todatetime(rpt_sample_time)
-
-
Klicken Sie auf Weiter und dann auf Erstellen, um den Vorgang abzuschließen.
-
Navigieren Sie zu Datenerfassungsregeln, klicken Sie auf die von Ihnen erstellte DCR.
-
Klicken Sie unter Konfiguration auf Datenquellen, um die erstellte Tabelle anzuzeigen.
Die DCR (Datenerfassungsregel) benötigt Zugriff auf die Rolle Monitoring Metrics Publisher.
-
Navigieren Sie zu Ihrer DCR, auf die Sie über Ihr Azure-Portal unter Zuletzt verwendet zugreifen können.
-
Klicken Sie auf Ihrer DCR-Seite auf Zugriffssteuerung (IAM) und dann auf Rollenzuweisung hinzufügen.
-
Geben Sie in der Suchleiste das Schlüsselwort „monitor“ ein, um Monitoring Metrics Publisher auszuwählen, und klicken Sie auf Weiter.
-
Klicken Sie auf der Registerkarte Mitglieder auf Mitglieder auswählen und wählen Sie die von Ihnen erstellte Entra-App aus.
-
Klicken Sie auf Überprüfen + zuweisen.
Sie müssen sich die ID der Datenerfassungsregeln notieren. Navigieren Sie zur Seite „Datenerfassungsregeln“, wählen Sie Ihre DCR aus und klicken Sie auf die JSON-Ansicht, um die ID zu notieren.
-
Ein Abonnement in NetScaler Console erstellen
Sie haben nun alles vorbereitet. Der letzte Schritt ist die Konfiguration von NetScaler Console durch Erstellung eines Abonnements und Hinzufügen der erforderlichen Details. 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
- Client-Geheimnis
-
Melden Sie sich bei NetScaler Console an.
-
Navigieren Sie zu Einstellungen > Observability Integration.
-
Klicken Sie auf der Seite Integrationen auf Hinzufügen.
-
Geben Sie auf der Seite Abonnement erstellen die folgenden Details an:
-
Geben Sie im Feld „Abonnementname“ einen Namen Ihrer Wahl an.
-
Wählen Sie NetScaler Console als Quelle aus und klicken Sie auf Weiter.
-
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.
-
Klicken Sie auf Weiter.
-
-
Klicken Sie auf Einblicke hinzufügen und wählen Sie auf der Registerkarte Funktion auswählen je nach den in Microsoft Azure hinzugefügten Tabellen die Funktionen aus, die Sie exportieren möchten, klicken Sie auf Ausgewählte hinzufügen und dann auf Weiter.
-
Auf der Registerkarte Instanz auswählen können Sie entweder Alle Instanzen auswählen oder Benutzerdefinierte Auswahl wählen und dann auf Weiter klicken.
-
Alle Instanzen auswählen - Exportiert Daten von allen NetScaler-Instanzen nach Microsoft Sentinel.
-
Benutzerdefinierte Auswahl - Ermöglicht Ihnen die Auswahl der NetScaler-Instanzen aus der Liste. Wenn Sie bestimmte Instanzen aus der Liste auswählen, werden die Daten nur von den ausgewählten NetScaler-Instanzen nach Microsoft Sentinel exportiert.
-
-
Klicken Sie auf Senden.
Protokolle in Microsoft Azure anzeigen
Nachdem Sie alles konfiguriert haben, empfehlen wir Ihnen, 30 Minuten zu warten, um die Details in Microsoft Azure anzuzeigen.
-
Navigieren Sie in Ihrem Azure-Portal zu Ihrem Log Analytics-Arbeitsbereich.
-
Klicken Sie auf Protokolle, geben Sie den Tabellennamen ein und klicken Sie auf Ausführen, um die Ergebnisse anzuzeigen.