收集 CA LDAP 日志

支持的平台:

本文档介绍了如何使用 Bindplane 代理将 CA LDAP 日志注入到 Google Security Operations。

CA Directory(以前称为 Symantec Directory)是基于 X.500 标准的 LDAP v2/v3 兼容目录服务器。它提供企业级目录服务,具有全面的日志记录功能,包括用于监控目录操作和安全事件的警报、跟踪、警告、查询、摘要、连接、诊断、更新和统计日志。

准备工作

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

  • Google SecOps 实例
  • Windows Server 2016 或更高版本,或者具有 systemd 的 Linux 主机
  • Bindplane 代理与 CA Directory 服务器之间的网络连接
  • 如果通过代理运行,请确保防火墙端口已根据 Bindplane 代理要求打开
  • 对 CA Directory 服务器的特权访问权限(根或管理员)
  • 已安装 CA 目录并配置为启用日志记录

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

    4. 运行以下命令来验证安装:

      sc query observiq-otel-collector
      

      该服务应显示为 RUNNING

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

    4. 运行以下命令来验证安装:

      sudo systemctl status observiq-otel-collector
      

      该服务应显示为有效(正在运行)

其他安装资源

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

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

找到配置文件

  • Linux:

    sudo nano /etc/bindplane-agent/config.yaml
    
  • Windows:

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

修改配置文件

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

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/ca_directory:
        compression: gzip
        creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: CA_LDAP
        raw_log_field: body
        ingestion_labels:
          env: production
          source: ca_directory
    
    service:
      pipelines:
        logs/ca_directory_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/ca_directory
    
  2. 替换以下占位符:

    • 接收器配置:

      • listen_address:设置为 0.0.0.0:514 可在 UDP 端口 514 上监听所有接口

        • 对于 Linux 非 root 安装,请使用端口 1514 或更高端口
        • 确保端口与 rsyslog 转发中配置的端口一致
    • 导出器配置:

      • creds_file_path:提取身份验证文件的完整路径:

        • Linux/etc/bindplane-agent/ingestion-auth.json
        • WindowsC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
      • customer_id:将 YOUR_CUSTOMER_ID 替换为您的 customer ID。如需了解详情,请参阅获取 Google SecOps 客户 ID

      • endpoint:区域端点网址:

        • 美国malachiteingestion-pa.googleapis.com
        • 欧洲europe-malachiteingestion-pa.googleapis.com
        • 亚洲asia-southeast1-malachiteingestion-pa.googleapis.com
      • log_type:设置为 CA_LDAP(CA Directory 的 Chronicle 提取标签)

      • ingestion_labels:用于过滤和组织的可选标签

保存配置文件

修改后,保存文件:

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

重启 Bindplane 代理以应用更改

  • 如需在 Linux 中重启 Bindplane 代理,请执行以下操作:

    1. 运行以下命令:

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

      sudo systemctl status observiq-otel-collector
      
    3. 检查日志是否存在错误:

      sudo journalctl -u observiq-otel-collector -f
      
  • 如需在 Windows 中重启 Bindplane 代理,请执行以下操作:

    1. 请从下列选项中选择一项:

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

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

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

      sc query observiq-otel-collector
      
    3. 检查日志是否存在错误:

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

使用 rsyslog 配置 CA LDAP syslog 转发

本部分介绍如何在 CA Directory 服务器上配置 rsyslog,以将日志转发到 Bindplane 代理。

确定 CA Directory 日志文件位置

CA Directory 将日志文件存储在以下位置:

  • Linux/opt/CA/Directory/dxserver/logs/
  • WindowsC:\Program Files\CA\Directory\dxserver\logs\

日志文件遵循基于 DSA 名称的命名模式(例如 democorp_alarmdemocorp_warndemocorp_trace)。

可用的日志类型

CA Directory 会生成以下类型的日志:

  • 报警日志:严重事件(始终处于启用状态)
  • 警告日志:错误和警告
  • 轨迹日志:详细的操作轨迹
  • 查询日志:包含时间戳的详细操作信息
  • 摘要日志:操作摘要
  • 连接日志:连接和断开连接事件
  • 诊断日志:被拒绝的操作
  • 统计信息日志:每分钟的运营统计信息
  • 更新日志:添加、修改、重命名和删除操作
  • 时间日志:操作时间信息

