与 Microsoft Sentinel 集成

您可以将 NetScaler 控制台与 Microsoft Sentinel 集成,以将以下分析从 NetScaler 控制台导出到 Microsoft Sentinel:

Microsoft Sentinel 提供集中式数据收集,可从应用程序、服务器等各种来源收集数据。 作为管理员,您可以在 Microsoft Sentinel 中报告见解或违规行为后查看数据并做出决策。

为了成功集成,请确保您拥有有效的 Azure 订阅,然后按照每个部分下的步骤操作:

配置 Log Analytics 工作区

需要一个 Log Analytics Workspace 来存储和分析收集的数据。

  1. 登录到 Azure。

  2. 单击 创建资源

    资源

  3. 在搜索栏中,输入 log analytics workflow 并单击 Log Analytics Workspace下创建

    日志分析工作区

  4. Log Analytics Workspace 主页中,单击 创建

    工作区创建

  5. 创建 Log Analytics 工作区中:

    1. 选择活动的订阅和资源组。

      笔记:

      如果您有权限,您还可以单击 新建 来添加资源组。

    2. 指定您选择的名称。

    3. 从列表中选择您的地区。

    4. 单击 审核 + 创建

      最终阶段前的工作区创建

    5. 出现验证通过的消息。 单击 创建 以部署工作区。

      工作区创建

    6. 您可以看到部署正在进行的消息。 看到部署完成消息后,单击 转到资源

      工作区资源

      工作区已成功创建。

创建 Microsoft Entra 应用程序

您必须创建与您的 Azure 订阅关联的 Entra 应用程序来代表 Log Analytics Workspace 进行通信。 创建应用程序后,您还必须授予 Microsoft Sentinel Contributor 角色的权限。 该应用程序还提供详细信息,例如 客户端 ID租户 ID客户端密钥。 我们建议您记下这些细节。 在 NetScaler 控制台中创建订阅以完成集成过程时需要这些详细信息。

  1. 在 Azure 门户的搜索栏中键入关键字。

  2. 单击 Microsoft Entra ID

    Entra 应用程序

  3. 点击 添加 并选择 应用程序注册

    注册应用程序

  4. 为应用程序指定一个名称,选择 支持的帐户类型下的默认选项,然后单击 注册

    应用程序注册

  5. 注册应用程序后:

    1. 记下 客户端 ID租户 ID

      客户端和租户 ID

    2. 为您的应用程序创建一个秘密 ID。 单击 证书 & 机密 ,然后在 客户端机密下单击 新客户端机密。 提供描述、有效性,然后单击 添加 为您的应用程序创建一个秘密 ID。

      客户端密钥 ID

    3. 将显示您的申请的详细信息。 确保在创建密钥后立即记下 下显示的 ID。 如果您导航到任何其他 GUI 选项,此值将被隐藏。

      值 ID

使用 Microsoft Entra ID 数据连接器将数据发送到 Microsoft Sentinel

Microsoft Entra ID 日志提供有关访问您的 Entra 租户的用户、应用程序和网络的全面信息。 有关详细信息,请参阅 使用 Microsoft Entra ID 数据连接器将数据发送到 Microsoft Sentinel。

配置数据收集端点

您必须创建数据收集端点才能获取端点 URL。 在 NetScaler 控制台中创建订阅时这是必需的。

  1. 在您的 Azure 门户中,在 Azure 服务下,选择 数据收集端点 或在搜索栏中键入关键字。

    DCR选择

  2. 单击 数据收集端点 页面中的 创建

    DCR 创建

  3. 创建数据收集端点

    1. 指定您选择的端点名称

    2. 选择 订阅、资源组区域

    3. 单击 审核 + 创建

    4. 看到验证通过消息后,单击 创建

您必须记下端点 URL。 在 数据收集端点 主页中,选择创建的端点,单击 JSON 视图,并记下端点 ID。

直流电阻识别

创建表来导出数据

您必须创建一个表并提供要从 NetScaler 控制台导出到 Microsoft Sentinel 的每个洞察的 JSON 信息。 您可以参考以下有关每个洞察的表格要求的详细信息:

洞察 所需表总数
SSL 见解 3
网页应用防火墙 1
机器人 1
网关见解 5
活动 1
指标 1
审计日志 1

