收集 Cofense 記錄

剖析器版本:2.0

支援的國家/地區:

本文說明如何使用 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 適用於 TCP Syslog (建議用於 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 可以透過 Syslog,以 CEF (常見事件格式) 將網路釣魚報告事件和快訊轉送至外部 SIEM 收集器。

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

  1. 使用管理員憑證登入 Cofense Triage 網頁介面。
  2. 依序前往「Administration」(管理) >「System」(系統) >「Syslog」(系統記錄)
  3. 啟用「系統記錄」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 從 descrip 中擷取,使用 grok 模式 User: (%{WORD:user_id})
cat、cs2 security_result.action Set to ALLOW if cat in ["health","Processed:Marketing","Processed:Non-Malicious"], BLOCK if cat == "Processed:Spam" or "Processed:Threats" or cs2 in ["PM_Intel_CoronaVirus_Keywords","PM_Intel_CredPhish_106159","VU_Potential_Credential_Stealer"]
嚴重性 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。
msg", "rule_id", "start", and "rt additional.fields 從變更記錄對應
ProcessID principal.process.pid 從變更記錄對應

變更記錄

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

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