收集 CA LDAP 記錄

剖析器版本:2.0

支援:

本文說明如何使用 Bindplane 代理程式,將 CA LDAP 記錄擷取至 Google Security Operations。

CA Directory (舊稱 Symantec Directory) 是符合 LDAP v2/v3 標準的目錄伺服器,採用 X.500 標準。這項服務提供企業級目錄服務,以及全方位的記錄功能,包括警報、追蹤、警告、查詢、摘要、連線、診斷、更新和統計資料記錄,可監控目錄作業和安全性事件。

事前準備

請確認您符合下列必要條件:

  • Google SecOps 執行個體
  • Windows Server 2016 以上版本,或搭載 systemd 的 Linux 主機
  • Bindplane 代理程式與 CA 目錄伺服器之間的網路連線
  • 如果是在 Proxy 後方執行,請確認防火牆通訊埠已按照 Bindplane 代理程式規定開啟
  • CA 目錄伺服器的特殊權限存取權 (根或管理員)
  • 已安裝並設定 CA Directory,且已啟用記錄功能

取得 Bindplane 代理程式的 Google SecOps 憑證

如要向 Google SecOps 驗證 Bindplane 代理程式,請選擇下列其中一種方法:

  • 新部署作業:使用 Chronicle API (選項 1)。
  • 舊版部署作業:在 2027 年 7 月 20 日停用 Ingestion API 前,請繼續使用擷取驗證檔案 (選項 2)。
  1. 登入 Google Cloud 控制台,選取連結至 Google SecOps 執行個體的 Google Cloud 專案。
  2. 依序前往 「IAM & Admin」(IAM 與管理) >「Service Accounts」(服務帳戶)。
  3. 按一下「建立服務帳戶」。
  4. 提供下列設定詳細資料:
    • 「Service account name」(服務帳戶名稱):輸入帳戶名稱 (例如 bindplane-ingest)。
    • 「服務帳戶說明」:輸入說明 (例如 Bindplane agent log ingestion)。
  5. 點按「Create and continue」(建立並繼續)。
  6. 在「將專案存取權授予這個服務帳戶」部分,按一下「選取角色」,然後選取「Chronicle 編輯者」。
  7. 依序點選「繼續」和「完成」。
  8. 按一下您建立的服務帳戶,然後前往「金鑰」分頁標籤。
  9. 依序點選「新增金鑰」>「建立新的金鑰」。
  10. 選取「JSON」,然後點選「建立」。金鑰檔案會下載到電腦。
  11. 將金鑰檔案儲存為 Bindplane 收集器目錄中的 ingestion-auth.json (Linux 上的 /opt/observiq-otel-collector/ingestion-auth.json 或 Windows 上的 C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json),或更新 config.yaml 中的 creds_file_path,使其與儲存路徑相符。
  12. 依序前往「IAM & Admin」(IAM 與管理) >「Settings」(設定),然後複製「Project number」(專案編號)。設定匯出工具時會用到。

方法 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
      

      服務應顯示為「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
      

      服務應顯示為「active (running)」。

其他安裝資源

如需其他安裝選項和疑難排解資訊,請參閱 Bindplane 代理程式安裝指南。

設定 Bindplane 代理程式,擷取系統記錄並傳送至 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 中以非根使用者身分安裝,請使用 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:依序前往「IAM 與管理」>「設定」,然後將 <PROJECT_NUMBER> 替換為專案編號。

      • endpoint:維持設為 chronicle.googleapis.com。

      • log_type:設為 CA_LDAP (CA 目錄的 Chronicle 擷取標籤)

      • ingestion_labels:用於篩選和整理的選用標籤

舊版 Ingestion 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 Collector」。
        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 目錄記錄檔位置

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 目錄建立新的 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 目錄記錄功能

請確認 CA 目錄已啟用必要的記錄類型:

  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 專業人員尋求解答。