在 Linux 上配置 rsyslog

  1. 以 root 用户身份或使用 sudo 权限登录 CA Directory 服务器。

  2. 如果尚未安装 rsyslog,请安装:

    sudo yum install rsyslog
    

    或者对于 Debian/Ubuntu:

    sudo apt-get install rsyslog
    
  3. 为 CA Directory 创建新的 rsyslog 配置文件:

    sudo nano /etc/rsyslog.d/ca-directory.conf
    
  4. 添加以下配置以转发 CA Directory 日志:

    # Load the imfile module for file monitoring
    module(load="imfile" PollingInterval="10")
    
    # Monitor CA Directory alarm logs
    input(type="imfile"
        File="/opt/CA/Directory/dxserver/logs/*_alarm*"
        Tag="ca-directory-alarm"
        Severity="error"
        Facility="local0")
    
    # Monitor CA Directory warn logs
    input(type="imfile"
        File="/opt/CA/Directory/dxserver/logs/*_warn*"
        Tag="ca-directory-warn"
        Severity="warning"
        Facility="local0")
    
    # Monitor CA Directory trace logs
    input(type="imfile"
        File="/opt/CA/Directory/dxserver/logs/*_trace*"
        Tag="ca-directory-trace"
        Severity="info"
        Facility="local0")
    
    # Monitor CA Directory query logs
    input(type="imfile"
        File="/opt/CA/Directory/dxserver/logs/*_query*"
        Tag="ca-directory-query"
        Severity="info"
        Facility="local0")
    
    # Monitor CA Directory connection logs
    input(type="imfile"
        File="/opt/CA/Directory/dxserver/logs/*_connection*"
        Tag="ca-directory-connection"
        Severity="info"
        Facility="local0")
    
    # Monitor CA Directory update logs
    input(type="imfile"
        File="/opt/CA/Directory/dxserver/logs/*_update*"
        Tag="ca-directory-update"
        Severity="info"
        Facility="local0")
    
    # Forward all CA Directory logs to Bindplane agent
    if $syslogtag contains 'ca-directory' then @@BINDPLANE_AGENT_IP:514
    & stop
    
  5. BINDPLANE_AGENT_IP 替换为 Bindplane 代理主机 IP 地址:

    • 如果 Bindplane 代理位于同一服务器上:127.0.0.1
    • 如果 Bindplane 代理位于其他服务器上:请输入 IP 地址(例如 192.168.1.100
  6. 保存配置文件:

    依次按 Ctrl+OEnterCtrl+X

  7. 验证 rsyslog 配置语法:

    sudo rsyslogd -N1
    
  8. 重启 rsyslog 服务:

    sudo systemctl restart rsyslog
    
  9. 验证 rsyslog 是否正在运行:

    sudo systemctl status rsyslog
    
  10. 检查 rsyslog 日志是否存在错误:

    sudo tail -f /var/log/messages
    

在 Windows 上配置 rsyslog

  1. rsyslog 网站下载并安装适用于 Windows 的 rsyslog。

  2. 打开 rsyslog 配置文件:

    notepad "C:\Program Files\rsyslog\rsyslog.conf"
    
  3. 添加以下配置:

    # Load the imfile module for file monitoring
    module(load="imfile" PollingInterval="10")
    
    # Monitor CA Directory alarm logs
    input(type="imfile"
        File="C:\\Program Files\\CA\\Directory\\dxserver\\logs\\*_alarm*"
        Tag="ca-directory-alarm"
        Severity="error"
        Facility="local0")
    
    # Monitor CA Directory warn logs
    input(type="imfile"
        File="C:\\Program Files\\CA\\Directory\\dxserver\\logs\\*_warn*"
        Tag="ca-directory-warn"
        Severity="warning"
        Facility="local0")
    
    # Monitor CA Directory trace logs
    input(type="imfile"
        File="C:\\Program Files\\CA\\Directory\\dxserver\\logs\\*_trace*"
        Tag="ca-directory-trace"
        Severity="info"
        Facility="local0")
    
    # Forward all CA Directory logs to Bindplane agent
    if $syslogtag contains 'ca-directory' then @@BINDPLANE_AGENT_IP:514
    & stop
    
  4. BINDPLANE_AGENT_IP 替换为 Bindplane 代理主机 IP 地址。

  5. 保存配置文件。

  6. 重启 rsyslog 服务:

    net stop rsyslog
    net start rsyslog
    

启用 CA Directory 日志记录

确保在 CA Directory 中启用了所需的日志类型:

  1. 修改 DSA 配置文件:

    • Linux/opt/CA/Directory/dxserver/config/servers/democorp.dxc
    • WindowsC:\Program Files\CA\Directory\dxserver\config\servers\democorp.dxc
  2. 验证或添加以下日志记录设置:

        set alarm-log = true;
        set warn-log = true;
        set trace-log = true;
        set query-log = true;
        set connection-log = true;
        set update-log = true;
    
  3. 保存配置文件。

  4. 重启 CA Directory DSA:

    • Linux

      dxserver stop democorp
      dxserver start democorp
      
    • Windows

      net stop "CA Directory DSA - democorp"
      net start "CA Directory DSA - democorp"
      

验证日志转发

  1. 通过执行 LDAP 查询或身份验证尝试,在 CA Directory 中生成测试活动。

  2. 检查 Bindplane 代理日志,验证是否正在接收日志:

    • Linux

      sudo journalctl -u observiq-otel-collector -f
      
    • Windows

      type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
      
  3. 登录 Google SecOps 控制台,并验证 CA Directory 日志是否显示在日志查看器中。

如需详细了解 CA Directory 日志记录,请参阅 Broadcom CA Directory 文档

如需查看详细的 rsyslog 配置示例,请参阅 Broadcom 知识库中关于集中式日志记录的文章

UDM 映射表

日志字段 UDM 映射 逻辑
agent.ephemeral_id、logstash.irm_region、logstash.irm_environment、logstash.irm_site、host.os.name additional.fields 合并为标签,键分别为“ephemeral_id”“irm_region”“irm_environment”“irm_site”“os_name”
host.architecture hardware.cpu_platform 直接复制值
logstash.process.host intermediary.hostname 直接复制值
logstash.collect.timestamp metadata.collected_timestamp 使用日期过滤条件解析为时间戳
msg metadata.description 直接复制值
metadata.event_type 设置为“STATUS_UPDATE”
agent.type, agent.version observer.application 如果两者均不为空,则串联为“%{agent.type} %{agent.version}”,否则为“%{agent.type}”
agent.type, agent.id observer.asset_id 串联为“%{agent.type}: %{agent.id}”
agent.hostname observer.hostname 直接复制值
host.id principal.asset.asset_id 串联为“CA_LDAP:%{host.id}”
硬件 principal.asset.hardware 从硬件对象合并而来
host.hostname principal.hostname 直接复制值
host.ip principal.ip 从 host.ip 数组合并
host.mac principal.mac 从 host.mac 数组合并
host.os.family principal.platform 如果匹配“(rhel|redhat)”,则设置为“LINUX”
host.os.kernel principal.platform_patch_level 直接复制值
host.os.version principal.platform_version 直接复制值
log.file.path principal.process.file.full_path 直接复制值
syslog_severity security_result.severity 如果匹配“(?i)(DEFAULT|DEBUG|INFO|NOTICE)”,则设置为“INFORMATIONAL”;如果匹配“(?i)ERROR”,则设置为“ERROR”;如果匹配“(?i)WARNING”,则设置为“MEDIUM”;如果匹配“(?i)(CRITICAL|ALERT|EMERGENCY)”,则设置为“HIGH”
syslog_severity security_result.severity_details 直接复制值
metadata.product_name 设置为“CA_LDAP”
metadata.vendor_name 设置为“CA_LDAP”

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