收集 Swift Alliance Messaging Hub 記錄

支援的服務:

本文說明如何使用 Bindplane,將 Swift Alliance Messaging Hub (AMH) 記錄檔擷取至 Google Security Operations。

Swift Alliance Messaging Hub (AMH) 是金融訊息平台,用於 SWIFT 網路訊息的路由、監控和稽核記錄。Bindplane 代理程式會直接從本機檔案系統收集 AMH 記錄檔。

事前準備

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

  • Google SecOps 執行個體
  • Windows Server 2016 以上版本,或搭載 systemd 的 Linux 主機
  • Bindplane 代理程式與 Swift AMH 伺服器之間的網路連線
  • 如果是在 Proxy 後方執行,請確認防火牆通訊埠已按照 Bindplane 代理程式規定開啟
  • 具備管理員權限,可存取 Swift AMH 伺服器

取得 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. 請提供下列設定詳細資料:
    • 服務帳戶名稱:輸入帳戶名稱 (例如 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 Settings」 > 「Collection Agents」。
  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:
      filelog:
        include:
          - /opt/swift/amh/log/*.log
        start_at: beginning
    
    exporters:
      chronicle/swift_amh:
        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: SWIFT_AMH
        raw_log_field: body
        ingestion_labels:
          env: production
    
    service:
      pipelines:
        logs/swift_amh_to_chronicle:
          receivers:
            - filelog
          exporters:
            - chronicle/swift_amh
    

設定參數

替換下列預留位置:

  • 接收器設定:

    • filelog:從磁碟收集記錄檔的接收器類型
    • include:要監控的檔案路徑清單。預設 Swift AMH 記錄檔位置:
      • Linux:/opt/swift/amh/log/*.log 或 /var/log/swift/amh/*.log
      • Windows:C:\Swift\AMH\log\*.log
    • start_at:設為 beginning 即可讀取現有記錄,設為 end 則只會讀取新項目
  • Exporter 設定:

    • swift_amh:匯出工具的說明名稱
    • 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。
    • SWIFT_AMH:記錄類型,與 Chronicle 中顯示的完全相同
    • ingestion_labels:YAML 格式的選用標籤 (例如 env: production)
  • 管道設定:

    • swift_amh_to_chronicle:管道的說明名稱

舊版 Ingestion API 匯出工具

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

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

儲存設定檔

  • 編輯完成後,請儲存檔案:
    • 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"
    

設定 Swift Alliance Messaging Hub 記錄功能

  1. 以管理員權限登入 Swift AMH 伺服器。
  2. 前往 AMH 記錄目錄。預設路徑包括:

    • Linux:/opt/swift/amh/log/ 或 /var/log/swift/amh/
    • Windows:C:\Swift\AMH\log\
  3. 重要記錄檔包括:

    • 稽核記錄 (audit*.log):使用者登入/登出事件、郵件轉送決策和設定變更。
    • 訊息記錄 (msg*.log):SWIFT 訊息處理、轉送和傳遞事件。
    • 系統記錄 (system*.log):應用程式啟動/停止、錯誤和效能事件。
  4. (選用) 如要從 AMH 網路控制台匯出其他記錄資料,請按照下列步驟操作:

    1. 登入 Swift AMH 網頁控制台。
    2. 依序前往「Monitoring」>「Event Journal」。
    3. 設定日期範圍和事件篩選器。
    4. 按一下「匯出」,下載事件資料。
    5. 將匯出的檔案儲存到 Bindplane 代理程式監控的記錄目錄。
  5. 確認 config.yaml 中的 Bindplane 代理程式 include 路徑,與 Swift AMH 伺服器上的實際記錄檔位置相符。

UDM 對應表

記錄欄位 UDM 對應 邏輯
關於 事件的其他背景資訊或中繼資料
spanId、traceId、aal、mr about.labels 為事件提供額外標籤的鍵/值組合
extensions.auth.type 使用的驗證類型
中介商 中介 事件中涉及的中介實體相關資訊
target.data.message.Header.DateCreated metadata.event_timestamp 事件發生時間的時間戳記
metadata.event_type 事件類型 (例如 USER_LOGIN、NETWORK_CONNECTION)
traceId metadata.product_deployment_id 產品部署的 ID
snmp_1_3_6_1_4_1_18494_2_1_5, event_number, product_event_type metadata.product_event_type 產品專屬事件類型
target.data.message.Header.MessageType.Code, snmp_1_3_6_1_4_1_18494_2_1_10, sag, product_object_id metadata.product_log_id 產品專屬記錄 ID
metadata.product_version 產品版本
sessionid、session network.session_id 網路工作階段 ID
data.creationDate principal.asset.creation_time 資產建立時間
target.data.message.Header.DateDelivered principal.asset.last_discover_time 上次探索到資產的時間
target.data.message.Status.CurrentStatus.StatusDate principal.asset.system_last_update_time 資產上次系統更新時間
ldap_group principal.group.group_display_name 群組的顯示名稱
主機名稱 principal.hostname 主體的主機名稱
用戶端 principal.ip 連線的來源 IP 位址
target.data.message.Header.TransactionReference principal.process.parent_pid 上層程序 ID
target.data.message.Header.MessageReference principal.process.pid 程序 ID
amount、currency、offset、bussiness_element、pl principal.resource.attribute.labels 資源屬性標籤
message_partner principal.resource.name 資源名稱
pal principal.user.attribute.labels 使用者屬性標籤
uumid principal.user.product_object_id 使用者的產品專屬物件 ID
first_name last_name, user_HSM1 principal.user.user_display_name 使用者的顯示名稱
userid, record.User, user, record.Description principal.user.userid 使用者 ID
ac、sr security_result 安全性分析或動作的結果
運算子 src.user.userid 來源使用者 ID
act sr.action 安全性結果中採取的動作
snmp_1_3_6_1_4_1_18494_2_1_9, description sr.description 安全性結果說明
event_class sr.rule_name 觸發安全性結果的規則名稱
sr.severity 安全結果的嚴重性等級
snmp_1_3_6_1_4_1_18494_2_1_6, event_severity, severity sr.severity_details 詳細嚴重性資訊
snmp_1_3_6_1_4_1_18494_2_1_8, summary sr.summary 安全性結果摘要
target.hostname 目的地主機名稱
提示 target.ip 目的地 IP 位址
target.data.message.Header.TransferReference target.process.pid 目標程序 ID
target_display_name、user_HSM1 target.user.user_display_name 目標使用者的顯示名稱
record.Description, user_cn, user_HSM1, userid target.user.userid 目標使用者 ID
metadata.product_name 產品名稱
metadata.vendor_name 供應商/公司名稱

變更記錄

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

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