收集 IBM Guardium 記錄

支援的服務:

本文說明如何使用 Bindplane,將 IBM Guardium 記錄檔擷取至 Google Security Operations。

IBM Guardium 是資料庫活動監控和資料保護平台,可即時監控、稽核及保護資料庫和檔案系統。Guardium 提供安全漏洞評估、資料探索與分類、資料庫活動監控,以及法規遵循報告功能。

事前準備

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

  • Google SecOps 執行個體
  • Windows Server 2016 以上版本,或搭載 systemd 的 Linux 主機
  • Bindplane 代理程式與 IBM Guardium Collector 之間的網路連線
  • 如果透過 Proxy 執行,請確保防火牆通訊埠已根據 Bindplane 代理程式需求開啟
  • IBM Guardium CLI 的特殊存取權
  • IBM Guardium 9.1 以上版本,支援加密系統記錄 (選用)

取得 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. 開啟具有根層級或 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/guardium:
        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: GUARDIUM
        raw_log_field: body
        ingestion_labels:
          log_source: guardium
    
    service:
      pipelines:
        logs/guardium_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/guardium
    

設定參數

替換下列預留位置:

  • 接收器設定:

    • 如果是 UDP syslog (Guardium 最常見),請使用 udplog。
    • 視需要使用 tcplog 進行 TCP Syslog。
    • 監聽位址 0.0.0.0:514 會監聽通訊埠 514 上的所有介面。
  • Exporter 設定:

    • 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。
    • log_type:必須是 GUARDIUM。
    • ingestion_labels:YAML 格式的選用標籤。

舊版 Ingestion API 匯出工具

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

    exporters:
      chronicle/guardium:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: GUARDIUM
        raw_log_field: body
        ingestion_labels:
          log_source: guardium
    

儲存設定檔

編輯完畢後,請儲存檔案:

  • 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"
        

設定 IBM Guardium syslog 轉送

透過 CLI 設定 syslog 目的地

如要為 IBM Guardium 上的事件建立 syslog 目的地,您必須登入指令列介面,並定義 Bindplane 代理程式主機的 IP 位址。

  1. 使用 SSH 以 CLI 使用者身分登入 IBM Guardium Collector。
  2. 輸入下列指令,設定 syslog 目的地:

    • UDP syslog (建議):

      store remotelog add non_encrypted daemon.all BINDPLANE_AGENT_IP udp
      
    • TCP syslog:

      store remotelog add non_encrypted daemon.all BINDPLANE_AGENT_IP:514 tcp
      
    • 特定嚴重性等級:

      store remotelog add non_encrypted daemon.alert BINDPLANE_AGENT_IP udp
      store remotelog add non_encrypted daemon.err BINDPLANE_AGENT_IP udp
      store remotelog add non_encrypted daemon.warning BINDPLANE_AGENT_IP udp
      
      • 將 BINDPLANE_AGENT_IP 替換為主機的 IP 位址,該主機須已安裝 Bindplane 代理程式。
  3. 執行下列指令,確認設定:

    show remotelog
    

    輸出內容應會顯示您設定的遠端系統記錄目的地。

設定加密的系統記錄 (選用)

如需轉送加密的系統記錄,IBM Guardium 9.1 以上版本支援透過 TCP 進行 TLS 加密。

  1. 從遠端系統記錄接收器使用的憑證授權單位取得 PEM 格式的公開憑證。
  2. 登入 Guardium Collector 的 CLI。
  3. 輸入以下指令:

    store remotelog add encrypted daemon.all BINDPLANE_AGENT_IP:6514 tcp
    
  4. 系統提示時,請貼上 PEM 格式的 CA 憑證 (包括 BEGIN 和 END 行),然後按下 Ctrl+D。

  5. Guardium 會將憑證儲存為 /etc/pki/rsyslog/ca.pem。

設定訊息範本 (選用)

Guardium 支援多種訊息格式,包括 CEF (通用事件格式) 和 LEEF (記錄事件擴充格式)。預設格式適用於大多數部署作業。

