收集 Array Networks SSL VPN 日志

解析器版本:1.0

支持范围:

本文档介绍了如何使用 Bindplane 代理将 Array Networks SSL VPN 日志注入 Google Security Operations。

准备工作

请确保满足以下前提条件:

  • Google SecOps 实例
  • 装有 systemd 的 Windows 2016 或更高版本或 Linux 主机
  • 如果在代理后面运行,请确保按照 Bindplane 代理要求打开防火墙端口
  • 对 Array Networks SSL VPN 管理控制台或设备(AG 系列或 vxAG)的特权访问权限

获取 Bindplane 代理的 Google SecOps 凭证

如需向 Google SecOps 验证 Bindplane 代理,请选择以下方法之一:

  • 新部署:使用 Chronicle API(选项 1)。
  • 旧版部署:继续使用数据注入身份验证文件(方法 2),直到 Ingestion API 于 2027 年 7 月 20 日停用。
  1. 登录 Google Cloud 控制台,然后选择与您的 Google SecOps 实例关联的 Google Cloud 项目。
  2. 依次前往 IAM 和管理 > 服务账号。
  3. 点击创建服务账号。
  4. 提供以下配置详细信息:
    • 服务账号名称:输入账号的名称(例如 bindplane-ingest)。
    • 服务账号说明:输入说明(例如 Bindplane agent log ingestion)。
  5. 点击创建并继续。
  6. 在向此服务账号授予对项目的访问权限部分,点击选择角色,然后选择 Chronicle Editor。
  7. 点击继续,然后点击完成。
  8. 点击您创建的服务账号,然后前往密钥标签页。
  9. 依次点击添加密钥 > 创建新密钥。
  10. 选择 JSON,然后点击创建。密钥文件会下载到您的计算机上。
  11. 将密钥文件另存为 Bindplane 收集器目录(Linux 上的 /opt/observiq-otel-collector/ingestion-auth.json 或 Windows 上的 C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json)中的 ingestion-auth.json,或更新 config.yaml 中的 creds_file_path 以匹配您保存它的路径。
  12. 前往 IAM 和管理 > 设置,然后复制项目编号。您在配置导出器时需要用到该名称。

方法 2:下载数据注入身份验证文件(旧版)

  1. 登录 Google SecOps 控制台。
  2. 依次前往设置 > 数据管理 > 收集代理。如果您使用的是仅限 SIEM 的平台,请依次前往设置 > 收集代理。
  3. 下载数据注入身份验证文件。
  4. 将该文件安全地保存在将要安装 Bindplane 代理的系统上。

获取 Google SecOps 客户 ID

  1. 登录 Google SecOps 控制台。
  2. 依次前往设置 > 管理 > 个人资料。如果您使用的是仅限 SIEM 的平台,请依次前往设置 > 个人资料。
  3. 复制并保存组织详细信息部分中的客户 ID。

安装 Bindplane 代理

根据以下说明,在 Windows 或 Linux 操作系统上安装 Bindplane 代理。

Windows 安装

  1. 以管理员身份打开命令提示符或 PowerShell。
  2. 运行以下命令:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Linux 安装

  1. 打开具有 root 或 sudo 权限的终端。
  2. 运行以下命令:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

其他安装资源

如需了解其他安装选项,请参阅此安装指南。

配置 Bindplane 代理以注入 Syslog 并发送到 Google SecOps

  1. 访问配置文件:

    • 找到 config.yaml 文件。通常,它位于 Linux 上的 /opt/observiq-otel-collector/ 目录中,或 Windows 上的安装目录中。
    • 使用文本编辑器(例如 nano、vi 或记事本)打开该文件。
  2. 按如下方式修改 config.yaml 文件:

    receivers:
      udplog:
        # Replace the port and IP address as required
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/chronicle_w_labels:
        protocol: https
        # Region of your instance, for example us, europe, asia-southeast1
        location: <LOCATION>
        # Project number of the Google Cloud project linked to the instance
        project: '<PROJECT_NUMBER>'
        compression: gzip
        # Adjust the path to the credentials file you downloaded in Step 1
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        # Replace with your actual customer ID from Step 2
        customer_id: <CUSTOMER_ID>
        endpoint: chronicle.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'ARRAYNETWORKS_VPN'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    
    • 根据基础架构的要求替换端口和 IP 地址。
    • 将 <CUSTOMER_ID> 替换为实际客户 ID。
    • 将 /path/to/ingestion-authentication-file.json 更新为第 1 步中保存服务账号密钥文件(选项 1)的文件路径。
    • 将 <LOCATION> 替换为您的 Google SecOps 实例所在的区域(例如 us、europe 或 asia-southeast1)。导出工具会在此值前面加上 chronicle.googleapis.com。如需查看完整列表,请参阅区域级端点。
    • 将 <PROJECT_NUMBER> 替换为 IAM 和管理 > 设置中的项目编号。

