HTTP v2

本文提供相關指引,說明如何將 HTTP 第 2 版與 Google Security Operations 的 SOAR 模組整合,以及如何使用「Execute HTTP Request」(執行 HTTP 要求)動作。

整合版本:5.0

總覽

使用 HTTP v2 與第三方產品整合,不必編寫程式碼,即可解決執行 API 要求、處理檔案及管理非同步流程等用途。

驗證流程

視您要驗證的產品而定,HTTP v2 支援下列驗證流程:

  • 基本驗證流程
  • API 金鑰流程
  • 專屬驗證流程

基本驗證流程

使用基本驗證流程時,請使用 Test URLBasic Auth UsernameBasic Auth Password 參數進行驗證。

API 金鑰流程

使用 API 金鑰流程時,請使用 Test URLAPI Key Field NameAPI Key Field Value 參數進行驗證。

專屬驗證流程

在專屬驗證流程中,系統會使用下列雙重驗證:

  1. 動作會產生存取權杖。

    當「Ping」或「Execute HTTP Request」動作執行時,整合服務會擷取驗證所需的參數。

  2. 動作會使用產生的存取權杖,向 API 要求進行驗證。

專屬驗證流程需要下列整合參數:

  • Dedicated Auth API Request Method
  • Dedicated Auth API Request URL
  • Dedicated Auth API Request Headers
  • Dedicated Auth API Request Body
  • Dedicated Auth API Request Token Field Name

如要進一步瞭解整合參數,請參閱「將 HTTP 第 2 版與 Google SecOps 整合」一文。

如要使用回應中的權杖,請在 Dedicated Auth API Request Token Field Name 參數中提供鍵名。在以下回應範例中,金鑰名稱為 access_token

{
   "access_token": "eyJhbGciOiJSUzI1NiIsImtpZCIO4",
   "expires_in": 1799,
   "token_type": "bearer"
}

如要套用權杖,整合服務必須使用下列專屬預留位置:{{integration.token}}。在酬載中提供這個預留位置時,整合服務會使用產生的權杖。

如果 JSON 回應中的 access_token 鍵顯示為巢狀結構,請為 Dedicated Auth API Request Token Field Name 參數值提供完整權杖位置。舉例來說,請提供巢狀回應的鍵,如下所示,而不是 access_token 提供 data_access_token

{
   "data": {
       "access_token": "eyJhbGciOiJSUzI1NiIsImtpZCIZMI3DQAQsYibMpO4",
       "expires_in": 1799,
       "token_type": "bearer"
   }
}

以下範例顯示 Crowdstrike API 專屬驗證流程的要求:

POST /falconx/entities/submissions/v1 HTTP/1.1
Host: api.crowdstrike.com
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6
Content-Length: 209

{
   "sandbox": [{
       "sha256": "9854c9dfded29d8442499daba01082ba5d164aa02e44",
       "environment_id": 100,
       "submit_name": "filename.pdf"
   }]
}

這個範例會使用含有 Bearer 權杖的 Authorization 標頭,向 API 進行驗證。如要使用正確資訊填入標頭,HTTP v2 整合功能需要下列輸入內容: Authorization: Bearer {{integration.token}}

將 HTTP v2 與 Google SecOps 整合

整合作業需要下列參數:

參數 說明
Test URL 選用

用於基本驗證或 API 金鑰驗證程序的測試網址。

Basic Auth Username 選用

這個參數會與「基本驗證密碼」參數一起新增為每個動作執行的基本驗證標頭。

提供「基本驗證使用者名稱」和「基本驗證密碼」參數。

Basic Auth Password 選用

要新增的參數,會與「Basic Auth Username」參數一起,做為每個動作執行的基本驗證標頭。

提供「基本驗證使用者名稱」和「基本驗證密碼」參數。

API Key Field Name 選用

包含 API 金鑰的標頭名稱。

提供「API 金鑰欄位名稱」和「API 金鑰密碼」 參數,將這些參數新增至每個動作執行作業。

API Key Secret 選用

API 金鑰密鑰值。

提供「API 金鑰欄位名稱」和「API 金鑰密碼」 參數,將這些參數新增至每個動作執行作業。

Dedicated Auth API Request Method 選用

在專屬驗證 API 流程中,用來產生存取權杖的方法。

預設值為 POST

Dedicated Auth API Request URL 選用

用於專屬驗證 API 流程的 API 要求,可產生存取權杖,例如 https://api.crowdstrike.com/oauth2/token

Dedicated Auth API Request Headers 選用

專用驗證 API 流程中使用的標頭,用於產生存取權杖。

