收集 Cofense 記錄

支援的國家/地區:

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

Cofense Triage 是網路釣魚事件應變平台,可自動偵測、分析及回應員工回報的網路釣魚電子郵件。這項服務會將類似威脅歸類、指派風險分數、擷取入侵指標 (IOC),並與安全調度管理工具整合,加快解決網路釣魚事件的速度。

事前準備

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

  • Google SecOps 執行個體
  • Windows Server 2016 以上版本,或搭載 systemd 的 Linux 主機
  • Bindplane 代理程式與 Cofense Triage 伺服器之間的網路連線
  • 如果透過 Proxy 執行,請確保防火牆通訊埠已根據 Bindplane 代理程式需求開啟
  • Cofense Triage 管理控制台的特殊存取權
  • Cofense Triage 1.20 以上版本

取得 Google SecOps 擷取作業的驗證檔案

  1. 登入 Google SecOps 控制台。
  2. 依序前往「SIEM 設定」>「收集代理程式」
  3. 下載擷取驗證檔案。將檔案安全地儲存在要安裝 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 /etc/bindplane-agent/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

編輯設定檔

  1. config.yaml 的所有內容替換為下列設定:

    receivers:
        tcplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/cofense:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: 'your-customer-id'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: COFENSE_TRIAGE
            raw_log_field: body
    
    service:
        pipelines:
            logs/cofense_to_chronicle:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/cofense
    
  2. 替換下列預留位置:

    • 接收器設定:

      • listen_address:要接聽的 IP 位址和通訊埠:

        • 0.0.0.0:514 在通訊埠 514 上監聽所有介面 (需要 Linux 上的根目錄)
        • 0.0.0.0:1514,在非特權連接埠上接聽 (建議用於 Linux 非根目錄)
      • 接收器類型選項:

        • tcplog (建議用於 Cofense Triage)
        • udplog (適用於 UDP 系統記錄檔)
    • 匯出工具設定:

      • creds_file_path:Google SecOps 擷取驗證檔案的完整路徑:

        • Linux/etc/bindplane-agent/ingestion-auth.json
        • WindowsC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
      • customer_id:Google SecOps 客戶 ID

      • endpoint:區域端點網址:

        • 美國malachiteingestion-pa.googleapis.com
        • 歐洲europe-malachiteingestion-pa.googleapis.com
        • 亞洲asia-southeast1-malachiteingestion-pa.googleapis.com
        • 如需完整清單,請參閱「區域端點

儲存設定檔

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

  • Linux:依序按下 Ctrl+OEnterCtrl+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"
      

設定 Cofense Triage 系統記錄檔轉送功能

Cofense Triage 可以透過系統記錄,將 CEF (常見事件格式) 的網路釣魚報告事件和快訊轉送至外部 SIEM 收集器。

在 Cofense Triage 中啟用系統記錄輸出

  1. 使用管理員憑證登入 Cofense Triage 網頁介面。
  2. 依序前往「Administration」(管理) >「System」(系統) >「Syslog」(系統記錄)
  3. 啟用「Syslog」Syslog切換鈕。
  4. 設定下列系統記錄參數:
    • 系統記錄檔伺服器:輸入 Bindplane 代理程式主機的 IP 位址或主機名稱 (例如 192.168.1.100)。
    • 通訊埠:輸入與 Bindplane 代理程式相符的通訊埠 listen_address (例如 514)。
    • 通訊協定:選取 TCP (建議) 或 UDP,與 Bindplane 代理程式接收器類型相符。
    • 格式:選取 CEF (通用事件格式)。
  5. 按一下 [儲存]

設定系統記錄檔警報

  1. 在 Cofense Triage 網頁介面中,依序前往「Administration」>「System」>「Syslog Alerts」
  2. 選取要轉送的事件類型:
    • 網路釣魚回報:收到並處理新的網路釣魚回報時轉寄
    • 叢集事件:在報表叢集化時轉送
    • 威脅指標事件:從報表擷取 IOC 時轉送
    • 健康快訊:轉送系統健康狀態和效能事件
  3. 按一下 [儲存]

