收集 Progress MOVEit Transfer 記錄

支援的國家/地區:

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

Progress MOVEit Transfer 是一種代管檔案傳輸 (MFT) 解決方案,可透過 HTTPS、FTPS 和 SFTP 等通訊協定,安全地傳輸加密檔案。提供防竄改稽核記錄、以角色為基礎的存取控制,以及 HIPAA、PCI DSS 和 GDPR 等法規遵循支援。MOVEit Transfer 會將所有檔案傳輸活動、使用者驗證事件和管理動作記錄在稽核資料庫中。

事前準備

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

  • Google SecOps 執行個體
  • Windows Server 2016 以上版本,或搭載 systemd 的 Linux 主機
  • Bindplane 代理程式與 Progress MOVEit Transfer 伺服器之間的網路連線
  • 如果透過 Proxy 執行,請確保防火牆通訊埠已根據 Bindplane 代理程式需求開啟
  • MOVEit Transfer 網頁管理控制台的系統管理員層級存取權
  • 從 MOVEit Transfer 伺服器到 Bindplane 代理程式主機,開啟 UDP 通訊埠 514 (或您選擇的系統記錄通訊埠)

取得 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
    

    服務應顯示為有效 (執行中)

其他安裝資源

如需其他安裝選項和疑難排解資訊,請參閱 Bindplane 代理程式安裝指南

設定 Bindplane 代理程式,擷取系統記錄檔並傳送至 Google SecOps

找出設定檔

  • Linux:

    sudo nano /etc/bindplane-agent/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/moveit_transfer:
            compression: gzip
            creds_file_path: '<CREDS_FILE_PATH>'
            customer_id: '<CUSTOMER_ID>'
            endpoint: <REGION_ENDPOINT>
            log_type: IPSWITCH_MOVEIT_TRANSFER
            raw_log_field: body
            ingestion_labels:
                log_source: moveit_transfer
    
    service:
        pipelines:
            logs/moveit_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/moveit_transfer
    

設定參數

請替換下列預留位置。

匯出工具設定:

  • <CREDS_FILE_PATH>:擷取驗證檔案的完整路徑:
    • Linux/etc/bindplane-agent/ingestion-auth.json
    • WindowsC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
  • <CUSTOMER_ID>:先前複製的 Google SecOps 客戶 ID
  • <REGION_ENDPOINT>:區域端點網址:

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

    receivers:
        udplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/moveit_transfer:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: 'a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: IPSWITCH_MOVEIT_TRANSFER
            raw_log_field: body
            ingestion_labels:
                log_source: moveit_transfer
    
    service:
        pipelines:
            logs/moveit_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/moveit_transfer
    

儲存設定檔

編輯完成後,請儲存檔案: * Linux:依序按下 Ctrl+OEnterCtrl+X 鍵 * Windows:依序點選「File」>「Save」

重新啟動 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. 按一下滑鼠右鍵,然後選取「重新啟動」
      4. 確認服務正在執行:

        sc query observiq-otel-collector
        
      5. 檢查記錄中是否有錯誤:

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

設定 Progress MOVEit Transfer 系統記錄轉送

如要設定 MOVEit Transfer,透過 syslog 將稽核記錄項目轉送至 Bindplane 代理程式,請按照下列步驟操作:

  1. 以具備 SysAdmin 權限的使用者身分,登入 MOVEit Transfer 網頁管理控制台。
  2. 依序前往「SETTINGS」>「System」>「Auditing」>「Syslog」。系統會顯示「Configure Syslog Settings」(設定系統記錄設定) 頁面。
  3. 在「系統記錄記錄」部分,選取「已啟用」。啟用後,每筆稽核記錄項目都會傳送至指定的系統記錄主機,以及 MOVEit Transfer 稽核資料庫。
  4. 在「Syslog Host」欄位中,輸入 Bindplane 代理程式主機的 IP 位址或主機名稱 (例如 192.168.1.100)。
  5. 在「Syslog Port」(系統記錄通訊埠) 欄位中,輸入 514。如果這個欄位留空,系統會還原為預設通訊埠 514

  6. 在「Syslog Facility」(系統記錄設施) 下拉式選單中,選取 MOVEit Transfer 系統記錄訊息在遠端系統記錄主機上顯示的設施。預設值為 FTP。可用的標準系統記錄設施如下:

    • KERN
    • 使用者
    • MAIL
    • DAEMON
    • AUTH
    • SYSLOG
    • LPR
    • 最新資訊
    • UUCP
    • CRON
    • AUTHPRIV
    • FTP (預設)
    • LOCAL0 至 LOCAL7
  7. 按一下「變更記錄設定」,儲存設定。

  8. 按一下「傳送測試 Syslog 訊息」,將測試訊息傳送至指定的 Bindplane 代理主機。由於 BSD Syslog 實作項目是以 UDP 為基礎,請檢查 Bindplane 代理程式記錄,手動確認測試訊息是否送達。

  9. 確認 Bindplane 代理程式已收到測試訊息:

    • Linux:

      sudo journalctl -u observiq-otel-collector -f
      
    • Windows:

      type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
      