以 JSON 物件形式提供標頭,例如:

    {
    "Content-type": "application/x-www-form-urlencoded"
    }
    
Dedicated Auth API Request Body 選用

在專屬驗證 API 流程中使用的要求主體,用於產生存取權杖。以 JSON 物件形式提供參數值,例如:

    {
    "client_id": "CLIENT_ID",
    "client_secret": "CLIENT_SECRET"
    }
    
Dedicated Auth API Request Token Field Name
選用

包含所產生存取權杖的欄位名稱。如要在動作中使用存取權杖,請使用下列預留位置: {{integration.token}}

產生權杖的回應會使用底線 (_) 做為分隔符。

CA Certificate 選用

用於驗證安全連線的憑證授權單位 (CA) 憑證。

如果您使用遠端代理程式連線至內部部署產品,請為整合服務提供 CA 憑證,確保連線完整性,進一步提升安全性。提供 CA 憑證後,所有 API 要求都會使用該憑證。

這個參數接受 Base64 編碼字串形式的 CA 憑證。

Verify SSL 必要

選取後,系統會驗證所有整合連線的 SSL 憑證是否有效。

(此為預設選項)。

建議您為環境中整合的每個第三方產品,建立個別的 HTTP 第 2 版整合執行個體。如要進一步瞭解多個整合執行個體,請參閱「支援多個執行個體」。

如何使用 HTTP v2 整合

本節說明如何修改「執行 HTTP 要求」動作參數,以使用 HTTP 第 2 版整合。

使用 Body Payload 參數

為確保主體結構正確無誤,請在 Headers 參數中提供正確的 Content-Type 標頭。「執行 HTTP 要求」動作會為下列相同參數輸入產生不同酬載:

{
  "Id": "123123",
  "sorting": "asc"
}

對於 "Content-Type:" "application/x-www-form-urlencoded" 標頭值,產生的酬載為 Id=123123&sorting=asc

針對 "Content-Type": "application/json" 標頭值,產生的酬載如下:

{
  "Id": "123123",
  "sorting": "asc"
}

使用 XML 時,請提供 XML 格式的輸入內容,例如:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
 <soap:Body>
   <NumberToWords xmlns="http://www.dataaccess.com/webservicesserver/">
     <ubiNum>500</ubiNum>
   </NumberToWords>
 </soap:Body>
</soap:Envelope>

使用非同步流程

建立及執行搜尋工作等非同步 API 流程,需要等待結果完成處理,才能執行下一個 API 要求。舉例來說,您可以在 Google SecOps SIEM 中建立搜尋工作,等待搜尋工作執行完畢,然後使用 Expected Response Values 參數擷取結果。

在下列回應範例中,state 鍵可包含 errorin_progressfinished 值:

{
   "state": "in_progress",
   "percentage": "10"
}

您可以將 Expected Response Values 參數設為下列值,要求「執行 HTTP 要求」動作以非同步模式執行,直到回應包含 finished 狀態為止:

{
   "state": "finished"
}

如要在發生錯誤時不要等到逾時,請在參數值中提供額外條件。在下列輸入範例中,當狀態為 finished error 時,動作會停止執行:

{
   "state": [
       "finished",
       "error"
   ]
}

在以下範例中,當狀態為 finished 百分比鍵值為 100 時,動作會停止執行:

{
   "state": "finished",
   "percentage": "100"
}

您可以在一個輸入中合併多個鍵盤條件,例如:

{
   "state": [
       "finished",
       "error"
   ],
   "percentage": "100"
}

您可以設定 Expected Response Values 參數,針對特定鍵/值組合預期輸出內容。「執行 HTTP 要求」動作會搜尋整個 JSON 回應物件中的特定鍵,且只有在您將所有相符的鍵名設為相同的預期鍵值時,才會視為達到預期輸出。舉例來說,如要讓動作在 JSON 回應中搜尋 finished 狀態相符項目,並忽略任何其他狀態,請將 Expected Response Values 參數輸入中的所有 state 鍵設為 finished 值:

{
"data": {
  "state": "finished"
  },
  "state": "finished"
}

Expected Response Values 參數會從巢狀 JSON 物件擷取必要值。在下列範例中,請只提供 state 鍵,而非 data_statedata-state

{
   "data": {
       "state": [
           "finished",
           "error"
       ],
       "percentage": "100"
   }
}

處理檔案

處理檔案包含兩個不同的工作流程:

  • 下載檔案
  • 上傳檔案

下載檔案

「執行 HTTP 要求」動作可以將檔案以 Base64 輸出形式傳回 JSON 物件,或將檔案儲存至案件牆,並壓縮成 ZIP 檔案。

