收集 NetScaler 日志
支持的平台:
Google SecOps
SIEM
本文档介绍了如何使用 Google 安全运营转发器收集 NetScaler 日志。
如需了解详情,请参阅将数据提取到 Google 安全运营中心概览。
注入标签标识将原始日志数据标准化为结构化 UDM 格式的解析器。本文档中的信息适用于具有 CITRIX_NETSCALER
注入标签的解析器。
配置 NetScaler VPX
如需配置 NetScaler VPX 以将日志发送到 Google Security Operations 转发器,请执行以下操作:
验证主机名配置
- 使用管理员凭据登录 NetScaler 网页界面。
- 依次选择配置 > 设置。
- 点击主机名、DNS IP 地址和时区。
- 如果 Host name(主机名)字段为空,请输入主机名。请勿添加空格。 如果此字段已配置,则无需执行任何操作。
- 在 DNS IP address 字段中,验证是否指定了本地 DNS IP 地址。
- 在时区字段中,输入您的时区。
创建审核服务器
- 在 NetScaler 网页界面中,依次选择 Configuration > System > Auditing > Syslog > Servers。
- 在以下字段中指定 syslog 详细信息:
- 名称
- 服务器类型
- IP 地址
- Port(端口)
- 将日志级别设为自定义。
- 在配置中,选中除 DEBUG 级别以外的所有复选框。
- 在日志设施列表中,选择 LOCAL0。
- 在日期格式列表中,选择 MMDDYYYY。
- 将时区选择为 GMT。
- 清除以下复选框:
- TCP 日志记录
- ACL 日志记录
- 可由用户配置的日志消息
- AppFlow 日志记录
- 大规模 NAT 日志记录
- ALG 消息日志记录
- 订阅者日志记录
- DNS
- SSL 拦截
- 网址过滤
- 内容检查日志记录
- 点击确定以创建审核服务器。
将创建的审核政策绑定到服务器
- 在 NetScaler 网页界面中,依次选择 Configuration > System > Auditing > Syslog。
- 点击政策标签页。
- 在名称字段中,为政策输入名称。
- 在服务器列表中,选择上一部分中的政策。
- 点击创建。
- 右键点击创建的审核政策,然后依次选择操作 > 全局绑定。
- 点击添加绑定。
- 在政策绑定窗口中,执行以下操作:
- 在选择政策字段中,输入创建的审核政策。
- 在绑定详情窗格中的 Priority(优先级)字段中,输入 120,因为它是默认优先级。
- 点击 Bind(绑定)。
配置 NetScaler SDX
如需配置 NetScaler SDX 以将日志发送到 Google Security Operations 转发器,请执行以下操作:
验证 NetScaler SDX 的主机名配置
- 使用管理员凭据登录 NetScaler 网页界面。
- 在 NetScaler 网页界面中,依次选择系统 > 系统设置。
- 如果 Host name(主机名)字段为空,请输入主机名。请勿添加空格。如果此字段已配置,则无需执行任何操作。
- 在时区字段中,选择 UTC 或 GMT。
配置 syslog 服务器
- 在 NetScaler 网页界面中,依次选择 System > Notifications > Syslog servers。
- 在详细信息窗格中,点击添加。
- 在创建 syslog 服务器窗口中,为以下 syslog 服务器参数指定值:
- 在名称字段中,输入一个名称。
- 在 IP 地址字段中,输入 Google 安全运营转发器 IP 地址。
- 在端口字段中,输入端口号。
- 将日志级别设为自定义。
- 选择除调试之外的所有日志级别。
- 点击创建。
配置 syslog 参数
- 在 NetScaler 网页界面中,依次选择 System > Notifications > Syslog servers。
- 在详细信息窗格中,点击 Syslog 参数。
- 在配置 syslog 参数页面中,将日期格式选择为 MMDDYYYY,并将时区选择为 GMT。
- 点击确定。
配置 Google Security Operations 转发器以注入 NetScaler 日志
- 依次选择 SIEM 设置 > 转发器。
- 点击添加新转发器。
- 在转发器名称字段中,为转发器输入一个唯一名称。
- 点击提交,然后点击确认。系统会添加转发器,并显示添加收集器配置窗口。
- 在 Collector name(收集器名称)字段中,为收集器输入一个唯一名称。
- 选择 Citrix NetScaler 作为日志类型。
- 在收集器类型字段中,选择 Syslog。
- 配置以下必需的输入参数:
- 协议:指定收集器用于监听 syslog 数据的连接协议。
- 地址:指定收集器所在的位置并监听 syslog 数据的目标 IP 地址或主机名。
- 端口:指定收集器所在的目标端口,以及收集器监听 syslog 数据的端口。
- 点击提交。
如需详细了解 Google Security Operations 转发器,请参阅通过 Google Security Operations 界面管理转发器配置。
如果您在创建转发器时遇到问题,请与 Google 安全运营支持团队联系。
字段映射参考文档
此解析器以键值对格式处理 Citrix Netscaler SYSLOG 日志,从 message
字段中提取 JSON 格式的数据,并在对 host.hostname
和 user_agent.original
等其他字段中的信息进行排错后,使用这些信息丰富 UDM。它会回退到原始日志消息,以处理主消息为空的情况。
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
AAA 转账 ID | security_result.detection_fields[].value |
从“AAA trans id”字段中提取的值。 |
访问 | security_result.action_details |
如果“访问权限”为“允许”,请将 security_result.action 设置为 ALLOW。如果“访问权限”为“已拒绝”,请将 security_result.action 设置为 BLOCK。 |
applicationName | principal.application |
从“applicationName”字段中提取的值。 |
Browser_type | network.http.user_agent |
从“Browser_type”字段中提取的值。 |
ClientIP | principal.ip ,principal.asset.ip |
从“ClientIP”字段中提取的值。 |
ClientPort | principal.port |
从“ClientPort”字段中提取的值。 |
client_cookie | additional.fields[].value.string_value |
从“client_cookie”字段中提取的值。 |
命令 | target.process.command_line |
从“Command”字段中提取的值。 |
connectionId | security_result.detection_fields[].value |
从“connectionId”字段中提取的值。 |
目的地 | target.ip ,target.asset.ip |
从“Destination”(目的地)字段中提取的值。 |
目的地 | target.ip ,target.asset.ip |
从“Destination”(目的地)字段中提取的值。 |
device_serial_number | target.asset_id |
target.asset_id 设置为“device_serial_number: |
时长 | network.session_duration.seconds |
时长会转换为秒并进行映射。 |
结束时间 | security_result.detection_fields[].value |
从“结束时间”字段中提取的值。 |
Failure_reason | metadata.description |
从“Failure_reason”字段中提取的值。 |
flags | additional.fields[].value.string_value |
从“flags”字段中提取的值。 |
组 | target.group.group_display_name |
从“群组”字段中提取的值。 |
原因 | metadata.description |
从“原因”字段中提取的值。 |
Remote_ip | target.ip ,target.asset.ip |
从“Remote_ip”字段中提取的值。 |
ServerIP | target.ip ,target.asset.ip |
从“ServerIP”字段中提取的值。 |
ServerPort | target.port |
从“ServerPort”字段中提取的值。 |
session_guid | metadata.product_log_id |
从“session_guid”字段中提取的值。 |
SessionId | network.session_id |
从“SessionId”字段中提取的值。 |
来源 | principal.ip ,principal.asset.ip |
从“来源”字段中提取的值。 |
开始时间 | security_result.detection_fields[].value |
从“开始时间”字段中提取的值。 |
startTime | security_result.detection_fields[].value |
从“startTime”字段中提取的值。 |
状态 | security_result.description |
从“状态”字段中提取的值。 |
Total_bytes_recv | network.received_bytes |
从“Total_bytes_recv”字段中提取的值。 |
Total_bytes_send | network.sent_bytes |
从“Total_bytes_send”字段中提取的值。 |
Total_bytes_wire_recv | security_result.detection_fields[].value |
从“Total_bytes_wire_recv”字段中提取的值。 |
Total_bytes_wire_send | security_result.detection_fields[].value |
从“Total_bytes_wire_send”字段中提取的值。 |
用户 | principal.user.userid |
从“用户”字段中提取的值。 |
VserverServiceIP | target.ip ,target.asset.ip |
从“VserverServiceIP”字段中提取的值。 |
VserverServicePort | target.port |
从“VserverServicePort”字段中提取的值。已硬编码为“CITRIX”。已硬编码为“NETSCALER”。已硬编码为“CITRIX_NETSCALER”。由解析器根据 product_event_type 确定。示例:NETWORK_CONNECTION、USER_LOGIN、USER_LOGOUT、USER_STATS、STATUS_UPDATE、USER_UNCATEGORIZED、GENERIC_EVENT。从日志前缀中提取的值(例如CONN_DELINK、CONN_TERMINATE、OTHERCONN_DELINK 等)。事件的简短说明,有时会从“原因”或“Failure_reason”等其他字段派生。根据日志条目中的日期和时间字段计算得出。解析器可处理各种格式和时区。从“username:domainname”字段中提取,取英文冒号后面的部分。将 metadata.product_event_type 中包含“TCP”的事件的协议硬编码为 TCP。设置为 ALLOW 表示成功登录和执行命令,设置为 BLOCK 表示登录失败和资源访问被阻止。从“Status”“Failure_reason”和“Access”等字段派生而来。如果使用用户名和密码进行身份验证,请将其设置为 USERNAME_PASSWORD(从某些日志消息推断出)。对于 VPN 相关的登录/退出事件,将其设为 VPN。使用用户代理解析库从 network.http.user_agent 字段解析。 |
变化
2024-05-21
- 修改了 Grok 模式,以解析丢弃的日志。
2024-05-20
- 添加了新的 Grok 模式来解析未解析的日志。
2024-05-08
- 将时长信息从“security_results”更新为“network.session_duration”。
2024-04-29
- 添加了针对“Browser_type”的条件检查,并将其映射到“network.http.parsed_user_agent”。
- 添加了针对“userId”和“user_email”的条件检查。
- 将“浏览器”映射到“network.http.parsed_user_agent”。
2024-02-23
- 更新了 Grok 模式,以便在 UDM 字段中按预期解析主机名。
2024-01-25
- 添加了 Grok 模式,用于解析“message_type”为“Message”“NONHTTP_RESOURCEACCESS_DENIED”“UDPFLOWSTAT”和“EXTRACTED_GROUPS”的日志。
- 添加了对解析日志的支持,其中“feature”为“GUI”和“EVENT”。
- 将“principal_port”映射到“principal.port”。
- 将“ClientIP”映射到“principal.asset.ip”。
- 将“principal_ip”映射到“principal.ip”和“principal.asset.ip”。
- 将“target_ip”映射到“target.ip”和“target.asset.ip”。
- 将“target_port”映射到“target.port”。
- 将“description”映射到“metadata.description”。
- 将“type”“aaa_trans_id”“pcb_trans_id”“pcb_state”“pcb_label”“trans_id”“authPolicyLen”“login_attempts”“PromptLen”“partitionLen”“cmdPolicyLen”和“ssh_pubkey_len”映射到“security_result.detection_fields”。
- 将“principal_hostname”映射到“principal.hostname”和“principal.asset.hostname”。
- 将“hostname”映射到“intermediary.asset.hostname”。
- 将“hostname”映射到“observer.asset.hostname”。
- 将“cip”“ServerIP”“VIP”“VserverServiceIP”和“Remote_ip”映射到“target.asset.ip”。
- 如果“message_type”为“Message”,则将“User”映射到“principal.user.userid”。
- 当存在“principal_ip”和“target_ip”时,请将“metadata.event_type”设置为“NETWORK_CONNECTION”。
- 当存在“Client_ip”和“target_ip”时,请将“metadata.event_type”设置为“NETWORK_CONNECTION”。
- 当“message_type”为“NONHTTP_RESOURCEACCESS_DENIED”和“UDPFLOWSTAT”时,请将“metadata.event_type”设置为“USER_STATS”。
- 如果“message_type”为“Message”且存在“User”,则将“metadata.event_type”设置为“USER_UNCATEGORIZED”。
- 如果存在“principal_ip”,则将“metadata.event_type”设置为“STATUS_UPDATE”。
2023-11-26
- Enhancement-
- 添加了 Grok 模式,用于解析“message_type”为“Message”的日志。
2023-07-21
- 增强功能 - 更新了解析器,以正确解析包含功能“CLI”的日志。
2022-09-26
- 增强功能 - 将自定义解析器迁移到了默认解析器。
2022-06-09
- 改进 - 添加了请求的映射:
- 将“startTime”“endTime”“Duration”映射到“security_result.detection_fields”。
- 更新了解析器,以解析包含 message_type 为“CHANNEL_UPDATE”“NETWORK_UPDATE”“AAATM Message”的日志。
2022-05-09
- bug 修复 - 更新了解析器,以正确解析包含 message_type - 'TCPCONNSTAT' 的日志。
- 更新了 Grok,以在“principal.administrative_domain”中添加完整域名。
- 解析了在 Validation API 测试期间失败的日志。
2022-04-27
- 改进 - 添加了请求的映射
- 已映射的 intermediary.hostname 字段
- 解析的 API 失败日志