收集 AMD Pensando DSS 防火牆記錄

剖析器版本:1.0

支援:

本文說明如何使用 Bindplane,將 AMD Pensando DSS 防火牆記錄擷取至 Google Security Operations。

AMD Pensando Distributed Services Switch (DSS) 防火牆是硬體加速的有狀態防火牆,在 Aruba CX 10000 系列交換器內的 AMD Pensando DPU 上執行。這項服務可提供微區隔功能,並以線路速率檢查東西向流量。防火牆是透過 AMD Pensando Policy and Services Manager (PSM) 管理,提供集中式政策設定、監控和系統記錄匯出功能。

事前準備

請確認您符合下列必要條件:

  • Google SecOps 執行個體。
  • Windows Server 2016 以上版本,或搭載 systemd 的 Linux 主機。
  • 如果是在 Proxy 後方執行,請確認防火牆通訊埠已按照 Bindplane 代理程式需求開啟。
  • AMD Pensando Policy and Services Manager (PSM) 或 Aruba CX 10000 交換器管理介面的特殊存取權。
  • Bindplane 代理主機與 Aruba CX 10000 交換器或 PSM 之間的網路連線。

取得 Bindplane 代理程式的 Google SecOps 憑證

如要向 Google SecOps 驗證 Bindplane 代理程式,請選擇下列其中一種方法:

  • 新部署作業:使用 Chronicle API (選項 1)。
  • 舊版部署作業:繼續使用擷取驗證檔案 (選項 2),直到 Ingestion API 於 2027 年 7 月 20 日停用。
  1. 登入 Google Cloud 控制台,然後選取連結至 Google SecOps 執行個體的 Google Cloud 專案。
  2. 依序前往「IAM & Admin」(IAM 與管理) >「Service Accounts」(服務帳戶)。
  3. 按一下「建立服務帳戶」。
  4. 請提供下列設定詳細資料:
    • 服務帳戶名稱:輸入帳戶名稱 (例如 bindplane-ingest)。
    • 「服務帳戶說明」:輸入說明 (例如 Bindplane agent log ingestion)。
  5. 點按「Create and continue」(建立並繼續)。
  6. 在「將專案存取權授予這個服務帳戶」部分,按一下「選取角色」,然後選取「Chronicle 編輯者」。
  7. 依序點選「繼續」和「完成」。
  8. 按一下您建立的服務帳戶,然後前往「金鑰」分頁。
  9. 依序點選「新增金鑰」>「建立新的金鑰」。
  10. 選取「JSON」,然後點選「建立」。金鑰檔案會下載到電腦。
  11. 將金鑰檔案儲存為 Bindplane 收集器目錄中的 ingestion-auth.json (Linux 為 /opt/observiq-otel-collector/ingestion-auth.json,Windows 為 C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json),或更新 config.yaml 中的 creds_file_path,使其與儲存檔案的路徑相符。
  12. 依序前往「IAM & Admin」(IAM 與管理) >「Settings」(設定),然後複製「Project number」(專案編號)。設定匯出工具時會用到。

方法 2:下載擷取驗證檔案 (舊版)

  1. 登入 Google SecOps 控制台。
  2. 依序前往「SIEM Settings」 > 「Collection Agents」。
  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
    

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 代理程式安裝指南。

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

  1. 存取設定檔:

    • 找出 config.yaml 檔案。通常位於 Linux 的 /opt/observiq-otel-collector/ 目錄,或 Windows 的安裝目錄。
    • 使用文字編輯器 (例如 nano、vi 或記事本) 開啟檔案。
  2. 按照下列方式編輯 config.yaml 檔案:

    receivers:
      udplog:
        # Replace the port and IP address as required
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/chronicle_w_labels:
        protocol: https
        # Region of your instance, for example us, europe, asia-southeast1
        location: <LOCATION>
        # Project number of the Google Cloud project linked to the instance
        project: '<PROJECT_NUMBER>'
        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: chronicle.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'AMD_DSS_FIREWALL'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    
    • 將 <LOCATION> 替換為 Google SecOps 執行個體的區域 (例如 us、europe 或 asia-southeast1)。匯出工具會在這個值前面加上 chronicle.googleapis.com。如需完整清單,請參閱「區域性端點」。
    • 將 <PROJECT_NUMBER> 替換為「IAM 與管理」>「設定」中的專案編號。
  • 請根據基礎架構需求,替換通訊埠和 IP 位址。
  • 將 <CUSTOMER_ID> 替換為實際的客戶 ID。
  • 將 /path/to/ingestion-authentication-file.json 更新為服務帳戶金鑰檔案 (選項 1) 的儲存路徑。