如要以 base64 格式傳回 JSON 結果中的資料,請選取 Base64 Output 參數。如要將檔案儲存到案件牆,請選取 Save To Case Wall 參數。

如果您處理惡意軟體等機密檔案,請選取 Password Protect Zip 參數。對於所有受密碼保護的 ZIP 檔案,這項動作會自動將密碼設為 infected

上傳檔案

如要上傳檔案,請將檔案轉換為 base64 格式,然後以 Body Payload 參數值的形式提交。圖片檔案轉換為 base64 格式的範例如下:

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

如要進一步瞭解如何使用 Body Payload 參數,請參閱本文的「使用 Body Payload 參數」一節。

以程式碼形式呈現的積木

您可以在 Google SecOps 中使用 HTTP 第 2 版整合和劇本區塊功能,建構可重複使用的內容。舉例來說,您可以建立包含 HTTP v2 動作的劇本區塊,並設定整合功能,將動作結果做為區塊輸入內容。如要進一步瞭解應對手冊區塊,請參閱「使用應對手冊區塊」。

建立應對手冊區塊

如要建立劇本區塊,請完成下列步驟:

  1. 在 Google SecOps 中,依序前往「Response」>「Playbooks」
  2. 在「應對手冊」頁面的導覽列中,選取「新增」新增應對手冊或模塊。系統會開啟「建立新項目」視窗。
  3. 在「Create New」視窗中,將 Type 參數設為 Block
  4. 針對 Choose Folder 參數,選取要儲存新區塊的資料夾。
  5. Environment 參數中,選取您的環境。
  6. 點按「Create」(建立)。「New Block」(新區塊) 頁面隨即開啟。設定新的應對手冊模塊,以便在多個應對手冊中使用。

以下是設定劇本區塊的範例。

應對手冊區塊設定範例

以下範例是自訂的「執行 HTTP 要求」動作,會將留言傳送至 ServiceNow。這個動作會使用自訂應對手冊模塊建立的 commentsys_idtable_name 參數做為輸入參數。如要設定動作參數,請完成下列步驟:

  1. Method 參數設為 PUT

  2. URL Path 參數設為下列值:

    https://SERVICE_NOW_INSTANCE.service-now.com/api/now/table/[Input.table_name]/[Input.sys_id]
    
  3. Headers 參數設為下列值:

    {"Content-type": "application/json; charset=utf-8",
    "Accept": "application/json", "User-Agent": "GoogleSecops"}
    
  4. Body Payload 參數設為下列值:

    {
    "work_notes": "[Input.comment]"
    }
    

如要將方塊輸入項提供的值做為動作的預留位置,預留位置必須在參數名稱前包含 Input. 前置字元。如果方塊的輸入內容是 keyname,則預留位置為 [Input.keyname]

動作

HTTP v2 整合包含下列動作:

執行 HTTP 要求

使用 HTTP 第 2 版整合功能執行 HTTP 要求。

使用這項動作建立自訂 HTTP 要求,並傳回相關資訊。 這項動作中的所有參數都可以修改。

這項操作不會對實體執行。

動作輸入內容

「執行 HTTP 要求」動作需要下列參數:

參數 說明
Method
選用

要求中要使用的方法。

預設值為 GET

可能的值包括:
  • GET
  • POST
  • PUT
  • PATCH
  • DELETE
  • HEAD
  • OPTIONS
URL Path
選用

要執行的網址。

URL Params 選用

網址參數。

動作會使用與 URL 路徑參數中直接提供的值一併提供的任何值。

舉例來說,後端的 ?parameter=value&sorting=asc 字串表示輸入內容如下:
    {
    "parameter": "value",
    "sorting": "asc"
    }
    

這個參數需要 JSON 物件格式做為輸入內容。預設值如下:

{
    "URL Field Name": "URL_FIELD_VALUE"
    }
Headers
選用

HTTP 要求中使用的標頭。

舉例來說,含有 AcceptUser-Agent 標頭的 HTTP 要求需要下列輸入內容:

    {
    "Accept": "application/json",
    "User-Agent": "Google Secops"
    }
    

這個參數需要 JSON 物件格式做為輸入內容。預設值如下:

{
    "Content-Type": "application/json; charset=utf-8",
    "Accept": "application/json",
    "User-Agent" : "GoogleSecOps"
    }
Cookie 選用

要在 Cookie 標頭中使用的參數。

這個參數會覆寫 Headers 參數中提供的 Cookie。

舉例來說,如要包含含有 PHPSESSID=298zf09hf012fh2; csrftoken=u32t4o3tb3gg43; 值的 Cookie 標頭,HTTP 要求需要下列輸入內容:

    {
    "PHPSESSID": "298zf09hf012fh2",
    "csrftoken": "u32t4o3tb3gg43"
    }
    

