收集 NetScaler 日志

支持的平台:

本文档介绍了如何使用 Google 安全运营转发器收集 NetScaler 日志。

如需了解详情,请参阅将数据提取到 Google 安全运营中心概览

注入标签标识将原始日志数据标准化为结构化 UDM 格式的解析器。本文档中的信息适用于具有 CITRIX_NETSCALER 注入标签的解析器。

配置 NetScaler VPX

如需配置 NetScaler VPX 以将日志发送到 Google Security Operations 转发器,请执行以下操作:

验证主机名配置

  1. 使用管理员凭据登录 NetScaler 网页界面。
  2. 依次选择配置 > 设置
  3. 点击主机名、DNS IP 地址和时区
  4. 如果 Host name(主机名)字段为空,请输入主机名。请勿添加空格。 如果此字段已配置,则无需执行任何操作。
  5. DNS IP address 字段中,验证是否指定了本地 DNS IP 地址。
  6. 时区字段中,输入您的时区。

创建审核服务器

  1. 在 NetScaler 网页界面中,依次选择 Configuration > System > Auditing > Syslog > Servers
  2. 在以下字段中指定 syslog 详细信息:
    • 名称
    • 服务器类型
    • IP 地址
    • Port(端口)
  3. 日志级别设为自定义
  4. 在配置中,选中除 DEBUG 级别以外的所有复选框。
  5. 日志设施列表中,选择 LOCAL0
  6. 日期格式列表中,选择 MMDDYYYY
  7. 时区选择为 GMT
  8. 清除以下复选框:
    • TCP 日志记录
    • ACL 日志记录
    • 可由用户配置的日志消息
    • AppFlow 日志记录
    • 大规模 NAT 日志记录
    • ALG 消息日志记录
    • 订阅者日志记录
    • DNS
    • SSL 拦截
    • 网址过滤
    • 内容检查日志记录
  9. 点击确定以创建审核服务器。

将创建的审核政策绑定到服务器

  1. 在 NetScaler 网页界面中,依次选择 Configuration > System > Auditing > Syslog
  2. 点击政策标签页。
  3. 名称字段中,为政策输入名称。
  4. 服务器列表中,选择上一部分中的政策。
  5. 点击创建
  6. 右键点击创建的审核政策,然后依次选择操作 > 全局绑定
  7. 点击添加绑定
  8. 政策绑定窗口中,执行以下操作:
    1. 选择政策字段中,输入创建的审核政策。
    2. 绑定详情窗格中的 Priority(优先级)字段中,输入 120,因为它是默认优先级。
    3. 点击 Bind(绑定)。

配置 NetScaler SDX

如需配置 NetScaler SDX 以将日志发送到 Google Security Operations 转发器,请执行以下操作:

验证 NetScaler SDX 的主机名配置

  1. 使用管理员凭据登录 NetScaler 网页界面。
  2. 在 NetScaler 网页界面中,依次选择系统 > 系统设置
  3. 如果 Host name(主机名)字段为空,请输入主机名。请勿添加空格。如果此字段已配置,则无需执行任何操作。
  4. 时区字段中,选择 UTCGMT

配置 syslog 服务器

  1. 在 NetScaler 网页界面中,依次选择 System > Notifications > Syslog servers
  2. 详细信息窗格中,点击添加
  3. 创建 syslog 服务器窗口中,为以下 syslog 服务器参数指定值:
    1. 名称字段中,输入一个名称。
    2. IP 地址字段中,输入 Google 安全运营转发器 IP 地址。
    3. 端口字段中,输入端口号。
    4. 日志级别设为自定义
    5. 选择除调试之外的所有日志级别。
  4. 点击创建

配置 syslog 参数

  1. 在 NetScaler 网页界面中,依次选择 System > Notifications > Syslog servers
  2. 详细信息窗格中,点击 Syslog 参数
  3. 配置 syslog 参数页面中,将日期格式选择为 MMDDYYYY,并将时区选择为 GMT
  4. 点击确定

配置 Google Security Operations 转发器以注入 NetScaler 日志

  1. 依次选择 SIEM 设置 > 转发器
  2. 点击添加新转发器
  3. 转发器名称字段中,为转发器输入一个唯一名称。
  4. 点击提交,然后点击确认。系统会添加转发器,并显示添加收集器配置窗口。
  5. Collector name(收集器名称)字段中,为收集器输入一个唯一名称。
  6. 选择 Citrix NetScaler 作为日志类型
  7. 收集器类型字段中,选择 Syslog
  8. 配置以下必需的输入参数:
    • 协议:指定收集器用于监听 syslog 数据的连接协议。
    • 地址:指定收集器所在的位置并监听 syslog 数据的目标 IP 地址或主机名。
    • 端口:指定收集器所在的目标端口,以及收集器监听 syslog 数据的端口。
  9. 点击提交

如需详细了解 Google Security Operations 转发器,请参阅通过 Google Security Operations 界面管理转发器配置

如果您在创建转发器时遇到问题,请与 Google 安全运营支持团队联系。

字段映射参考文档

此解析器以键值对格式处理 Citrix Netscaler SYSLOG 日志,从 message 字段中提取 JSON 格式的数据,并在对 host.hostnameuser_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.ipprincipal.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.iptarget.asset.ip 从“Destination”(目的地)字段中提取的值。
目的地 target.iptarget.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.iptarget.asset.ip 从“Remote_ip”字段中提取的值。
ServerIP target.iptarget.asset.ip 从“ServerIP”字段中提取的值。
ServerPort target.port 从“ServerPort”字段中提取的值。
session_guid metadata.product_log_id 从“session_guid”字段中提取的值。
SessionId network.session_id 从“SessionId”字段中提取的值。
来源 principal.ipprincipal.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.iptarget.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 失败日志