收集 Palo Alto Cortex XDR Events 記錄

支援的國家/地區:

本文說明如何使用 Google Cloud Storage,將 Palo Alto Cortex XDR 事件記錄檔擷取至 Google Security Operations。剖析器會從 Palo Alto Networks Cortex XDR JSON 記錄中擷取安全事件資料。系統會根據與 event_typeevent_sub_type 欄位相關的條件式邏輯,對應欄位、轉換資料類型,並使用供應商、產品和事件類型等中繼資料擴充事件,將資料正規化為整合式資料模型 (UDM)。此外,它還會處理網路連線、檔案和登錄作業、程序資訊,以及使用者活動。

事前準備

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

  • Google SecOps 執行個體
  • Google Cloud 儲存空間已在環境中設定並啟用 Google Cloud
  • Google Cloud 的特殊存取權和適當權限
  • Palo Alto Cortex XDR 的特殊權限

建立 Google Cloud 儲存空間 bucket

  1. 登入 Google Cloud 主控台。
  2. 前往「Cloud Storage Buckets」(Cloud Storage bucket) 頁面。

    前往「Buckets」(值區) 頁面

  3. 點選「建立」

  4. 在「建立 bucket」頁面中,輸入 bucket 資訊。完成下列每個步驟後,請按一下「繼續」前往下一個步驟:

  5. 在「開始使用」部分中,執行下列操作: * 輸入符合 bucket 名稱規定的不重複名稱 (例如 cortex-xdr-events-googlesecops)。 * 如要啟用階層命名空間,請按一下展開箭頭,展開「為檔案導向和資料密集型工作負載提供最理想的儲存空間」部分,然後選取「為這個值區啟用階層命名空間」

    Note: You can't enable hierarchical namespace in an existing bucket.
    
    * To add a bucket label, click the expander arrow to expand the **Labels** section.
    * Click **Add label** and specify a key and a value for your label.
    
  6. 在「Choose where to store your data」(選擇資料的儲存位置) 專區中執行下列操作: * 選取「位置類型」。 * 使用位置類型選單,選取要永久儲存 bucket 內物件資料的位置

    Note: If you select the **dual-region** location type, you can also choose to enable **turbo replication** by selecting the relevant checkbox.
    
    * To set up cross-bucket replication, expand the **Set up cross-bucket replication** section.
    
  7. 在「為資料選擇儲存空間級別」部分,選取值區的預設儲存空間級別,或選取「Autoclass」,讓系統自動管理值區資料的儲存空間級別。

  8. 在「選取如何控制物件的存取權」部分,選取「否」以強制禁止公開存取,並為值區物件選取存取權控管模型

  9. 在「選擇保護物件資料的方式」專區中,執行下列操作: * 選取「資料保護」下方的任何選項,為 bucket 設定保護機制。 * 如要選擇物件資料的加密方式,請按一下「資料加密」展開箭頭,然後選取「資料加密方法」

  10. 點選「建立」

設定 Cortex XDR 事件轉送

  1. 登入 Cortex XDR 網頁版 UI。
  2. 依序前往「設定」>「設定」>「資料管理」>「事件轉送」
  3. 在「啟用」部分啟用授權。
  4. 啟用 GB 事件轉送,將 Cortex XDR Pro 每 GB 的已剖析記錄檔匯出至外部 SIEM 儲存。
  5. 啟用「端點事件轉送」,匯出 Cortex XDR Pro EP 和 Cloud Endpoints 的原始端點資料。
  6. 儲存所選項目。
  7. 複製顯示的儲存路徑。
  8. 產生下載服務帳戶 JSON WEB TOKEN,其中包含存取金鑰。
  9. 將檔案儲存安全的位置

設定 Google Cloud Secret Manager

  1. 登入 GCP
  2. 前往「Secret Manager」頁面。
  3. 如果是第一次使用,系統會提示您啟用 Secret Manager API
  4. 建立名為 EVENT_FRWD_CRTX_KEY 的密鑰,然後將您下載的 JSON xdr_sa_key.json 內容複製為密鑰的值。

設定動態饋給

在 Google SecOps 平台中,有兩種不同的進入點可設定動態饋給:

  • 「SIEM 設定」>「動態消息」
  • 內容中心 > 內容包

