收集 Semperis DSP 日志

支持的环境:

本文档介绍了如何使用 Bindplane 代理将 Semperis Directory Services Protector (DSP) 日志注入 Google Security Operations。

Semperis Directory Services Protector (DSP) 是一个 Active Directory 威胁检测和响应平台,可监控 AD 更改和攻击,提供实时提醒和自动补救措施。解析器会从 DSP 日志条目中提取字段,并将其映射到统一数据模型 (UDM),捕获 AD 对象修改、身份验证事件、DNS 更改和安全结果。

准备工作

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

  • Google SecOps 实例
  • Windows Server 2016 或更高版本,或者具有 systemd 的 Linux 主机
  • Bindplane 代理与 Semperis DSP 服务器之间的网络连接
  • 如果通过代理运行,请确保防火墙端口根据 Bindplane 代理要求处于开放状态
  • 具有管理员权限的 Semperis DSP 管理控制台的特权访问权限

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

  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
    
  3. 等待安装完成。

  4. 运行以下命令,验证安装是否成功:

    sc query observiq-otel-collector
    

    该服务应显示为正在运行

Linux 安装

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

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. 等待安装完成。

  4. 运行以下命令,验证安装是否成功:

    sudo systemctl status observiq-otel-collector
    

    该服务应显示为 active (running)

其他安装资源

如需了解其他安装选项和问题排查信息,请参阅 Bindplane 代理安装指南

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

找到配置文件

  • Linux

    sudo nano /opt/observiq-otel-collector/config.yaml
    
  • Windows

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

修改配置文件

  • config.yaml 的全部内容替换为以下配置:

    receivers:
        tcplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/semperis_dsp:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: SEMPERIS_DSP
            raw_log_field: body
    
    service:
        pipelines:
            logs/semperis_dsp:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/semperis_dsp
    

配置参数

替换以下占位符:

  • 接收器配置

    • tcplog:基于协议的接收器类型:
      • UDP syslog 的 udplog
      • TCP syslog 的 tcplog
      • RFC 3164/5424 syslog 的 syslog
    • 0.0.0.0:要监听的 IP 地址:
      • 0.0.0.0,用于监听所有接口(推荐)
      • 用于监听一个接口的特定 IP 地址
    • 514:要监听的端口号(例如 51415146514
  • 导出器配置

    • <customer_id>:上一步中的客户 ID
    • malachiteingestion-pa.googleapis.com:区域级端点网址:
      • 美国malachiteingestion-pa.googleapis.com
      • 欧洲: europe-malachiteingestion-pa.googleapis.com
      • 亚洲: asia-southeast1-malachiteingestion-pa.googleapis.com
      • 如需查看完整列表,请参阅区域级端点
    • 根据平台调整 creds_file_path
      • Linux: /etc/bindplane-agent/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json

保存配置文件

  • 修改后,保存文件:
    • Linux:依次按 Ctrl+OEnterCtrl+X
    • Windows:依次点击文件 > 保存

重启 Bindplane 代理以应用更改

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

    sudo systemctl restart observiq-otel-collector
    
    1. 验证服务正在运行:

      sudo systemctl status observiq-otel-collector
      
    2. 检查日志中的错误:

      sudo journalctl -u observiq-otel-collector -f
      
  • 如需在 Windows 中重启 Bindplane 代理,请选择以下选项之一:

    • 以管理员身份运行命令提示符或 PowerShell:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • 服务控制台:

      1. Win+R,输入 services.msc,然后按 Enter 键。
      2. 找到 observIQ OpenTelemetry Collector
      3. 右键点击并选择重启
      4. 验证服务正在运行:

        sc query observiq-otel-collector
        
      5. 检查日志中的错误:

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

配置 Semperis DSP syslog 转发

  1. 登录 Semperis DSP 管理控制台。
  2. 依次前往设置 > SIEM 集成
  3. 启用 Syslog 转发。
  4. 提供以下配置详细信息:
    • 主机:输入 Bindplane 代理主机的 IP 地址(例如 192.168.1.100)。
    • 端口:输入 514(必须与 Bindplane 接收器端口匹配)。
    • 协议:选择 TCP (必须与 Bindplane 接收器类型匹配)。
  5. 点击保存

UDM 映射表

日志字段 UDM 映射 逻辑
event_type extensions.auth.type 如果 ObjectModificationType == "LoginADSM",则设置为“SSO”
host intermediary.hostname 直接复制值
ObjectModificationType metadata.description 直接复制值
event_type metadata.event_type 如果 ObjectModificationType == "CreateObject" 且 OriginatingUsers != "",则设置为 RESOURCE_CREATION;如果 ObjectModificationType == "ModifyObject" 且 OriginatingUsers != "" 且 AttributeName 包含“Password”,则设置为 RESOURCE_WRITTEN;如果 ObjectModificationType == "ModifyObject" 且 OriginatingUsers != "",则设置为 RESOURCE_WRITTEN;如果 ObjectModificationType == "DeleteObject" 且 OriginatingUsers != "",则设置为 RESOURCE_DELETION;如果 ObjectModificationType == "LoginADSM" 且 OriginatingUsers != "",则设置为 USER_LOGIN;如果 ObjectModificationType == "OperationRequest" 且 OriginatingUsers != "",则设置为 RESOURCE_WRITTEN;如果 principal_present == "true",则设置为 STATUS_UPDATE;如果 principal_user_present == "true",则设置为 USER_UNCATEGORIZED;否则设置为 GENERIC_EVENT
metadata.product_name 设置为“SEMPERIS_DSP”
metadata.vendor_name 设置为“SEMPERIS”
StringValueFrom network.dns.answers.data 清理后直接复制值
NameNode network.dns.answers.name 直接复制值
Ttl network.dns.answers.ttl 直接复制值,转换为 uinteger
Type network.dns.answers.type 如果 Type =~ "DNS_TYPE_A",则设置为“1”;如果 Type =~ "DNS_TYPE_PTR",则设置为“12”,转换为 uinteger
OriginatingServer principal.asset.hostname 直接复制值
ip principal.asset.ip 验证和清理后直接复制值
OriginatingServer principal.hostname 直接复制值
ip principal.ip 验证和清理后直接复制值
DistinguishedName principal.user.group_identifiers 直接合并值
ForestId principal.user.product_object_id 直接复制值
OriginatingUsers principal.user.userid 如果 OperationType != "LoginADSM",则直接复制值
security_action security_result.action 直接复制值
RequestedAction security_result.summary 如果 OperationResult =~ "Granted" 或 "Denied",则直接复制值
AttributeName target.resource.name 如果 AttributeName != "" 且 AttributeName != "isDeleted",则直接复制值
ClassName target.resource.resource_subtype 直接复制值
OriginatingUsers target.user.userid 如果 OperationType == "LoginADSM",则直接复制值

更新日志

查看此解析器的更新日志

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