收集 F5 AFM 記錄

支援的國家/地區:

本文說明如何使用 Bindplane 代理程式,將 F5 Advanced Firewall Management (AFM) 記錄檔擷取至 Google Security Operations。

F5 BIG-IP AFM 是網路防火牆模組,可針對防火牆規則動作 (接受、捨棄、拒絕)、IP 智慧事件和 TCP 錯誤產生 Syslog 訊息。剖析器會從 CSV 格式或系統記錄格式的記錄檔中擷取欄位,並將這些欄位對應至統合式資料模型 (UDM)。

事前準備

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

  • Google SecOps 執行個體
  • Windows Server 2016 以上版本,或搭載 systemd 的 Linux 主機
  • Bindplane 代理程式與 F5 BIG-IP 設備之間的網路連線
  • 如果透過 Proxy 執行,請確保防火牆通訊埠已根據 Bindplane 代理程式需求開啟
  • F5 BIG-IP 和 F5 Advanced Firewall Management 的特殊存取權

取得 Google SecOps 擷取驗證檔案

  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
    

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

其他安裝資源

如需其他安裝選項和疑難排解資訊,請參閱 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:
        tcplog:
            listen_address: "0.0.0.0:5145"
    
    exporters:
        chronicle/f5_afm:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: F5_AFM
            raw_log_field: body
    
    service:
        pipelines:
            logs/f5_afm_to_chronicle:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/f5_afm
    

設定參數

替換下列預留位置:

  • 接收器設定:

    • listen_address:要接聽的 IP 位址和通訊埠:
      • 0.0.0.0,監聽所有介面 (建議)
      • 通訊埠 5145 用於 F5 AFM 高速記錄 (請根據 F5 設定進行調整)
  • 匯出工具設定:

    • creds_file_path:擷取驗證檔案的完整路徑:
      • 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 代理程式,請執行下列指令:

    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"
        

啟用 F5 BIG-IP Advanced Firewall Manager

  1. 登入 BIG-IP 設備管理控制台。
  2. 依序前往「系統」>「授權」
  3. 確認「進階防火牆管理工具」授權啟用
  4. 如要啟用進階防火牆管理工具,請依序前往「系統」>「資源」>「佈建」
  5. 勾選「佈建」欄中的核取方塊,然後從清單中選取「名義」
  6. 按一下「提交」

在 F5 AFM 中設定記錄集區

  1. 依序前往「Local Traffic」>「Pools」
  2. 點選「建立」
  3. 請提供下列設定詳細資料:
    • 名稱:輸入記錄檔集區的名稱 (例如 logging_pool)。
    • 健康狀態監控器:在「Available」(可用) 清單中,選取「TCP」並按一下「<<」
  4. 在「Resource」(資源) 分頁中,從「Node Name」(節點名稱) 清單選取您先前建立的「Logging Pool」(記錄集區)
  5. 在「地址」欄位中,輸入 Bindplane 代理程式 IP 位址。
  6. 在「Service Port」(服務通訊埠) 欄位中,輸入 5145 或您在 Bindplane 代理程式中定義的其他通訊埠。
  7. 按一下「新增」。
  8. 按一下「完成」

在 F5 AFM 中設定格式化記錄目的地

  1. 依序前往「系統」>「記錄」>「設定」>「記錄目的地」
  2. 點選「建立」
  3. 請提供下列設定詳細資料:
    • 名稱:輸入記錄格式目的地的名稱 (例如 Logging_Format_Destination)。
    • 說明:輸入說明。
    • 類型:選取「遠端系統記錄檔」
    • 系統記錄檔格式:選取「系統記錄檔」
    • 高速記錄目的地:選取高速記錄目的地 (例如 Logging_HSL_Destination)。
  4. 按一下「完成」

在 F5 AFM 中設定記錄發布者

  1. 依序前往「系統」>「記錄」>「設定」>「記錄發布者」
  2. 點選「建立」
  3. 請提供下列設定詳細資料:
    • 名稱:輸入發布者的名稱 (例如 Log_Publisher)。
    • 說明:輸入說明。
    • 目的地:選取您在「在 F5 AFM 中設定記錄集區」步驟中建立的記錄目的地名稱,然後按一下「<<」,將項目新增至「已選取」清單。

在 F5 AFM 中設定記錄設定檔

  1. 依序前往「安全性」>「事件記錄」>「記錄設定檔」
  2. 點選「建立」
  3. 請提供下列設定詳細資料:
    • 名稱:輸入記錄檔設定檔的名稱 (例如「Logging_Profile」)。
    • 網路防火牆:勾選「已啟用」核取方塊。
    • 「發布者」:選取您先前設定的「記錄發布者」 (例如 Log_Publisher)。
    • 記錄規則相符項目:選取「接受」、「捨棄」和「拒絕」核取方塊。
    • 記錄 IP 錯誤:勾選「已啟用」核取方塊。
    • 記錄 TCP 錯誤:勾選「已啟用」核取方塊。
    • 記錄 TCP 事件:勾選「已啟用」核取方塊。
    • 儲存格式:選取「欄位清單」
    • 分隔符號:輸入 , (逗號) 做為事件的分隔符號。
    • 儲存空間選項:在「可用項目」清單中選取所有選項,然後按一下「<<」
    • 在「IP Intelligence」(IP 智慧功能) 分頁中,選取您設定的「記錄檔發布者」 (例如 Log_Publisher)。
  4. 按一下「完成」

