收集 F5 AFM 記錄

支援的國家/地區:

本文說明如何使用 Bindplane,將 F5 Advanced Firewall Management 記錄擷取至 Google Security Operations。剖析器會將 SYSLOG 和 CSV 或 CSV 格式的記錄檔轉換為統一資料模型 (UDM)。系統會先嘗試使用 SYSLOG 格式專屬的 grok 模式剖析記錄訊息,如果失敗,則會將其視為 CSV 檔案處理,並擷取欄位對應至 UDM 結構。

事前準備

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

  • Google SecOps 執行個體
  • Windows 2016 以上版本,或搭載 systemd 的 Linux 主機
  • 如果透過 Proxy 執行,防火牆通訊埠已開啟
  • F5 BIG-IP 和 F5 Advanced Firewall Management 的特殊存取權

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

Linux 安裝

  1. 開啟具有根層級或 sudo 權限的終端機。
  2. 執行下列指令:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

其他安裝資源

如需其他安裝選項,請參閱安裝指南

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

  1. 存取設定檔:
    • 找出 config.yaml 檔案。通常位於 Linux 的 /etc/bindplane-agent/ 目錄,或 Windows 的安裝目錄。
    • 使用文字編輯器 (例如 nanovi 或記事本) 開啟檔案。
  2. 按照下列方式編輯 config.yaml 檔案:

    receivers:
        tcplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:5145"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the path to the credentials file you downloaded in Step 1
            creds_file_path: '/path/to/ingestion-authentication-file.json'
            # Replace with your actual customer ID from Step 2
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # Add optional ingestion labels for better organization
            ingestion_labels:
                log_type: 'F5_AFM'
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
    • 視基礎架構需求,替換通訊埠和 IP 位址。
    • <customer_id> 替換為實際的客戶 ID。
    • /path/to/ingestion-authentication-file.json 更新為「取得 Google SecOps 擷取驗證檔案」一節中驗證檔案的儲存路徑。

重新啟動 Bindplane 代理程式,以套用變更

  • 如要在 Linux 中重新啟動 Bindplane 代理程式,請執行下列指令:

    sudo systemctl restart bindplane-agent
    
  • 如要在 Windows 中重新啟動 Bindplane 代理程式,可以使用「服務」控制台,或輸入下列指令:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

啟用 F5 BIG-IP Advanced Firewall Manager

  1. 登入 BIG-IP 裝置管理控制台。
  2. 依序前往「系統」>「授權」
  3. 確認「進階防火牆管理員」授權啟用
  4. 如要啟用進階防火牆管理工具,請依序前往「系統」>「資源」>「佈建」
  5. 選取「Provisioning」(佈建) 欄中的核取方塊,然後從清單中選取「Nominal」(名義)
  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」分頁中,選取您設定的「記錄檔發布者」 (例如 Log_Publisher)。
  4. 按一下「完成」

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

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

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,則為「中」,否則如果值為 infoinformational,則為「資訊」,否則如果值為 errerror,則為「高」,否則如果值為 alertcritemer,則為「重大」
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 專業人員尋求答案。