每个数据收集规则 (DCR) 最多可以创建 10 个表。 超过 10 个表,则必须创建另一个 DCR。

  1. 导航到 Azure 门户中的工作区,然后单击 设置下的

  2. 单击 创建 并选择 新建自定义日志(基于 DCR)

    桌子

  3. 创建自定义日志

    1. 指定表名。 表名必须采用以下格式: console_insightname。 例如: console_ns_sslvserverconsole_ns_ssl_certkey。 您可以参考步骤 4 来获取适用于每个洞察的表名称。

    2. 提供描述以添加有关表名的更多信息。 这是可选的。

    3. 创建新的数据收集规则并添加。

    4. 从列表中选择数据收集端点。

      表参数

    5. 单击 下一步

  4. Schema and transformation 选项卡中,您必须上传要导出的洞察的 JSON 示例日志。 您可以对每个见解使用以下示例 JSON,并创建一个 JSON 文件进行上传:

    洞察 JSON 要使用的表名
    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”:“已禁用”, “pushenctriggertimeout”:1,“sessionticket”:“”, “includesubdomains”:“f”, “sessionticketkeyrefresh”:“”, “ssllogprofile”:“”, “serverauth”:“”, “ssltriggertimeout”:100,“ersacount”:0,“strictcachecks”:“否”, “dhfile”:“”, “sessreuse”:“已启用”, “redirectportrewrite”:“已禁用”, “skipclientcertpolicycheck”:“”, “tls13sessionticketsperauthcontext”:1,“cipherredirect”:“已禁用”, “dropreqwithnohostheader”:“否”, “sessionticketlifetime”:-1,“maxage”:0,“pushenctrigger”:“始终”, “strictsigdigestcheck”:“f”, “sslredirect”:“已禁用”, “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”:“否”,“clientauth”:“已禁用”,“denysslreneg”:“不安全”,“sendclosenotify”:“是”,“dhcount”:0,“snienable”:“已禁用”,“table_name”:“ns_sslvserver”} console_ns_sslv服务器
    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”:“有效”,“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”,“主机名”:“athulsadc”,“key_name”:“”,“subjaltname”:“”,“managed_by”:“”,“certificate_dn”:“”,“linkcertkeyname”:“”,“table_name”:“ns_ssl_certkey”} console_ns_ssl_certkey
    网页应用防火墙 [{“ip_address”:“10.106.185.156”,“ctnsappname”:“vserver_1”,“severity”:2,“violation_type”:19,“violation_type_desc”:“起始网址”,“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”:“破坏的身份验证和会话管理”,“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”:“已阻止”,“severity_type”:2,“severity_type_desc”:“中”,“iprep_score”:0,“iprep_category”:0,“counter_value”:0,“appname”: “vserver_1_10.106.185.156_lb”,“violation_category”:12,“violation_category_desc”:“起始 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
    机器人 {“ip_address”:“10.106.186.122”,“ctnsappname”:“secure_gateway”,“bot_type”:“2”,“bot_type_desc”:“不良”,“action_type”:“6”,“action_type_desc”:“日志”,“country_code”:“0.0”,“region_code”:“0.0”,“city”:“0.0”,“bot_severity”:“0”,“bot_severity_desc”:“严重”,“latitude”:“0”,“longitude”:“0”,“bot_detection_mechanism”:“6”,“bot_detection_mechanism_desc”:“黑名单”,“bot_category”:“0”,“bot_category_desc”:“未分类”,“source_ip_address”:“174758625”,“bot_signature_category”:“自定义策略表达式”,“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
    网关洞察 (1) {“adc_ip_address”:“10.106.186.141”,“auth_server”:“”,“client_ip”:174766732,“epa_method_type”:0,“error_count”:14,“error_details”:“传递了无效凭据”,“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
    网关洞察 (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
    网关洞察 (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
    网关洞察 (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
    网关洞察 (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
    活动 {“rpt_sample_time”:-1,“category”:“HealthMonitoring”,“entity”:“10.106.186.148:HealthMonitoring:系统磁盘使用情况”,“counter_threshold_value”:“”,“id”:“0f2607cf-f97d-4f71-9162-11e580262e93”,“timestamp”:1712927472,“message”:“磁盘使用率高:63.24%”,“severity”:“严重”,“user_name”:“”,“device_entity_type”:“”,“device_type”:“”,“counter_actual_value”:“”,“cmd_auth_status”:“”,“source”:“10.106.186.148”,“history”:“更新时间= 2024年4月12日星期五06:32:49 UTC,先前严重性=严重,新的严重性=严重,来源= 10.106.186.148\n更新时间= 2024 年 4 月 12 日星期五 06:27:46 UTC,先前严重性=严重,新的严重性=严重,来源= 10.106.186.148\n更新时间= 2024 年 4 月 12 日星期五 06:22:44 UTC,先前严重性=严重,新的严重性=严重,来源= 10.106.186.148\n更新时间= 2024 年 4 月 12 日星期五 06:17:41 UTC,先前严重性=严重,新严重性=严重,来源=10.106.186.148\n更新时间=2024 年 4 月 12 日星期五 06:12:38 UTC,上一个严重性=严重,新严重性=严重,来源=10.106.186.148\n更新时间=2024 年 4 月 12 日星期五 06:07:36 U", "config_cmd": "", "failureobj": "系统磁盘使用情况", "operation_type": "undefined", "device_entity_name": "", "cmd_exec_status": "", "device_family": "", "source_event_id": -1, "source_system_ip": "10.106.186.148", "trap_id": 35, "table_name": “事件”} 控制台事件
    指标 {“memory_free”:28830060544.0,“disk_used”:81248694272.0,“disk_free”:29632114688.0,“node_type”:“”,“memory_total”:34355544064.0,“cpu_usage”:0.49,“disk_total”:120522616832.0,“disk_usage”:73.28,“node_id”:“”,“id”:“1be15a09-d078-469c-868a-bfbfcffe5ef1”,“disk_total_capacity”:0.0,“page_size”:4096.0,“memory_usage”:16.08,“table_name”:“mps_health”} console_mps_health
    审计日志 {“system_gmt_time”:1721868291,“source”:“XXXX”,“severity”:“INFO”,“module”:“DEVICECONFIG”,“event_type”:“CMD_EXECUTED”,“message”:“示例消息”,“instance_ip”:“XXXX”,“app_name”:“”} 控制台系统日志消息

    上传 JSON 后,您可以查看以下详细信息:

    JSON 详细信息

    单击 转换编辑器,输入适用于适当洞察的以下查询,然后单击 运行 以接受从 NetScaler 控制台中的轮询时间开始的数据。

  5. 点击 下一步 然后点击 创建 完成。

  6. 导航到 数据收集规则,单击您已创建的 DCR。

  7. 配置下,单击 数据源 以查看创建的表。

    表格来源

    DCR(数据收集规则)需要访问 监控指标发布者 角色。

    1. 导航到您可以从 Azure 门户的 最近下访问的 DCR。

    2. 从您的 DCR 页面单击 访问控制 (IAM) ,然后单击 添加角色分配

      角色分配

    3. 在搜索栏中,输入关键字monitor以选择 Monitoring Metrics Publisher ,然后单击 Next

    4. 成员 选项卡中,单击 选择成员 并选择您创建的 Entra 应用程序。

    5. 点击 审阅 + 分配

      您必须记下数据收集规则 ID。 导航到数据收集规则页面,选择您的 DCR,然后单击 JSON 视图以记下 ID。

      直流电阻识别

在 NetScaler 控制台中创建订阅

现在您已准备好一切。 最后一步是通过创建订阅并添加所需的详细信息来配置 NetScaler 控制台。 要在 NetScaler 控制台中创建订阅,您需要记下以下详细信息:

  1. 登录 NetScaler 控制台。

  2. 导航到 设置 > 可观察性集成

  3. Integrations 页面中,单击 Add

  4. 创建订阅 页面中,指定以下详细信息:

    1. 在订阅名称字段中指定您选择的名称。

    2. 选择 NetScaler Console 作为 Source 并单击 Next

    3. 选择 Microsoft Sentinel 并单击 配置。 在 配置端点 页面中,输入所有详细信息,然后单击 提交

    4. 单击 下一步

  5. 单击 添加见解 ,然后在 选择功能 选项卡中,根据您在 Microsoft Azure 中添加的表,选择要导出的功能,然后单击 添加所选,然后单击 下一步

  6. 选择实例 选项卡中,您可以选择 选择所有实例自定义选择,然后单击 下一步

  7. 点击 提交

查看 Microsoft Azure 中的日志

配置完所有内容后,我们建议您等待 30 分钟以在 Microsoft Azure 中查看详细信息。

  1. 在您的 Azure 门户中,导航到您的 Log Analytics Workspace

  2. 单击 Logs,提供表名,然后单击 Run 查看结果。

    查看日志

您还可以排除故障并使用日志来验证配置。 例如,使用 NetScaler 控制台 GUI 中的“立即轮询”选项来获取已配置的洞察:

  1. 使用 SSH 客户端登录到您的 NetScaler 控制台。
  2. 输入shell进入bash模式。
  3. 使用以下命令查看日志:

    尾部-f /var/mps/log/nbs/nbs_api.log

以下示例可帮助您分析可能出现的错误,以便进行故障排除:

  1. 无效日志

    此日志表明您在 NetScaler 控制台 (设置 > 可观察性集成) 中为 Microsoft Sentinel 订阅提供了无效的客户端 ID。

    解决方法: 确保您已复制正确的客户端 ID,并通过提供正确的客户端 ID 来编辑订阅。 有关更多信息,请参阅 创建 Microsoft Entra 应用程序

  2. SSL 密钥无效

    此日志表明您尚未在 Microsoft Azure 中配置所需的 ssl_certkey 表。

    解决方法: 在 Microsoft Azure 中为 ssl_certkey 配置一个表。 有关更多信息,请参阅 创建表以导出数据