依序前往「SIEM 設定」>「動態饋給」,設定動態饋給

如要設定動態消息,請按照下列步驟操作:

  1. 依序前往「SIEM 設定」>「動態饋給」
  2. 按一下「新增動態消息」
  3. 在下一個頁面中,按一下「設定單一動態饋給」
  4. 在「動態饋給名稱」欄位中,輸入動態饋給的名稱 (例如「PANW Cortex XDR Event Logs」)。
  5. 選取「Google Cloud Storage」做為「來源類型」。
  6. 選取「Palo Alto Cortex XDR Events」做為「記錄類型」
  7. 按一下「Chronicle 服務帳戶」的「取得服務帳戶」
  8. 點選「下一步」
  9. 指定下列輸入參數的值:

    • 儲存空間值區 URI:儲存空間值區網址 (例如 gs://cortex-xdr-events-chronicle)。 Google Cloud
    • 「URI Is A」(URI 為):選取「Directory which includes subdirectories」(包含子目錄的目錄)
    • 來源刪除選項:根據偏好設定選取刪除選項。
  10. 點選「下一步」

  11. 在「Finalize」畫面上檢查新的動態饋給設定,然後按一下「Submit」

  12. 動態消息建立完成後,請在「動態消息」清單中找到該動態消息,然後按一下該行右側的三個動作點。

  13. 選取「停用動態消息」

從內容中心設定動態饋給

為下列欄位指定值:

  • 儲存空間值區 URI:儲存空間值區網址 (例如 gs://cortex-xdr-events-chronicle)。 Google Cloud
  • 「URI Is A」(URI 為):選取「Directory which includes subdirectories」(包含子目錄的目錄)
  • 來源刪除選項:根據偏好設定選取刪除選項。

進階選項

  • 動態饋給名稱:系統預先填入的值,用於識別動態饋給。
  • 來源類型:將記錄收集到 Google SecOps 的方法。
  • 資產命名空間:與動態饋給相關聯的命名空間。
  • 擷取標籤:套用至這個動態饋給所有事件的標籤。

設定 Cloud Storage 的密鑰 JSON 存取權

  1. 登入 GCP
  2. 前往「Secret Manager」頁面。
  3. 選取密鑰 EVENT_FRWD_CRTX_KEY
  4. 前往「權限」分頁標籤。
  5. 為先前建立的 bucket cortex-xdr-events-chronicle 提供「儲存空間物件管理員」和「儲存空間舊版 bucket 讀取者」存取權。

設定 Cloud Storage 的 Google SecOps 權限

  1. 前往「IAM 與管理」>「IAM」
  2. 找到 Chronicle 服務帳戶
  3. Storage 物件檢視者 (roles/storage.objectViewer) 存取權授予先前建立的 bucket cortex-xdr-events-chronicle

設定 PANW Cortex XDR Events 記錄檔,將資料擷取至專案 Cloud Storage

  1. 在 Google Cloud中,依序前往「API 和服務」>「程式庫」
  2. 啟用 Cloud RunArtifact Registry API。
  3. 按一下頂端導覽列中的圖示,開啟 Cloud Shell
  4. 使用下列指令下載自訂程式碼:

    git clone https://github.com/PaloAltoNetworks/google-cloud-cortex-chronicle.git
    
  5. 執行下列指令,前往該目錄:

    cd google-cloud-cortex-chronicle/
    
  6. 使用 vi 等編輯器開啟 env.properties 檔案。

  7. 請提供下列設定詳細資料:

    REGION=us-central1 # Update according to your project region
    REPO_NAME=panw-chronicle
    IMAGE_NAME=sync_cortex_bucket
    GCP_PROJECT_ID=chrxxxxxxxxx # Update according to your project ID
    JOB_NAME=cloud-run-job-cortex-data-sync # The Cloud Job name 
    ROJECT_NUMBER=80xxxxx9 # Update according to your project number
    # JOB ENV VARIABLES
    SRC_BUCKET=xdr-us-xxxxx-event-forwarding # Update with the Cortex XDR GCS bucket name
    DEST_BUCKET=cortex-xdr-events-chronicle # Update with the GCS name of the bucket you created
    SECRET_NAME=EVENT_FRWD_CRTX_KEY # Need to match the secret you created
    JOB_SCHEDULE_MINS=30
    
  8. 授予 deploy.sh 指令碼必要權限:

    chmod 744 deploy.sh
    
  9. 執行 deploy.sh 指令碼:

    ./deploy.sh
    
  10. 從指令碼輸出內容找出使用的 Cloud Job 服務帳戶。

  11. 將「Secret Manager 密鑰上層祖項」權限授予「Cloud Job」服務帳戶,以便存取您先前建立的密鑰 (如範例中的 EVENT_FRWD_CRTX_KEY)。

  12. 依序前往「Secret Manager」>「EVENT_FRWD_CRTX_KEY」(密碼) >「Permissions」

  13. 在 Google SecOps 平台中,依序前往「SIEM Settings」>「Feeds」>「XDR Events Feed Name」>「Enable Feed」

UDM 對應表

記錄欄位 UDM 對應 邏輯
action_file_path target.file.full_path 直接對應
action_file_size target.file.size 直接對應並轉換為不帶正負號的整數
action_local_ip principal.ip 直接對應並與其他 IP 位址合併
action_local_port principal.port 直接對應並轉換為整數
action_module_path target.process.file.full_path 直接對應
action_network_connection_id network.session_id 直接對應
action_network_protocol network.ip_protocol 已重新命名為 protocol_number_src、使用 parse_ip_protocol.include 剖析,並對應至 network.ip_protocol
action_process_image_command_line target.process.command_line 直接對應
action_process_image_md5 target.process.file.md5 直接對應
action_process_image_path target.process.file.full_path 直接對應
action_process_image_sha256 target.process.file.sha256 直接對應
action_process_os_pid target.process.pid 直接對應並轉換為字串
action_process_user_sid target.user.windows_sid 直接對應
action_process_username target.user.useridtarget.administrative_domain 轉換為小寫、剖析網域和使用者,並據此對應
action_registry_data target.registry.registry_value_data 直接對應
action_registry_key_name target.registry.registry_key 直接對應
action_registry_value_name target.registry.registry_value_name 直接對應
action_remote_ip target.ip 直接對應並與其他 IP 位址合併
action_remote_port target.port 直接對應並轉換為整數
action_total_download network.received_bytes 直接對應並轉換為不帶正負號的整數
action_total_upload network.sent_bytes 直接對應並轉換為不帶正負號的整數
agent_hostname principal.hostnameobserver.hostname 轉換為小寫並對應
agent_ip_addresses observer.ip 剖析為 JSON、拆分為個別 IP,然後合併
agent_os_sub_type target.platform_version 直接對應
event_id metadata.product_log_id 直接對應
event_sub_type metadata.product_event_type 轉換為字串,並用於 metadata.event_typemetadata.product_event_type 的條件式對應
event_timestamp metadata.event_timestamptimestamp 轉換為字串、剖析為 UNIX_MS 時間戳記,並對應
event_type metadata.event_type 轉換為字串,並用於 metadata.event_typemetadata.product_event_type 的條件式對應
os_actor_process_command_line principal.process.command_line 直接對應
os_actor_process_image_md5 principal.process.file.md5 直接對應
os_actor_process_image_path principal.process.file.full_path 直接對應
os_actor_process_image_sha256 principal.process.file.sha256 直接對應
os_actor_process_instance_id principal.process.product_specific_process_id 加上「PAN:」前置字串並對應
os_actor_process_os_pid principal.process.pid 已轉換為字串並對應
os_actor_primary_user_sid principal.user.windows_sid 如果開頭為「S-」或「s-」,則會對應
os_actor_primary_username principal.user.useridprincipal.administrative_domain 轉換為小寫、剖析網域和使用者,並據此對應
_action security_result.action 合併至「_security_result」並對應
metadata.log_type metadata.log_type 硬式編碼為「PAN_CORTEX_XDR_EVENTS」
metadata.product_name metadata.product_name 硬式編碼為「Cortex XDR」
metadata.vendor_name metadata.vendor_name 硬式編碼為「PAN」
target.platform target.platform 如果 agent_os_sub_type 包含「Windows」,則設為「WINDOWS」

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