收集 Varonis 日志

支持的语言:

本文档介绍了如何使用 Bindplane 将 Varonis 日志注入到 Google Security Operations。解析器使用 Grok 模式从日志(SYSLOG + KV (CEF)、LEEF)中提取字段,专门处理 CEF、LEEF 和其他 Varonis 特有的格式。然后,它会将提取的字段映射到统一数据模型 (UDM),处理各种数据格式和极端情况,以确保表示形式一致。

准备工作

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

  • Google SecOps 实例
  • Windows 2016 或更高版本,或者具有 systemd 的 Linux 主机
  • 如果在代理后运行,防火墙端口处于开放状态
  • 对 Varonis 的特权访问权限

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

  1. 登录 Google SecOps 控制台。
  2. 依次前往 SIEM 设置 > 收集代理
  3. 下载注入身份验证文件。将该文件安全地保存在将要安装 Bindplane 的系统上。

获取 Google SecOps 客户 ID

  1. 登录 Google SecOps 控制台。
  2. 依次前往 SIEM 设置 > 配置文件
  3. 复制并保存组织详细信息部分中的客户 ID

安装 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 上的 /etc/bindplane-agent/ 目录中或 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:
            compression: gzip
            # Adjust the path to the credentials file you downloaded in Step 1
            creds: '/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
            ingestion_labels:
                log_type: 'VARONIS'
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. 根据基础架构的需要替换端口和 IP 地址。

  4. <customer_id> 替换为实际的客户 ID。

  5. /path/to/ingestion-authentication-file.json 更新为获取 Google SecOps 提取身份验证文件部分中保存身份验证文件的路径。

重启 Bindplane 代理以应用更改

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

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

    net stop BindPlaneAgent && net start BindPlaneAgent
    

在 Varonis 中配置 Syslog 导出

  1. 登录 Varonis 网页界面。
  2. 依次前往工具 > DatAlert > 选择 DatAlert
  3. 选择配置
  4. 提供以下配置详细信息:
    • Syslog 消息 IP 地址:输入 Bindplane 代理 IP 地址。
    • 端口:输入 Bindplane 代理端口号(例如,UDP514)。
    • 设施名称:选择设施。
  5. 点击应用

在 Varonis 中配置 Syslog 格式

  1. 依次前往工具 > DatAlert > 提醒模板
  2. 点击修改提醒模板,然后选择外部系统默认模板
  3. 应用于提醒方法中,从列表中选择 Syslog 消息
  4. 从菜单中依次选择规则 > 提醒方法
  5. 选择 Syslog 消息
  6. 点击确定

UDM 映射表

日志字段 UDM 映射 逻辑
act security_result.summary CEF 消息中 act 字段的值。
cn1 security_result.rule_id CEF 消息中 cn1 字段的值。
cs1 network.email.to CEF 消息中 cs1 字段的值,具体是指电子邮件收件人。
cs2 security_result.rule_name CEF 消息中 cs2 字段的值。
device_version metadata.product_version CEF 消息中 device_version 字段的值。
dhost principal.hostname CEF 消息中 dhost 字段的值,表示主主机名。如果存在 file_server 且不为“DirectoryServices”,则会覆盖此值。
duser target.user.userid CEF 消息中 duser 字段的值。进行 gsub 转换以移除反斜杠,并拆分为 target.user.useridtarget.administrative_domain
dvchost target.hostname CEF 消息中 dvchost 字段的值。
filePath target.file.full_path CEF 消息中 filePath 字段的值。
rt metadata.event_timestamp CEF 消息中 rt 字段的值,解析为时间戳。
severity security_result.severity CEF 消息或 LEEF 消息中 severity 字段的值。已转换为大写。根据数值或关键字映射到 UDM 严重程度值(低、信息、中、高、严重)。
Acting Object target.user.user_display_name 键值数据中 Acting Object 字段的值。按“\”拆分以提取显示名。
Acting Object SAM Account Name target.user.userid 键值数据中 Acting Object SAM Account Name 字段的值。
Device hostname target.hostname 键值数据中 Device hostname 字段的值。
Device IP address target.ip 键值数据中 Device IP address 字段的值。
Event Time metadata.event_timestamp 键值数据中 Event Time 字段的值,解析为时间戳。
Event Type target.applicationmetadata.event_type 键值数据中 Event Type 字段的值。用于派生 metadata.event_type(FILE_OPEN、USER_CHANGE_PERMISSIONS、USER_CHANGE_PASSWORD、USER_UNCATEGORIZED)。
File Server/Domain principal.hostname 键值数据中 File Server/Domain 字段的值。如果不是“DirectoryServices”,则会覆盖从 dhost 派生的 principal.hostname
Path target.file.full_path 键值数据中 Path 字段的值。
Rule Description metadata.description 键值数据中 Rule Description 字段的值。
Rule ID security_result.rule_id 键值数据中 Rule ID 字段的值。
Rule Name security_result.rule_name 键值数据中 Rule Name 字段的值。
intermediary_host intermediary.hostname 由 grok 提取的值,表示中间主机名。
log_type metadata.log_type 硬编码为 VARONIS
metadata.event_type metadata.event_type 根据 evt_typactfilepath 的值派生。如果 event_type 为 GENERIC_EVENT 且存在 principal_hostname,则默认为 STATUS_UPDATE。
metadata.product_name metadata.product_name 硬编码为 VARONIS,但可被来自 LEEF 消息的 product_name 字段覆盖。
metadata.vendor_name metadata.vendor_name 硬编码为 VARONIS,但可被来自 LEEF 消息的 vendor 字段覆盖。
prin_host principal.hostname 由 grok 提取的值,表示主主机名。
product_name metadata.product_name 来自 LEEF 消息的值。
security_result.action security_result.action 派生自 resultEvent Status 字段。如果结果为 Success,则设置为“ALLOW”,否则设置为 BLOCK
timestamp timestampmetadata.event_timestamp 系统会根据可用性从各种字段(datetime1event_timestart_datetimedatetime2)中派生出事件时间戳。如果没有任何其他时间戳字段,则原始日志中的 create_time 会用作后备,并同时映射到 timestampmetadata.event_timestamp
vendor metadata.vendor_name 来自 LEEF 消息的值。

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