收集 Kiteworks(以前称为 Accellion)日志

支持的平台:

本文档介绍了如何使用 Bindplane 将 Kiteworks(以前称为 Accellion)日志注入到 Google Security Operations。解析器从 SYSLOG 消息中提取 audit_message 字段,同时处理 JSON 格式的消息(使用 grok 提取 textPayload)和纯文本消息。然后,它会应用 auditd.include 中定义的一组常见转换,并为 SYSCALL 类型事件添加特定映射,从而使用提取的数据丰富 UDM 字段。

准备工作

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

  • Google SecOps 实例
  • 搭载 systemd 的 Windows 2012 SP2 或更高版本或 Linux 主机
  • 如果通过代理运行,请确保防火墙端口已根据 Bindplane 代理要求打开
  • 对 Kiteworks(以前称为 Accellion)管理控制台或设备具有特权访问权限

获取 Google SecOps 注入身份验证文件

  1. 登录 Google SecOps 控制台。
  2. 依次前往 SIEM 设置 > 收集代理
  3. 下载注入身份验证文件。将文件安全地保存在将要安装 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. 访问配置文件:

    1. 找到 config.yaml 文件。通常,它位于 Linux 上的 /etc/bindplane-agent/ 目录中或 Windows 上的安装目录中。
    2. 使用文本编辑器(例如 nanovi 或记事本)打开该文件。
  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:
        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: 'ACCELLION'
        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 更新为获取 Google SecOps 注入身份验证文件部分中保存身份验证文件的路径。

重启 Bindplane 代理以应用更改

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

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

    net stop BindPlaneAgent && net start BindPlaneAgent
    

在 Kiteworks(以前称为 Accellion)上配置 Syslog 转发

  1. 以管理员身份登录 Kiteworks 管理控制台
  2. 使用以下任一路径前往位置页面:
    • 旧版界面:前往系统 > 地理位置
    • 新界面:前往系统设置 > 地点
  3. 从列表中选择目标位置。
  4. 前往外部服务部分。
  5. 展开 Syslog 设置面板。
  6. 点击添加以创建新的 syslog 服务器配置。
  7. 提供以下配置详细信息:
    • Syslog 服务器:输入 Bindplane 代理 IP 地址。
    • 协议:根据实际的 Bindplane 代理配置,选择 UDPTCP
    • 端口:输入 Bindplane 代理端口号(例如 514)。
    • 格式:选择 JSON 格式(建议用于结构化解析)。
    • 时区:选择世界协调时间 (UTC) 时区,以确保各系统之间的一致性。
  8. 点击保存以应用配置。

UDM 映射表

日志字段 UDM 映射 逻辑
acct principal.user.user_display_name 原始日志的 msg 字段中的 acct 值。
acct target.user.user_display_name 原始日志的 msg 字段中的 acct 值。
addr principal.ip 原始日志的 msg 字段中的 addr 值。
a0 security_result.about.labels.value 原始日志的 msg 字段中的 a0 值,其中对应的 key 为“a0”。
a1 security_result.about.labels.value 原始日志的 msg 字段中 a1 的值,其中对应的 key 为“a1”。
a2 security_result.about.labels.value 原始日志的 msg 字段中 a2 的值,其中对应的 key 为“a2”。
a3 security_result.about.labels.value 原始日志的 msg 字段中 a3 的值,其中对应的 key 为“a3”。
arch security_result.about.platform_version 原始日志的 msg 字段中的 arch 值。仅适用于 type_name 系统调用。
auid about.user.userid 原始日志的 msg 字段中的 auid 值。
auid security_result.detection_fields.value 原始日志的 msg 字段中的 auid 值,其中对应的 key 为“auid”。
comm principal.application 原始日志的 msg 字段中的 comm 值。
cmd principal.process.command_line 原始日志的 msg 字段中的 cmd 值。
cwd security_result.detection_fields.value 原始日志的 msg 字段中 cwd 的值,其中对应的 key 为“cwd”。
cwd target.process.file.full_path 原始日志的 msg 字段中的 cwd 值。
exe principal.process.file.full_path 原始日志的 msg 字段中的 exe 值。
exe target.process.file.full_path 原始日志的 msg 字段中的 exe 值。
exit security_result.about.labels.value 原始日志的 msg 字段中的 exit 值,其中对应的 key 为“退出代码”。
hostname principal.hostname 原始日志的 msg 字段中的 hostname 值。原始日志的 msg 字段中的硬编码值“zing-h2”。
key security_result.about.registry.registry_key 原始日志的 msg 字段中的 key 值。仅适用于 type_name 系统调用。
log_type metadata.log_type 原始日志中的 log_type 值。
msg security_result.action_details 原始日志的 msg 字段中 res= 后面的值。
msg security_result.summary 原始日志的 msg 字段中的字段组合。例如,“session_open success”或“setcred success”。从原始日志中 msg 字段的 audit 部分解析而来。根据原始日志中的 type 字段进行映射。例如,“USER_START”映射到“USER_LOGIN”,“CRED_DISP”映射到“USER_LOGOUT”,“CRED_ACQ”映射到“USER_LOGIN”,“USER_END”映射到“USER_LOGOUT”,“CRED_REFR”映射到“USER_LOGIN”,“USER_CMD”映射到“USER_LOGIN”,“CWD”映射到“STATUS_UPDATE”,“PROCTITLE”映射到“STATUS_UPDATE”,“USER_ACCT”映射到“USER_UNCATEGORIZED”,“SYSCALL”映射到“USER_UNCATEGORIZED”。原始日志中 msg 字段的 type 字段的值。从原始日志中 msg 字段的 audit 部分提取。
node principal.hostname 原始日志的 msg 字段中的 node 值。
pid principal.process.pid 原始日志的 msg 字段中的 pid 值。
ppid principal.process.parent_process.pid 原始日志的 msg 字段中的 ppid 值。
proctitle target.process.file.full_path 原始日志的 msg 字段中 proctitle 的解码十六进制值。硬编码为“LINUX”。如果原始日志的 msg 字段中存在 res=success,则设置为“ALLOW”。
ses network.session_id 原始日志的 msg 字段中的 ses 值。
syscall security_result.about.labels.value 原始日志的 msg 字段中 syscall 的值,其中对应的 key 为“Syscall”。
success security_result.summary 与其他字段结合以形成摘要。对于 SYSCALL 事件,逻辑是:如果 success=yes,则为“yes, The System call succeeded”(是,系统调用成功),否则为“no, The System call failed”(否,系统调用失败)。
terminal principal.terminal 原始日志的 msg 字段中的 terminal 值。
timestamp timestamp 原始日志条目中的 timestamp 值。
tty principal.terminal 原始日志的 msg 字段中的 tty 值。
type metadata.product_event_type 原始日志的 msg 字段中的 type 值。
uid about.user.userid 原始日志的 msg 字段中的 uid 值。仅适用于 type_name 系统调用。
uid target.user.userid 原始日志的 msg 字段中的 uid 值。如果 type 为“USER_ACCT”,则设置为“SETTING”。

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