收集 CA LDAP 日志

解析器版本:2.0

支持:

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

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

准备工作

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

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

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

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

      sc query observiq-otel-collector
      

      该服务应显示为正在运行。

  • 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 /opt/observiq-otel-collector/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:
        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
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: chronicle.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:服务账号 JSON 密钥文件的完整路径(选项 1):

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

      • location:将 <LOCATION> 替换为 Google SecOps 实例的区域(例如 us、europe 或 asia-southeast1)。导出器会使用此值作为 chronicle.googleapis.com 的前缀。如需查看完整列表,请参阅区域级端点。

      • project:将 <PROJECT_NUMBER> 替换为 IAM 和管理 > 设置中的项目编号。

      • endpoint:保持设置为 chronicle.googleapis.com。

      • log_type:设置为 CA_LDAP(CA Directory 的 Chronicle 注入标签)

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

旧版提取 API 导出工具

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

    exporters:
      chronicle/ca_directory:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/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
    

保存配置文件

修改后,保存文件:

  • Linux:依次按 Ctrl+O、Enter 和 Ctrl+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 目录服务器上配置 rsyslog,以便将日志转发到 Bindplane 代理。

确定 CA Directory 日志文件位置

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

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

日志文件遵循基于 DSA 名称的命名模式(例如 democorp_alarm、democorp_warn、democorp_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+O、Enter、Ctrl+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
    • Windows:C:\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 专业人士的解答。