如要自訂訊息範本,請按照下列步驟操作:

  1. 以具備管理員權限的使用者身分,登入 Guardium 設備 GUI。
  2. 依序前往「管理控制台」>「Configuration」>「Global Profile」。
  3. 在「訊息範本」部分,以所需格式編輯範本。
  4. 按一下 [儲存]。

設定政策,將快訊傳送至系統記錄

IBM Guardium 中的政策負責回應事件,並將事件資訊轉送至遠端系統記錄接收器。

設定政策警告動作

  1. 登入 Guardium 設備 GUI。
  2. 按一下「工具」分頁標籤。
  3. 選取左側導覽列中的「政策建立工具」。
  4. 在「政策搜尋器」窗格中,選取現有政策,然後按一下「編輯規則」。
  5. 按一下「個別編輯這項規則」。
  6. 系統會顯示「Access Rule Definition」(存取規則定義)。
  7. 按一下「新增動作」。
  8. 從「Action」(動作) 清單中,選取下列其中一種快訊類型:
    • 每次相符時發出快訊:每次違反政策時,系統都會發出通知。
    • 每日快訊:當天首次發生違反政策的情況時,系統會發出通知。
    • 每個工作階段一次警示:如果工作階段違反政策,系統會發出通知。
    • 依時間精細程度發出快訊:系統會依據您選取的時間範圍提供通知。
  9. 從「訊息範本」清單中選取所需範本,或保留「預設」。
  10. 從「通知類型」選取「SYSLOG」。
  11. 依序點選「新增」和「套用」。
  12. 按一下 [儲存]。
  13. 針對政策中要轉送至 Google SecOps 的所有規則,重複執行這項程序。

安裝政策

IBM Guardium 中任何新增或編輯的政策都必須先安裝,才能更新快訊動作或規則變更。

  1. 按一下「管理控制台」分頁標籤。
  2. 在左側導覽選單中,依序選取 「設定」 > 「政策安裝」。
  3. 在「Policy Installer」窗格中,選取您在上一個步驟中修改的政策。
  4. 在下拉式選單中,選取「安裝並覆寫」。
  5. 系統會顯示確認訊息,要求您將政策安裝至所有檢查引擎。
  6. 按一下 [確定]。

UDM 對應表