旧版提取 API 导出工具

  • 如果您使用选项 2 中的数据注入身份验证文件,请将 exporters 代码块替换为以下内容。将 creds_file_path 设置为数据注入身份验证文件的路径,如果您的实例位于美国境外,请将 malachiteingestion-pa.googleapis.com 替换为您的区域端点(例如 europe-malachiteingestion-pa.googleapis.com)。

    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        # Adjust the path to the credentials file you downloaded in Step 1
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        # Replace with your actual customer ID from Step 2
        customer_id: <CUSTOMER_ID>
        endpoint: malachiteingestion-pa.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'ARRAYNETWORKS_VPN'
        raw_log_field: body
        ingestion_labels:
    

重启 Bindplane 代理以应用更改

  1. 如需在 Linux 中重启 Bindplane 代理,请运行以下命令:

    sudo systemctl restart observiq-otel-collector
    
  2. 如需在 Windows 中重启 Bindplane 代理,您可以使用服务控制台,也可以输入以下命令:

    net stop observiq-otel-collector && net start observiq-otel-collector
    

在 Array Networks SSL VPN 上配置 Syslog 转发

  1. 登录 Array Networks SSL VPN 管理控制台 (WebUI)。
  2. 在左侧导航菜单中,点击管理工具。
  3. 点击监控。
  4. 点击日志记录标签页。
  5. 点击 Syslog Servers(Syslog 服务器)子标签页。
  6. 在远程 SYSLOG 服务器配置部分中,点击添加服务器条目。
  7. 提供以下配置详细信息:
    • 主机 IP:输入 Bindplane 代理 IP 地址。
    • 主机端口:输入 Bindplane 代理端口号(例如 514)。
    • 协议:选择 UDP 或 TCP,具体取决于您的 Bindplane 代理配置。
    • 来源端口:保留默认值,或根据网络配置要求进行指定。
    • 级别:选择要转发的最低严重级别(例如,信息、警告、错误)。
  8. 点击添加或保存以应用配置。
  9. 点击页面顶部的保存配置以保留更改。

UDM 映射表

日志字段 UDM 映射 逻辑
clientip principal.ip 从原始日志消息中的 clientip 字段提取的客户端 IP 地址。
column1 principal.ip 从原始日志中的 column1 提取的 IP 地址。
column1 principal.asset.ip 从原始日志中的 column1 提取的 IP 地址。
column3 network.received_bytes 接收的字节数,转换为无符号整数。
column4 network.http.method 从原始日志中的 column4 提取的 HTTP 方法。
column7 target.ip 从原始日志中的 column7 提取的目标 IP 地址。
dport target.port 目标端口,已转换为整数。
dst target.ip 目标 IP 地址。
dst target.asset.ip 目标 IP 地址。
hostname principal.hostname 从原始日志消息中的 hostname 字段提取的主机名。
hostname principal.asset.hostname 从原始日志消息中的 hostname 字段提取的主机名。
http_method network.http.method 从原始日志消息中提取的 HTTP 方法。
id principal.application 原始日志中的应用 ID。
mac principal.mac 从原始日志消息中的 mac 字段提取的 MAC 地址。
msg metadata.product_event_type 原始日志中的消息字段,用作产品事件类型。在移除反斜杠和引号后,也用于 security_result.description。
product_name metadata.product_name 从原始日志消息中提取的商品名称。
prxy_ip intermediary.ip 代理 IP 地址。
prxy_port intermediary.port 代理端口,已转换为整数。
response_code network.http.response_code HTTP 响应代码,已转换为整数。
security_result.action security_result.action 由解析器逻辑根据 column2 的值确定。如果 column2 包含“TCP_MISS”,则为“BLOCK”,否则为“UNKNOWN_ACTION”。
security_result.description security_result.description 移除反斜杠和引号后的原始日志中的消息字段。
sport principal.port 来源端口,已转换为整数。
src principal.ip 来源 IP 地址。
src principal.asset.ip 来源 IP 地址。
target_hostname target.hostname 从原始日志消息中提取的目标主机名。
timestamp metadata.event_timestamp 从原始日志消息中提取并解析为时间戳对象的时间戳。
uri target.url 目标网址的一部分。与 uri_param 组合在一起,构成完整的网址。
uri_param target.url 目标网址的一部分。与 uri 组合在一起,构成完整的网址。
user target.user.userid 从原始日志消息中提取的用户名。
user_agent_string network.http.user_agent 从原始日志消息中提取的用户代理字符串。
vpn target.user.group_identifiers 从原始日志消息中提取的 VPN 名称。
metadata.event_type metadata.event_type 由解析器逻辑根据 has_principal、has_target、has_http_value 和 user 等字段的组合确定。可以是“NETWORK_HTTP”“NETWORK_CONNECTION”“STATUS_UPDATE”“USER_UNCATEGORIZED”或“GENERIC_EVENT”。
network.ip_protocol network.ip_protocol 如果消息包含“TCP”,则设置为“TCP”。

更新日志

查看此解析器的更新日志

需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。