收集 Infoblox RPZ 記錄

支援:

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

Infoblox 回應政策區域 (RPZ) 是一項 DNS 安全防護功能,可根據威脅情報動態消息和自訂政策,封鎖對惡意網域的 DNS 查詢。並以系統記錄格式產生 RPZ 政策命中和遭封鎖查詢的記錄。

事前準備

請確認您已完成下列事前準備事項:

  • Google SecOps 執行個體
  • Windows Server 2016 以上版本,或搭載 systemd 的 Linux 主機
  • Bindplane 代理程式與 Infoblox NIOS 設備之間的網路連線
  • 如果透過 Proxy 執行,請確保防火牆通訊埠已根據 Bindplane 代理程式需求開啟
  • Infoblox Grid Manager 或 NIOS 裝置的特殊存取權

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

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

  • 新部署作業:使用 Chronicle API (選項 1)。
  • 舊版部署作業:繼續使用擷取驗證檔案 (選項 2),直到 Ingestion API 於 2027 年 7 月 20 日停用。
  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"
    

編輯設定檔

  • 將 config.yaml 的全部內容替換為下列設定:

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/infoblox_rpz:
        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: '<customer_id>'
        endpoint: chronicle.googleapis.com
        log_type: INFOBLOX_RPZ
        raw_log_field: body
        ingestion_labels:
          env: production
    
    service:
      pipelines:
        logs/rpz_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/infoblox_rpz
    

設定參數

替換下列預留位置:

  • 接收器設定:

    • udplog:依通訊協定區分的接收端類型:
      • UDP syslog 的 udplog
      • tcplog (適用於 TCP Syslog)
    • 0.0.0.0:要監聽的 IP 位址:
      • 0.0.0.0:在所有介面上監聽 (建議)
      • 監聽單一介面的特定 IP 位址
    • 514:要監聽的通訊埠編號 (例如 514、1514、6514)
  • Exporter 設定:

    • infoblox_rpz:匯出工具的說明名稱
    • 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>:上一步取得的客戶 ID
    • location:將 <LOCATION> 替換為 Google SecOps 執行個體的區域 (例如 us、europe 或 asia-southeast1)。匯出工具會在這個值前面加上 chronicle.googleapis.com。如需完整清單,請參閱「區域性端點」。
    • project:將 <PROJECT_NUMBER> 替換為「IAM 與管理」>「設定」中的專案編號。
    • endpoint:請將此值設為 chronicle.googleapis.com。
    • INFOBLOX_RPZ:記錄類型,與 Chronicle 中顯示的完全相同
    • ingestion_labels:YAML 格式的選用標籤 (例如 env: production)
  • 管道設定:

    • rpz_to_chronicle:管道的說明名稱

舊版 Ingestion API 匯出工具

  • 如果您使用方式 2 的擷取驗證檔案,請將 exporters 區塊替換成下列內容。將 creds_file_path 設為擷取驗證檔案的路徑。如果執行個體位於美國境外,請將 malachiteingestion-pa.googleapis.com 替換為區域端點 (例如 europe-malachiteingestion-pa.googleapis.com)。

    exporters:
      chronicle/infoblox_rpz:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: INFOBLOX_RPZ
        raw_log_field: body
        ingestion_labels:
          env: production
    

儲存設定檔

  • 編輯完畢後,請儲存檔案:
    • Linux:依序按下 Ctrl+O、Enter 和 Ctrl+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"
        

設定 Infoblox RPZ 系統記錄轉送

  1. 登入 Infoblox Grid Manager。
  2. 依序前往「Grid」>「Grid Properties」>「Monitoring」。
  3. 在「系統記錄檔」下方,按一下「新增」,設定外部系統記錄檔伺服器。
  4. 請提供下列設定詳細資料:
    • 系統記錄伺服器位址:輸入 Bindplane 代理程式主機的 IP 位址 (例如 192.168.1.100)。
    • 「Port」(通訊埠):輸入 514 (必須與 Bindplane 代理接收器通訊埠相符)。
    • 「通訊協定」:選取「UDP」。
    • 嚴重性:選取「資訊」或以上,即可擷取 RPZ 事件。
  5. 按一下「Save & Close」。
  6. 確認相關 DNS 檢視表已啟用 RPZ 查詢記錄功能:
    1. 依序前往「資料管理」>「DNS」>「區域」。
    2. 選取 RPZ 區域。
    3. 確認 RPZ 政策命中已啟用「Logging」(記錄)。
  7. 檢查 Bindplane 代理程式記錄,確認系統是否收到 Syslog 訊息。

UDM 對應表

記錄欄位 UDM 對應 邏輯
serverIp intermediary.asset.ip 已合併
serverIp intermediary.ip 已合併
descrip metadata.description 直接對應
msg metadata.description 直接對應
syslogTimestamp metadata.event_timestamp 已剖析為 dd-MMM-yyyy HH:mm:ss.SSS
ts metadata.event_timestamp 已剖析為 MMM dd HH:mm:ss
event_type metadata.event_type 直接對應
device_event_class_id metadata.product_event_type 直接對應
evt_type metadata.product_event_type 直接對應
device_version metadata.product_version 直接對應
dns network.dns 已重新命名/對應
protocol network.ip_protocol 直接對應
dnsDomain principal.asset.hostname 直接對應
clientIp principal.asset.ip 已合併
dnsDomain principal.hostname 直接對應
clientIp principal.ip 已合併
srcPort principal.port 直接對應
severity security_result.severity 對應值 (共 5 個,例如 "0", "1", "2", "3", "LOW" → LOW、`"informational", "INFORMA...
dnsServerIp target.asset.ip 已合併
dnsServerIp target.ip 已合併
不適用 metadata.product_event_type 常數:DNS Query
不適用 metadata.product_name 常數:NIOS
不適用 metadata.vendor_name 常數:INFOBLOX
不適用 network.application_protocol 常數:DNS
不適用 security_result.severity 常數:LOW

變更記錄

查看這個剖析器的變更記錄

還有其他問題嗎?向社群成員和 Google SecOps 專家尋求解答。