記錄欄位 UDM 對應 邏輯
deviceNtDomain about.administrative_domain 關於實體的管理網域
deviceExternalId about.asset.asset_id 資產 ID
filePath、fileHash about.file.full_path 檔案的完整路徑
_hash、fileHash about.file.sha256 檔案的 SHA256 雜湊
fsize about.file.size 檔案大小
dvchost about.hostname 相關實體的主機名稱
dvc about.ip 相關實體的 IP 位址
smac、dmac、dvcmac about.mac 關於實體的 MAC 位址
deviceProcessName、Subject、Emne、Path about.process.command_line 程序的指令列
dvcpid about.process.pid 程序 ID
filePermission about.resource.attribute.permissions 與資源相關聯的權限
extensions.auth.type 驗證類型
sender_ip intermediary.ip 中介者的 IP 位址
中介 中介實體詳細資料
Received, Generated, timestamp metadata.collected_timestamp 收集事件的時間戳記
msg, signature_name metadata.description 事件說明
metadata.event_type 事件類型 (例如 USER_LOGIN、NETWORK_CONNECTION)
device_event_class_id、event_name、eventType metadata.product_event_type 產品專屬事件類型
externalId metadata.product_log_id 產品記錄 ID
metadata.product_version 產品版本
network.application_protocol 網路連線中使用的應用程式通訊協定
deviceDirection network.direction 網路流量方向
requestMethod network.http.method 要求中使用的 HTTP 方法
requestClientApplication network.http.user_agent HTTP 要求中的使用者代理程式字串
proto network.ip_protocol 使用的 IP 通訊協定
在 network.received_bytes 接收的位元組數
out network.sent_bytes 傳送的位元組數
session_id network.session_id 網路連線的工作階段 ID
sntdom、Domain、Domene principal.administrative_domain 主體的管理網域
sourceServiceName、source_program principal.application 與主體相關聯的應用程式
prin_host、Device_name、Enhetsnavn、shost、principal_hostname、client_hostname principal.asset.hostname 主體資產的主機名稱
sender_ip、src_ip、src、principal_ip、client_ip principal.asset.ip 主要資產的 IP 位址
Group_name, Gruppenavn principal.group.group_display_name 主體群組的顯示名稱
prin_host、Device_name、Enhetsnavn、shost、principal_hostname、client_hostname principal.hostname 主體的主機名稱
sender_ip、src_ip、src、principal_ip、client_ip principal.ip 主體的 IP 位址
smac principal.mac 主體的 MAC 位址
sourceTranslatedAddress principal.nat_ip 主體的 NAT IP 位址
sourceTranslatedPort principal.nat_port 主體的 NAT 通訊埠
spt、client_port principal.port 主體使用的通訊埠
sproc principal.process.command_line 主體程序的指令列
spid principal.process.pid 主體的程序 ID
spriv principal.user.attribute.roles 與主體使用者相關聯的角色
suser、usrName、CustomerName principal.user.user_display_name 主體使用者的顯示名稱
dbUser、usrName、db_user、os_user、suid、db_username principal.user.userid 主體的使用者 ID
security_result 安全性結果詳細資料
security_result.action 安全性結果中採取的動作
act, Action_Taken security_result.action_details 採取的行動詳情
cat security_result.category_details 安全性結果的類別詳細資料
msg_data_2、alert_description、Type、Scan_Type security_result.description 安全性結果說明
operation_label、operasjon_label、permission_label、tillatelse_label、infection_channel_label、spyware_Grayware_Type_label、threat_probability_label security_result.detection_fields 安全結果中用於偵測的欄位
mwProfile, alert_name security_result.rule_name 觸發安全性結果的規則名稱
severity、event_severity security_result.severity 安全結果的嚴重性等級
reason, ruleDesc, appcategory, Result security_result.summary 安全性結果摘要
Spyware, Virus_Malware_Name, Unknown_Threat security_result.threat_name 偵測到的威脅名稱
oldFilePath src.file.full_path 來源檔案的完整路徑
oldFileSize src.file.size 來源檔案大小
oldFilePermission src.resource.attribute.permissions 來源資源的權限
os_user src.user.userid 來源使用者的使用者 ID
dntdom target.administrative_domain 目標的管理網域
destinationServiceName, service_name target.application 與目標相關聯的應用程式
prin_host、dest_host、server_hostname target.asset.hostname 目標資產的主機名稱
dst_ip、dest_ip、server_ip、IPv6_Address target.asset.ip 目標資產的 IP 位址
temp_dhost、dest_host、server_hostname target.hostname 目標主機名稱
dst_ip、dst、dest_ip、server_ip、IPv6_Address target.ip 目標的 IP 位址
dmac target.mac 目標的 MAC 位址
destinationTranslatedAddress target.nat_ip 目標的 NAT IP 位址
destinationTranslatedPort target.nat_port 目標的 NAT 通訊埠
dpt、dstPort、dest_port、server_port target.port 目標使用的通訊埠
dproc、full_sql target.process.command_line 目標程序的指令列
File_name、Object、Objekt、Infected_Resource target.process.file.full_path 目標程序檔案的完整路徑
dpid, full_sql_id target.process.pid 目標的程序 ID
session_start target.resource.attribute.creation_time 目標資源的建立時間
additional_environment_name、additional_db_protocol_version、additional_dbProtocolVersion、additional_operation_name、additional_signature_id、resource_Type_label target.resource.attribute.labels 與目標資源相關聯的標籤
session_end target.resource.attribute.last_update_time 目標資源的上次更新時間
db_name, database_name target.resource.name 目標資源名稱
db_type、server_type target.resource.resource_subtype 目標資源的子類型
target.resource.resource_type 目標資源類型
要求 target.url 與目標相關聯的網址
dpriv, roles target.user.attribute.roles 與目標使用者相關聯的角色
temp_duser, CustomerName target.user.user_display_name 目標使用者的顯示名稱
temp_duid、User、Bruker、db_username target.user.userid 目標的使用者 ID
metadata.product_name 產品名稱
metadata.vendor_name 供應商名稱
query additional.fields 從變更記錄對應

變更記錄

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

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