驗證系統記錄檔轉送功能

  1. 儲存系統記錄設定後,在 Cofense Triage 中觸發測試事件 (例如處理網路釣魚報告)。
  2. 檢查 Bindplane 代理程式記錄,確認是否有傳入的 Syslog 訊息:
    • Linuxsudo journalctl -u observiq-otel-collector -f
    • Windowstype "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
  3. 確認記錄檔中顯示 CEF 格式的訊息,例如:

    CEF:0|Cofense|Triage|1.0|100|Phishing Report Processed|5|suser=reporter@company.com duser=attacker@malicious.com cs4=Urgent: Account Verification cat=Processed:Threats
    

UDM 對應表

記錄欄位 UDM 對應 邏輯
msg、rule_id、start、rt additional.fields 如果 msg、rule_id、start 或 rt 不為空白,則與這些標籤合併
event_data、descrip metadata.description 如果 event_data 不為空白,則為 event_data 中的值,否則為 descrip
deviceCustomDate1、log_datetime metadata.event_timestamp 如果 deviceCustomDate1 不為空,則從該欄位剖析;否則使用 log_datetime,格式為 MMM d yyyy HH:mm:ss 或 MMM d HH:mm:ss
suser、duser、has_principal metadata.event_type 如果 suser 和 duser 符合電子郵件模式,則設為 EMAIL_TRANSACTION,否則設為 GENERIC_EVENT,然後如果 has_principal 為 true 且為 GENERIC_EVENT,則設為 STATUS_UPDATE
cs3 metadata.product_log_id 使用 grok 模式「/%{INT:productlogid}」從 cs3 擷取
metadata.product_name 設為「分流」
cs3 metadata.url_back_to_product 直接複製值
metadata.vendor_name 設為「Cofense」
suser network.email.from 直接複製值
cs4 network.email.subject 直接複製值
duser network.email.to 直接複製值
主機 principal.asset.hostname 直接複製值
ipaddress principal.asset.ip 直接複製值
主機 principal.hostname 直接複製值
ipaddress principal.ip 直接複製值
processID principal.process.pid 直接複製值
descrip principal.user.userid 使用 grok 模式從 descrip 擷取:User: (%{WORD:user_id})
cat、cs2 security_result.action 如果 cat 位於 ["health","Processed:Marketing","Processed:Non-Malicious"] 中,則設為 ALLOW;如果 cat == "Processed:Spam" 或 "Processed:Threats",或 cs2 位於 ["PM_Intel_CoronaVirus_Keywords","PM_Intel_CredPhish_106159","VU_Potential_Credential_Stealer"] 中,則設為 BLOCK
嚴重性 security_result.alert_state 如果嚴重程度為 ["8","10","11","12","13","14"],則設為 ALERTING,否則設為 NOT_ALERTING
cat、cs2、severity security_result.category 如果 cat == "Processed:Spam",則設為 MAIL_SPAM;如果 cs2 位於 ["PM_Intel_CoronaVirus_Keywords","PM_Intel_CredPhish_106159","VU_Potential_Credential_Stealer"] 或 severity 位於 ["8","10","11","12","13","14"],則設為 MAIL_PHISHING
cat security_result.description 直接複製值
嚴重性 security_result.rule_id 直接複製值
cs2 security_result.rule_name 直接複製值
cat、cs2 security_result.severity 如果 cat 位於 ["health","Processed:Marketing","Processed:Non-Malicious"] 中,則設為 INFORMATIONAL;如果 cat == "Processed:Spam",則設為 HIGH;如果 cat == "Processed:Threats",則設為 CRITICAL;如果 cs2 位於 ["PM_Intel_CoronaVirus_Keywords","PM_Intel_CredPhish_106159","VU_Potential_Credential_Stealer"] 中,則設為 HIGH。

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