這個參數需要 JSON 物件格式做為輸入內容。預設值如下:

{
    "Cookie_1": "COOKIE_1_VALUE"
    }
Body Payload
選填

HTTP 要求的內容。這個動作會根據 Headers 參數中提供的 Content-Type 標頭值,建構不同的酬載。

這個參數需要 JSON 物件格式做為輸入內容,但第三方產品需要 XML 或 multipart/form-data 內容時除外。如要使用 API 要求提交或上傳檔案,請在「Body Payload」參數中提供檔案的 base64 編碼版本,並將標頭設為 "Content-type": "multipart/form-data"

預設值如下:

{
    "Body Field Name": "BODY_FIELD_VALUE"
    }
Expected Response Values
選用

預期的回應值。

如果提供這個參數,動作會以非同步模式運作,並執行到收到預期值或逾時為止。

Save To Case Wall
選用

如果選取這個選項,系統會儲存檔案,並將儲存的檔案附加至案件總覽。檔案會以 .zip 副檔名封存。.zip 檔案未受密碼保護。

預設為未選取。

Password Protect Zip
選用

如果選取此動作,系統會使用「Save To Case Wall」參數建立 .zip 檔案,並為該檔案新增密碼。密碼如下:infected

處理可疑檔案時,請使用這個參數。

(此為預設選項)。

Follow Redirects 選用

如果選取這個選項,動作會跟隨重新導向。

(此為預設選項)。

Fail on 4xx/5xx 選用

如果選取這個選項,當回應的狀態碼為 4xx 或 5xx 錯誤時,動作就會失敗。

(此為預設選項)。

Base64 Output
選用

如果選取這個動作,系統會將回應轉換為 Base64 格式。

下載檔案時請使用這個參數。

JSON 結果不得超過 15 MB。

預設為未選取。

Fields To Return 必要

要傳回的欄位。可能的值包括:

  • response_data
  • redirects
  • response_code
  • response_cookies
  • response_headers
  • apparent_encoding
Request Timeout 必要

動作失敗前,等待伺服器傳送資料的時間長度。

預設值為 120 秒。

動作輸出內容

「執行 HTTP 要求」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件訊息牆表格 無法使用
補充資訊表格 無法使用
JSON 結果 可用
輸出訊息 可用
指令碼結果 可用
JSON 結果

以下範例說明使用「執行 HTTP 要求」動作時收到的 JSON 結果輸出內容:

{
   "response_data": {
       "data": {
           "relationships": {
               "comment": [
                   {
                       "name": "item",
                       "description": "Object to which the comment belongs to."
                   },
                   {
                       "name": "author",
                       "description": "User who wrote the comment."
                   }
               ]
           }
       }
   },
   "redirects": [],
   "response_code": 200,
   "cookies": {},
   "response_headers": {
       "Content-Type": "application/json",
       "X-Cloud-Trace-Context": "1ca450b35c66634a2ae01248cca50b19",
       "Date": "Fri, 03 Nov 2023 16:14:13 GMT",
       "Server": "Google Frontend",
       "Content-Length": "36084"
   },
   "apparent_encoding": "ascii"
}
輸出訊息

在案件牆上,「執行 HTTP 要求」動作會提供下列輸出訊息:

輸出訊息 訊息說明

Successfully executed API request.

Successfully executed API request, but status code STATUS_CODE was in response.

動作成功。

Failed to execute API request. Error: ERROR_REASON

Failed to execute API request. Error: Invalid parameter "PARAMETER_NAME".

The JSON structure is invalid. Wrong value provided: VALUE

動作失敗。

檢查與伺服器的連線、輸入參數、JSON 檔案值或憑證。

指令碼結果

下表說明使用「執行 HTTP 要求」動作時,指令碼結果輸出的值:

指令碼結果名稱
is_success TrueFalse

乒乓

使用這項動作測試連線。

動作輸入內容

動作輸出內容

Ping 動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件訊息牆表格 無法使用
補充資訊表格 無法使用
JSON 結果 無法使用
輸出訊息 可用
指令碼結果 可用
輸出訊息

在案件總覽頁面中,「Ping」動作會提供下列輸出訊息:

輸出訊息 訊息說明
Successfully tested connectivity. 動作成功。
Failed to test connectivity.

動作失敗。

檢查伺服器的連線、輸入參數或憑證。

指令碼結果

下表說明使用 Ping 動作時,指令碼結果輸出的值:

指令碼結果名稱
is_success TrueFalse

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