您可以将 NetScaler 控制台与 Microsoft Sentinel 集成,以将以下分析从 NetScaler 控制台导出到 Microsoft Sentinel:
Microsoft Sentinel 提供集中式数据收集,可从应用程序、服务器等各种来源收集数据。 作为管理员,您可以在 Microsoft Sentinel 中报告见解或违规行为后查看数据并做出决策。
为了成功集成,请确保您拥有有效的 Azure 订阅,然后按照每个部分下的步骤操作:
需要一个 Log Analytics Workspace 来存储和分析收集的数据。
登录到 Azure。
单击 创建资源。
在搜索栏中,输入 log analytics workflow 并单击 在Log Analytics Workspace下创建。
在 Log Analytics Workspace 主页中,单击 创建。
在 创建 Log Analytics 工作区中:
选择活动的订阅和资源组。
笔记:
如果您有权限,您还可以单击 新建 来添加资源组。
指定您选择的名称。
从列表中选择您的地区。
单击 审核 + 创建。
出现验证通过的消息。 单击 创建 以部署工作区。
您可以看到部署正在进行的消息。 看到部署完成消息后,单击 转到资源。
工作区已成功创建。
您必须创建与您的 Azure 订阅关联的 Entra 应用程序来代表 Log Analytics Workspace 进行通信。 创建应用程序后,您还必须授予 Microsoft Sentinel Contributor 角色的权限。 该应用程序还提供详细信息,例如 客户端 ID、 租户 ID和 客户端密钥。 我们建议您记下这些细节。 在 NetScaler 控制台中创建订阅以完成集成过程时需要这些详细信息。
在 Azure 门户的搜索栏中键入关键字。
单击 Microsoft Entra ID。
点击 添加 并选择 应用程序注册。
为应用程序指定一个名称,选择 支持的帐户类型下的默认选项,然后单击 注册。
注册应用程序后:
记下 客户端 ID 和 租户 ID。
为您的应用程序创建一个秘密 ID。 单击 证书 & 机密 ,然后在 客户端机密下单击 新客户端机密。 提供描述、有效性,然后单击 添加 为您的应用程序创建一个秘密 ID。
将显示您的申请的详细信息。 确保在创建密钥后立即记下 值 下显示的 ID。 如果您导航到任何其他 GUI 选项,此值将被隐藏。
Microsoft Entra ID 日志提供有关访问您的 Entra 租户的用户、应用程序和网络的全面信息。 有关详细信息,请参阅 使用 Microsoft Entra ID 数据连接器将数据发送到 Microsoft Sentinel。
您必须创建数据收集端点才能获取端点 URL。 在 NetScaler 控制台中创建订阅时这是必需的。
在您的 Azure 门户中,在 Azure 服务下,选择 数据收集端点 或在搜索栏中键入关键字。
单击 数据收集端点 页面中的 创建 。
在 创建数据收集端点:
指定您选择的端点名称
选择 订阅、资源组和 区域。
单击 审核 + 创建。
看到验证通过消息后,单击 创建。
您必须记下端点 URL。 在 数据收集端点 主页中,选择创建的端点,单击 JSON 视图,并记下端点 ID。
您必须创建一个表并提供要从 NetScaler 控制台导出到 Microsoft Sentinel 的每个洞察的 JSON 信息。 您可以参考以下有关每个洞察的表格要求的详细信息:
洞察 | 所需表总数 |
---|---|
SSL 见解 | 3 |
网页应用防火墙 | 1 |
机器人 | 1 |
网关见解 | 5 |
活动 | 1 |
指标 | 1 |
审计日志 | 1 |
每个数据收集规则 (DCR) 最多可以创建 10 个表。 超过 10 个表,则必须创建另一个 DCR。
导航到 Azure 门户中的工作区,然后单击 设置下的 表 。
单击 创建 并选择 新建自定义日志(基于 DCR)
在 创建自定义日志:
指定表名。 表名必须采用以下格式: console_insightname。 例如: console_ns_sslvserver, console_ns_ssl_certkey。 您可以参考步骤 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 后,您可以查看以下详细信息:
单击 转换编辑器,输入适用于适当洞察的以下查询,然后单击 运行 以接受从 NetScaler 控制台中的轮询时间开始的数据。
SSL - 源 | 扩展 TimeGenerated = todatetime(poll_time) | 项目重命名 sslvserver_id = id
WAF 和 Bot - 源 | 扩展 TimeGenerated = todatetime(rpt_sample_time)
网关洞察 - 源 | 扩展 TimeGenerated = todatetime(rpt_sample_time)
点击 下一步 然后点击 创建 完成。
导航到 数据收集规则,单击您已创建的 DCR。
在 配置下,单击 数据源 以查看创建的表。
DCR(数据收集规则)需要访问 监控指标发布者 角色。
导航到您可以从 Azure 门户的 最近下访问的 DCR。
从您的 DCR 页面单击 访问控制 (IAM) ,然后单击 添加角色分配。
在搜索栏中,输入关键字monitor以选择 Monitoring Metrics Publisher ,然后单击 Next。
在 成员 选项卡中,单击 选择成员 并选择您创建的 Entra 应用程序。
点击 审阅 + 分配。
您必须记下数据收集规则 ID。 导航到数据收集规则页面,选择您的 DCR,然后单击 JSON 视图以记下 ID。
现在您已准备好一切。 最后一步是通过创建订阅并添加所需的详细信息来配置 NetScaler 控制台。 要在 NetScaler 控制台中创建订阅,您需要记下以下详细信息:
登录 NetScaler 控制台。
导航到 设置 > 可观察性集成。
在 Integrations 页面中,单击 Add。
在 创建订阅 页面中,指定以下详细信息:
在订阅名称字段中指定您选择的名称。
选择 NetScaler Console 作为 Source 并单击 Next。
选择 Microsoft Sentinel 并单击 配置。 在 配置端点 页面中,输入所有详细信息,然后单击 提交。
单击 下一步。
单击 添加见解 ,然后在 选择功能 选项卡中,根据您在 Microsoft Azure 中添加的表,选择要导出的功能,然后单击 添加所选,然后单击 下一步。
在 选择实例 选项卡中,您可以选择 选择所有实例 或 自定义选择,然后单击 下一步。
选择所有实例 - 从所有 NetScaler 实例将数据导出到 Microsoft Sentinel。
自定义选择 - 使您能够从列表中选择 NetScaler 实例。 如果从列表中选择特定实例,则数据仅从选定的 NetScaler 实例导出到 Microsoft Sentinel。
点击 提交。
配置完所有内容后,我们建议您等待 30 分钟以在 Microsoft Azure 中查看详细信息。
在您的 Azure 门户中,导航到您的 Log Analytics Workspace。
单击 Logs,提供表名,然后单击 Run 查看结果。
您还可以排除故障并使用日志来验证配置。 例如,使用 NetScaler 控制台 GUI 中的“立即轮询”选项来获取已配置的洞察:
使用以下命令查看日志:
尾部-f /var/mps/log/nbs/nbs_api.log
以下示例可帮助您分析可能出现的错误,以便进行故障排除:
此日志表明您在 NetScaler 控制台 (设置 > 可观察性集成) 中为 Microsoft Sentinel 订阅提供了无效的客户端 ID。
解决方法: 确保您已复制正确的客户端 ID,并通过提供正确的客户端 ID 来编辑订阅。 有关更多信息,请参阅 创建 Microsoft Entra 应用程序。
此日志表明您尚未在 Microsoft Azure 中配置所需的 ssl_certkey 表。
解决方法: 在 Microsoft Azure 中为 ssl_certkey 配置一个表。 有关更多信息,请参阅 创建表以导出数据。