舊版 Ingestion API 匯出工具

  • 如果您使用選項 2 的擷取驗證檔案,請將 exporters 區塊替換為下列內容。將 creds_file_path 設為擷取驗證檔案的路徑,如果您的執行個體位於美國境外,請將 malachiteingestion-pa.googleapis.com 替換為區域端點 (例如 europe-malachiteingestion-pa.googleapis.com)。

    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
        log_type: 'AMD_DSS_FIREWALL'
        raw_log_field: body
        ingestion_labels:
    

重新啟動 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"
    

在 AMD Pensando DSS 防火牆上設定 syslog 轉送

AMD Pensando DSS 防火牆支援兩種 Syslog 轉送設定方法:透過 Pensando Policy and Services Manager (PSM) 網頁介面,或透過 Aruba CX 10000 交換器上的 AOS-CX CLI。

透過 Pensando PSM 設定 syslog 匯出

  1. 登入 AMD Pensando Policy and Services Manager (PSM) 網頁介面。
  2. 依序前往「監控」>「快訊和事件」。
  3. 選取「目的地」分頁標籤。
  4. 按一下「新增目的地」。
  5. 提供下列設定詳細資料:
    • 目的地類型:選取「Syslog」。
    • 伺服器位址:輸入 Bindplane 代理程式主機的 IP 位址 (例如 192.168.1.100)。
    • 通訊埠:輸入 Bindplane 代理程式 config.yaml 中設定的通訊埠 (例如 514)。
    • 「Protocol」(通訊協定):選取「UDP」,與 Bindplane 代理程式接收器設定相符。
    • 格式:選取「BSD (RFC 5424)」。
  6. 按一下「儲存」,建立系統記錄目的地。
  7. 選取「警告政策」分頁標籤。
  8. 按一下「新增快訊政策」,定義要轉送哪些事件和快訊。
  9. 選取所需的事件類別和嚴重性等級。
  10. 在「Destinations」(目的地) 部分,選取您建立的 syslog 目的地。
  11. 按一下「儲存」,啟用警告政策。

在 Aruba CX 10000 上透過 AOS-CX CLI 設定系統記錄

  1. 透過 SSH 或控制台連線至 Aruba CX 10000 交換器。
  2. 進入設定模式:

    configure terminal
    
  3. 使用 UDP 設定遠端 Syslog 伺服器 (將 <BINDPLANE_IP> 替換為 Bindplane 代理程式 IP 位址):

    logging <BINDPLANE_IP> udp 514 severity info
    

    或 TCP:

    logging <BINDPLANE_IP> tcp 1470 severity info
    

    或 TLS:

    logging <BINDPLANE_IP> tls 6514 severity info
    
  4. 設定 syslog 設施:

    logging facility local0
    
  5. 儲存設定:

    write memory
    
  6. 退出設定模式:

    exit
    

如要進一步瞭解 AOS-CX 記錄指令,請參閱「AOS-CX CLI 參考資料」。

UDM 對應表