在 F5 AFM 中設定虛擬伺服器設定檔關聯

  1. 依序前往「Local Traffic」>「Virtual Servers」
  2. 選取要修改的虛擬伺服器
  3. 依序前往「安全性」分頁 >「政策」
  4. 在「記錄設定檔」清單中,選取「已啟用」
  5. 在「設定檔」欄位中,選取「Logging_Profile」,然後按一下「<<」
  6. 按一下「Update」

UDM 對應表

記錄欄位 UDM 對應 邏輯
acl_policy_name security_result.detection_fields.acl_policy_name 如果記錄格式為 SYSLOG,則為 column22 的值,否則為 column13 的值
acl_policy_type security_result.detection_fields.acl_policy_type 如果記錄格式為 SYSLOG,則為 column21 的值,否則為 column18 的值
acl_rule_name security_result.rule_name 如果記錄格式為 SYSLOG,則為 column23 的值,否則為 column11 的值
acl_rule_uuid security_result.rule_id grok 模式中的 acl_rule_uuid 欄位值
動作 security_result.action 如果 column25 的值為 DropRejectBlock,則為 BLOCK;如果 column25 的值為 AcceptAccept decisivelyEstablishedAllow,則為 ALLOW
attackID security_result.detection_fields.attackID 如果記錄格式為 CSV 且沒有 src_ip,則為 column12 的值
bigip_hostname intermediary.hostname 如果記錄格式為 SYSLOG,則為 column2 的值,否則為 column3 的值
bigip_ip intermediary.ip 如果記錄格式為 SYSLOG,則為 column2 的值,否則為 column1 的值
context_name additional.fields.context_name.string_value 如果記錄格式為 SYSLOG,則為 column4 的值;如果存在 src_ip,則為 column10 的值;否則為 column5 的值
context_type additional.fields.context_type.string_value 如果記錄格式為 SYSLOG,則為 column3 的值;如果存在 src_ip,則為 column4 的值;否則為 column4 的值
dest_fqdn additional.fields.dest_fqdn.string_value 如果記錄格式為 SYSLOG,則為 column7 的值,否則為 column13 的值
dest_geo additional.fields.dest_geo.string_value 第 14 欄的值
dest_ip target.asset.ip、target.ip 如果記錄格式為 SYSLOG,則為 column8 的值;如果存在 src_ip,則為 column6 的值;否則為 column6 的值
dest_port target.port 如果記錄格式為 SYSLOG,則為 column10 的值;如果存在 src_ip,則為 column8 的值;否則為 column8 的值
drop_reason security_result.summary 如果記錄格式為 SYSLOG,則為 column26 的值,否則為 column19 的值
eventId additional.fields.eventId.string_value 在 grok 模式中擷取的值
flow_id additional.fields.flow_id.string_value 如果記錄格式為 SYSLOG,則為 column29 的值,否則為 column17 的值
loglevel security_result.severity 如果 grok 模式中 loglevel 欄位的值為 warningdebugnotice,則為 MEDIUM;如果值為 infoinformational,則為 INFORMATIONAL;如果值為 errerror,則為 HIGH;如果值為 alertcritemer,則為 CRITICAL
packetsReceived network.received_packets 如果記錄格式為 CSV 且沒有 src_ip,則為 column15 的值
反向擴散程序 target.application grok 模式中的程序欄位值
protocol_number_src network.ip_protocol 如果記錄檔格式為 SYSLOG,則為 column12 的值;否則為從 ip_protocol_out 變數擷取的值
route_domain additional.fields.route_domain.string_value 如果記錄格式為 SYSLOG,則為第 13 欄的值,否則為第 9 欄的值
source_fqdn additional.fields.source_fqdn.string_value 如果記錄格式為 SYSLOG,則為 column5 的值,否則為 column7 的值
src_geo additional.fields.src_geo.string_value 第 8 欄的值
src_ip principal.asset.ip、principal.ip 如果記錄格式為 SYSLOG,則為 column6 的值;如果記錄格式為 CSV 且沒有 src_ip,則為 column9 的值;否則為 column5 的值
src_port principal.port 如果記錄格式為 SYSLOG,則為 column9 的值;如果記錄格式為 CSV 且沒有 src_ip,則為 column7 的值;否則為 column7 的值
ts metadata.event_timestamp grok 模式中 ts 欄位的值
vlan additional.fields.vlan.string_value 如果記錄格式為 SYSLOG,則為 column11 的值,否則為 column21 的值
metadata.event_type 如果 src_ip 和 dest_ip 都存在,則為 NETWORK_CONNECTION;如果只有 src_ip 存在,則為 STATUS_UPDATE;否則為 GENERIC_EVENT
metadata.log_type F5_AFM
metadata.product_name 進階防火牆管理
metadata.vendor_name F5

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