防火牆需求

請確認已設定下列防火牆規則,允許從 MOVEit Transfer 傳送 Syslog 流量至 Bindplane 代理程式:

方向 通訊協定 來源 目的地 通訊埠
從 MOVEit Transfer 傳出 UDP MOVEit Transfer 伺服器 IP Bindplane 代理程式主機 IP 514

UDM 對應表

記錄欄位 UDM 對應 邏輯
第 1 欄 metadata.collected_timestamp 使用日期比對模式轉換:d/M/yyyy H:mm:ss A、M/d/yyyy H:mm:ss A、MM/dd/yyyy HH:mm:ss A
第 1 欄 metadata.event_timestamp 使用日期比對模式轉換:d/M/yyyy H:mm:ss A、M/d/yyyy H:mm:ss A、MM/dd/yyyy HH:mm:ss A
第 2 欄 security_result.action_details 直接複製值
第 3 欄 target.hostname、target.asset.hostname 直接從 column3 複製的值
column4 principal.ip、principal.asset.ip 使用 IP 的 grok 模式從 column4 擷取
column6 target.file.full_path 如果 folderPath 和 fileName 都存在,則會從兩者串連,否則只會從 fileName 串連
column7 target.file.full_path
column15 target.file.full_path
column7 target.user.email_addresses 如果 column2 == file_sentemail,則合併
column10 metadata.description 直接複製值
column11 metadata.product_event_type 如果不是 None,則直接複製值
column12 target.ip、target.asset.ip 使用 IP 的 grok 模式從資料欄 12 擷取
column16 target.file.full_path 如果 folderPath 和 fileName 都存在,則會從兩者串連,否則只會從 fileName 串連
column23 target.file.full_path
column19 target.user.user_display_name 如果 column2 == file_sentemail 且 column8 == sender,則直接複製值;否則複製目標使用者的值
event_received_time metadata.collected_timestamp 使用日期比對模式轉換:UNIX_MS、dd/MM/yyyy HH:mm:ss、yyyy-MM-dd HH:mm:ss、MM/dd/yyyy HH:mm:ss A、yyyy/MM/dd HH:mm:ss、RFC 3339、yyyy-MM-ddTHH:mm:ss
時間戳記 metadata.event_timestamp 使用日期比對模式轉換:MMM d HH:mm:ss、MMM dd HH:mm:ss、ISO8601、yyyy-MM-dd HH:mm:ss、yyyy-MM-dd HH:mm:ss Z、MM/dd/yyyy HH:mm:ss A、yy-MM-dd HH:mm:ss、RFC 3339、yyyy-MM-ddTHH:mm:ss
prin_ip principal.ip、principal.asset.ip 直接複製值
AgentVersion metadata.product_version 直接複製值
principal_host principal.hostname、principal.asset.hostname 直接複製值
使用者名稱 principal.user.userid 直接複製值
company_name principal.user.company_name 直接複製值
ID target.process.pid 直接複製值
InstID metadata.product_log_id 直接複製值
FileID target.resource.attribute.labels 合併為 additional_id_2,鍵為 FileID,值來自 FileID
FolderID target.resource.attribute.labels 合併為 additional_id_3,索引鍵為 FolderID,值來自 FolderID
FolderPath target.file.full_path 如果 FolderPath 和 FileName 都存在,則會從兩者串連,否則會從 FolderPath 串連
FileName target.file.full_path
FileName target.resource.attribute.labels 合併為檔案名稱,索引鍵為 FileName,值來自 FileName
主機 principal.hostname、principal.asset.hostname 直接複製值
log_level security_result.severity 如果是 INFO 或 DEBUG,請設為 INFORMATIONAL;如果是 ERROR,請設為 ERROR
source_module_name observer.resource.attribute.labels 合併為 source_module_label,並以 source_module_name 做為鍵,以 source_module_name 做為值
source_module_type observer.application 直接複製值
log_msg metadata.description 如果 http_method != GET 且 file_path 為空,則為 log_msg 中的值;否則為 log_desc;否則為說明;否則為 Message
log_desc metadata.description
說明 metadata.description
訊息 metadata.description
通訊埠 principal.port 直接複製值,並轉換為整數
tgtport target.port 直接複製值,並轉換為整數
套件 principal.process.command_line 直接複製值
srcip principal.ip、principal.asset.ip 直接複製值
使用者名稱 principal.user.userid 直接複製值
版本 metadata.product_version 直接複製值
http_method network.http.method 直接複製值
動作 security_result.action_details 直接複製值
摘要 security_result.summary 直接複製值
security_result security_result 直接合併
tgtip target.ip、target.asset.ip 直接複製值
application_proto network.application_protocol 直接複製大寫字母
網址 network.http.referral_url 直接複製值
status_code network.http.response_code 直接複製值,並轉換為整數
file_path principal.process.file.full_path 直接複製值
file_size principal.process.file.size 如果不是 0,則轉換為 uinteger
process_id principal.process.pid 直接複製值
session_id network.session_id 直接複製值
task_id additional.fields 合併為 additional_field,並使用 task_id 中的 TASK_ID 鍵和 string_value
AgentBrand metadata.product_event_type 直接複製值
Parm1 additional.fields 合併為 additional_field_3,鍵為 Parm1,字串值來自 Parm1
Parm2 additional.fields 合併為 additional_field_4,鍵為 Parm2,字串值來自 Parm2
錯誤 additional.fields 合併為 additional_field_5,並以 Error 做為鍵,以 Error 中的 string_value 做為值
XFerSize target.resource.attribute.labels 合併為 additional_field_1,鍵為 XFerSize,值來自 XFerSize
FolderPath metadata.event_type 如果 FolderPath 和 action_performed 符合「刪除檔案」,請設為 FILE_DELETION;如果 tgtip 或主機和 application_proto == HTTP,請設為 NETWORK_HTTP;如果 Username 或 username,請設為 USER_LOGIN;如果 tgtip 或主機或 principal_host 或 IPAddress,請設為 STATUS_UPDATE;否則請設為 GENERIC_EVENT
tgtip metadata.event_type
主機 metadata.event_type
principal_host metadata.event_type
IPAddress metadata.event_type
使用者名稱 metadata.event_type
使用者名稱 metadata.event_type
tgtip metadata.event_type 如果 column2 == sec_signon 且 tgtip 或 tar_host,則設為 USER_LOGIN;如果 sec_signoff 且 tgtip 或 tar_host,則設為 USER_LOGOUT;如果 folder_add,則設為 FILE_UNCATEGORIZED;如果 file_upload 或 download 且 tgtip 和 is_tgt_file_present,則設為 FILE_CREATION;如果 file_delete 且 srcip 和 is_tgt_file_present,則設為 FILE_DELETION;如果 file_rename,則設為 FILE_MODIFICATION;如果 file_dlhashchk,則設為 FILE_UNCATEGORIZED;如果 file_sentemail 和 useremail,則設為 EMAIL_TRANSACTION;如果 srcip,則設為 STATUS_UPDATE;否則設為 GENERIC_EVENT
tar_host metadata.event_type
srcip metadata.event_type
is_tgt_file_present metadata.event_type
第 2 欄 metadata.event_type
useremail metadata.event_type
security_result metadata.event_type
extensions.auth.type extensions.auth.type 登入/登出事件請設為 MACHINE
metadata.vendor_name metadata.vendor_name 設為「IPS」
metadata.product_name metadata.product_name 設為「IPSWITCH MOVEIT TRANSFER」
target_application event.idm.read_only_udm.target.application 從變更記錄對應
product_event event.idm.read_only_udm.metadata.product_event_type 從變更記錄對應
dstip event.idm.read_only_udm.target.ipevent.idm.read_only_udm.target.asset.ip 從變更記錄對應
AdminTrust event.idm.read_only_udm.additional.fields 從變更記錄對應
Permission event.idm.read_only_udm.additional.fields 從變更記錄對應
log_status event.idm.read_only_udm.security_result.action.details 從變更記錄對應
srcip event.idm.read_only_udm.principal.ipevent.idm.read_only_udm.principal.asset.ip 從變更記錄對應
EventReceivedTime event.timestamp 從變更記錄對應
SourceModuleName observer.resource.attribute.labels 從變更記錄對應
SourceModuleType observer.application 從變更記錄對應
SourceName metadata.product_event_type 從變更記錄對應
Severity security_result. 從變更記錄對應
Hostname principal.hostname 從變更記錄對應
Channel security_result.about.resource.attribute.labels 從變更記錄對應
AgentVersion metadata.version 從變更記錄對應

變更記錄

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

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