記錄欄位 UDM 對應 邏輯
action read_only_udm.metadata.product_event_type 直接對應。
action read_only_udm.security_result.action 如果動作是「拒絕」,請設為「BLOCK」。如果動作是「allow」,請設為「ALLOW」。
column10 read_only_udm.network.session_id 直接對應。
column11 read_only_udm.additional.fields.value.string_value 直接對應。金鑰會以硬式編碼寫成「security_policy_id」。
column12 read_only_udm.security_result.rule_id 直接對應。
column13 read_only_udm.security_result.rule_name 直接對應。
column14 read_only_udm.network.sent_packets 直接對應。
column15 read_only_udm.network.sent_bytes 直接對應。
column16 read_only_udm.network.received_packets 直接對應。
column17 read_only_udm.network.received_bytes 直接對應。
column18 read_only_udm.additional.fields.value.string_value 直接對應。金鑰會以硬式編碼寫成「vlan」。
column19 read_only_udm.principal.asset.software.vendor_name 直接對應。
column19 read_only_udm.principal.asset.software.name 直接對應。
column2 read_only_udm.metadata.product_event_type 直接對應。
column20 read_only_udm.principal.asset.software.version 直接對應。
column21 read_only_udm.principal.asset_id 將「asset_id:」與 column21 的值串連。
column22 read_only_udm.principal.asset.attribute.labels.value 直接對應。鍵會以硬式編碼寫成「device_name」。
column23 read_only_udm.principal.asset.attribute.labels.value 直接對應。金鑰會以硬式編碼寫成「unit_id」。
column24 read_only_udm.metadata.product_version 直接對應。
column25 read_only_udm.additional.fields.value.string_value 直接對應。金鑰會以硬式編碼寫成「policy_name」。
column25 read_only_udm.security_result.rule_type 直接對應。
column4 read_only_udm.principal.resource.product_object_id 直接對應。
column5 read_only_udm.principal.ip 直接對應。
column6 read_only_udm.principal.port 直接對應。
column7 read_only_udm.target.ip 直接對應。
column8 read_only_udm.target.port 直接對應。
column9 read_only_udm.network.ip_protocol 將數字通訊協定號碼對應至相應名稱 (例如 6 對應至 TCP,17 對應至 UDP)。
dip read_only_udm.target.ip 直接對應。
dport read_only_udm.target.port 直接對應。
dvc read_only_udm.intermediary.hostname 如果 dvc 不是 IP 位址,請對應至主機名稱。否則請對應至 IP。
iflowbytes read_only_udm.network.sent_bytes 直接對應。
iflowpkts read_only_udm.network.sent_packets 直接對應。
msg_id read_only_udm.additional.fields.value.string_value 直接對應。金鑰會硬式編碼為「msg_id」。
policy_name read_only_udm.additional.fields.value.string_value 直接對應。金鑰會以硬式編碼寫成「policy_name」。
policy_name read_only_udm.security_result.rule_type 直接對應。
proc_id read_only_udm.target.process.pid 直接對應。
proc_name read_only_udm.target.application 直接對應。
protocol_number_src read_only_udm.network.ip_protocol 將數字通訊協定號碼對應至相應名稱 (例如 6 對應至 TCP,17 對應至 UDP)。
rflowbytes read_only_udm.network.received_bytes 直接對應。
rflowpkts read_only_udm.network.received_packets 直接對應。
rule_id read_only_udm.security_result.rule_id 直接對應。
rule_name read_only_udm.security_result.rule_name 直接對應。
sd read_only_udm.additional.fields.value.string_value 直接對應。金鑰以硬式編碼寫成「sd」。
security_policy_id read_only_udm.additional.fields.value.string_value 直接對應。金鑰會硬式編碼為「security_policy_id」。
session_id read_only_udm.network.session_id 直接對應。
session_state read_only_udm.metadata.product_event_type 直接對應。
sip read_only_udm.principal.ip 直接對應。
software_version read_only_udm.principal.asset.software.version 直接對應。
sport read_only_udm.principal.port 直接對應。
ts read_only_udm.metadata.event_timestamp 系統會剖析記錄中的時間戳記,並將格式轉換為 UDM 時間戳記格式。
vlan read_only_udm.additional.fields.value.string_value 直接對應。金鑰會以硬式編碼寫成「vlan」。
read_only_udm.metadata.event_type 如果同時有 sip 和 dip,請設為「NETWORK_UNCATEGORIZED」。如果只有 sip,請設為「STATUS_UPDATE」。否則請設為「GENERIC_EVENT」。
read_only_udm.metadata.log_type 硬式編碼為「AMD_DSS_FIREWALL」。
read_only_udm.metadata.product_name 硬式編碼為「AMD_DSS_FIREWALL」。
read_only_udm.metadata.vendor_name 硬式編碼為「AMD_DSS_FIREWALL」。
read_only_udm.principal.resource.resource_type 硬式編碼為「VPC_NETWORK」。

變更記錄

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

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