Cloudflare
本文說明如何將 Cloudflare 與 Google Security Operations 整合。
產品用途
執行實體擴充作業
在 Google Security Operations 中設定 Cloudflare 整合功能
請參閱這篇說明文章,瞭解在 Google SecOps 中設定整合功能的詳細操作說明。
整合參數
請使用下列參數設定整合:
| 參數顯示名稱 | 類型 | 預設值 | 為必填項目 | 說明 |
|---|---|---|---|---|
| API 根層級 | 字串 | https://api.cloudflare.com |
是 | Cloudflare 執行個體的 API 根層級。 |
| API 權杖 | 密碼 | 不適用 | 是 | Cloudflare 執行個體的 API 權杖。 |
| 帳戶名稱 | 字串 | 不適用 | 是 | 整合作業中需要使用的帳戶名稱。 |
| 驗證 SSL | 核取方塊 | 已勾選 | 否 | 如果啟用,系統會驗證連線至 Cloudflare 伺服器的 SSL 憑證是否有效。 |
如何設定權杖
- 前往「Profile Settings」,然後按一下「API Tokens」。
- 依序前往「建立權杖」>「建立自訂權杖」,然後選取下列權限:
| 帳戶 | 帳戶 WAF | 讀取 |
| 帳戶 | 規則政策 | 讀取 |
| 帳戶 | 帳戶篩選器清單 | 編輯 |
| 帳戶 | 帳戶防火牆存取權 | 編輯 |
| 帳戶 | DNS 防火牆 | 讀取 |
| 帳戶 | 帳戶設定 | 讀取 |
| 可用區 | 可用區網路應用程式防火牆 | 編輯 |
| 可用區 | 區域設定 | 讀取 |
| 可用區 | 可用區 | 讀取 |
| 可用區 | 記錄 | 讀取 |
| 可用區 | 防火牆服務 | 編輯 |
| 可用區 | 防火牆服務 | 讀取 |
| 可用區 | 數據分析 | 讀取 |

動作
將 IP 新增至規則清單
說明
將 IP 位址新增至 Cloudflare 的規則清單。支援的實體:IP 位址。
參數
| 參數顯示名稱 | 類型 | 預設值 | 為必填項目 | 說明 |
|---|---|---|---|---|
| 規則名稱 | 字串 | 不適用 | 是 | 指定要新增規則清單項目的規則清單名稱。 |
| 說明 | 字串 | 不適用 | 否 | 為新加入的規則清單項目指定說明。 |
執行日期
這項操作會對 IP 位址實體執行。
動作執行結果
指令碼執行結果
| 指令碼結果名稱 | 值選項 | 範例 |
|---|---|---|
| is_success | True/False | is_success:False |
JSON 結果
{
"result": {
"operation_id": "f16b978552ca49f88b36fe628de31142"
},
"success": true,
"errors": [],
"messages": []
}
案件總覽
| 結果類型 | 值 / 說明 | 類型 |
|---|---|---|
| 輸出訊息* | 動作不得失敗,也不得停止應對手冊執行: 如果某個實體回報 200 狀態碼 (is_success=true):「已成功將下列實體新增至 Cloudflare 的 {name} 規則清單:{entity.identifier}。」 如果某個實體未成功 (is_success=true):「Action 無法將下列實體新增至 Cloudflare 中的『{name}』規則清單:{entity.identifier}。」 如果並非所有實體都成功新增 (is_success=false):「提供的實體皆未新增至『{name}』規則清單。」 動作應會失敗並停止執行應對手冊: 如果系統回報嚴重錯誤,例如憑證錯誤、無法連線至伺服器或其他錯誤:「Error executing action "Add IP To Rule List" (執行「將 IP 新增至規則清單」動作時發生錯誤)。原因:{0}''.format(error.Stacktrace) 如果找不到清單:「Error executing action "Add IP To Rule List". 原因:Cloudflare 中找不到規則清單「{name}」。 如果清單類型無效:「Error executing action "Add IP To Rule List". 原因:規則清單「{name}」不是「IP」類型。 |
一般 |
將網址新增至規則清單
說明
在 Cloudflare 的規則清單中新增網址。支援的實體:網址。
參數
| 參數顯示名稱 | 類型 | 預設值 | 為必填項目 | 說明 |
|---|---|---|---|---|
| 規則名稱 | 字串 | 不適用 | 是 | 指定要新增規則清單項目的規則清單名稱。 |
| 來源網址 | 字串 | 不適用 | 是 | 指定規則清單項目的來源網址。 |
| 說明 | 字串 | 不適用 | 否 | 為新加入的規則清單項目指定說明。 |
| 狀態碼 | DDL | 301 可能的值:
|
否 | 指定規則清單項目的狀態。 |
| 保留查詢字串 | 核取方塊 | 已取消勾選 | 否 | 啟用後,規則清單項目會保留查詢字串。 |
| 包含子網域 | 核取方塊 | 已取消勾選 | 否 | 啟用後,規則清單項目會包含子網域。 |
| 子路徑比對 | 核取方塊 | 已取消勾選 | 否 | 如果啟用,規則清單項目會與子路徑相符。 |
| 保留路徑後置字元 | 核取方塊 | 已取消勾選 | 否 | 如果啟用,規則清單項目會保留路徑後置字元。 |
執行日期
這項操作會對 IP 位址實體執行。
動作執行結果
指令碼執行結果
| 指令碼結果名稱 | 值選項 | 範例 |
|---|---|---|
| is_success | True/False | is_success:False |
JSON 結果
{
"result": {
"operation_id": "f16b978552ca49f88b36fe628de31142"
},
"success": true,
"errors": [],
"messages": []
}
案件總覽
| 結果類型 | 值 / 說明 | 類型 |
|---|---|---|
| 輸出訊息* | 動作不得失敗,也不得停止應對手冊執行: 如果某個實體的狀態碼為 200 (is_success=true):「已成功將下列實體新增至 Cloudflare 的 {name} 規則清單:{entity.identifier}。」 如果某個實體未成功 (is_success=true):「Action 無法將下列實體新增至 Cloudflare 中的『{name}』規則清單:{entity.identifier}。」 如果並非所有實體都成功 (is_success=false):「提供的實體皆未新增至『{name}』規則清單。」 動作應會失敗並停止執行應對手冊: 如果系統回報嚴重錯誤,例如憑證錯誤、無法連線至伺服器或其他錯誤:「執行動作『將網址新增至規則清單』時發生錯誤。原因:{0}''.format(error.Stacktrace) 如果找不到清單:「Error executing action "Add URL To Rule List". 原因:Cloudflare 中找不到規則清單「{name}」。 如果清單類型無效:「執行動作『將網址新增至規則清單』時發生錯誤。原因:規則清單「{name}」不是「重新導向」類型。 |
一般 |
建立防火牆規則
說明
在 Cloudflare 中建立防火牆規則。
參數
| 參數顯示名稱 | 類型 | 預設值 | 為必填項目 | 說明 |
|---|---|---|---|---|
| 區域名稱 | 字串 | 不適用 | 是 | 指定包含防火牆規則的區域名稱。 |
| 名稱 | 字串 | 不適用 | 否 | 指定防火牆規則的名稱。 |
| 動作 | DDL | 封鎖 可能的值:
|
否 | 指定防火牆規則的動作。 如果選取「封鎖」,則必須在「產品」參數中提供值。 |
| 運算式 | 字串 | 不適用 | 是 | 指定防火牆規則的運算式。 |
| 產品 | CSV | 不適用 | 否 | 指定防火牆規則的產品清單 (以逗號分隔)。 注意:只有在「動作」參數選取「略過」時,才必須提供這個參數。 可能的值:zoneLockdown、uaBlock、bic、hot、securityLevel、rateLimit、waf |
| 優先順序 | 整數 | 不適用 | 否 | 指定防火牆規則的優先順序。 |
| 參考標記 | 字串 | 不適用 | 否 | 指定防火牆規則的參照標記。 注意:長度上限為 50 個半形字元。 |
執行日期
這項動作不會在實體上執行。
動作執行結果
指令碼執行結果
| 指令碼結果名稱 | 值選項 | 範例 |
|---|---|---|
| is_success | True/False | is_success:False |
JSON 結果
{
{
"id": "b520c154bdeb4fe2a1f647b2c6b35829",
"paused": false,
"description": "Blocks traffic identified during investigation for MIR-31",
"action": "block",
"priority": 50,
"filter": {
"id": "fc6dfad848c24a42ae5be0114db09fb9",
"expression": "(ip.geoip.continent eq \"ASIA\")",
"paused": false
},
"created_on": "2022-07-25T11:19:22Z",
"modified_on": "2022-07-25T11:19:22Z",
"index": 0
}
}
案件總覽
| 結果類型 | 值 / 說明 | 類型 |
|---|---|---|
| 輸出訊息* | 動作不得失敗,也不得停止應對手冊執行: 如果系統回報狀態碼 200 (is_success=true):「已在 Cloudflare 的『{zone_name}』區域中成功建立新的防火牆規則。」。 動作應會失敗並停止執行應對手冊: 如果系統回報嚴重錯誤,例如憑證錯誤、無法連線至伺服器或其他錯誤:「Error executing action "Create Firewall Rule". 原因:{0}''.format(error.Stacktrace) 如果錯誤清單不為空白:「執行動作『建立防火牆規則』時發生錯誤。原因:{0}''.format(errors/message) 如果找不到區域:「Error executing action "Create Firewall Rule". 原因:Cloudflare 中找不到區域「{zone_name}」。 |
一般 |
建立規則清單
說明
在 Cloudflare 中建立規則清單。
參數
| 參數顯示名稱 | 類型 | 預設值 | 為必填項目 | 說明 |
|---|---|---|---|---|
| 名稱 | 字串 | 不適用 | 是 | 指定規則清單的名稱。 |
| 類型 | DDL | IP 位址 可能的值:
|
否 | 指定規則清單的類型。 |
| 說明 | 字串 | 不適用 | 否 | 指定規則清單的說明。 |
執行日期
這項動作不會在實體上執行。
動作執行結果
指令碼執行結果
| 指令碼結果名稱 | 值選項 | 範例 |
|---|---|---|
| is_success | True/False | is_success:False |
JSON 結果
{
"id": "d19589d629f140c0b961c467feadf99d",
"name": "123",
"kind": "ip",
"num_items": 0,
"description": "description",
"num_referencing_filters": 0,
"created_on": "2022-07-25T12:13:46Z",
"modified_on": "2022-07-25T12:13:46Z"
}
案件總覽
| 結果類型 | 值 / 說明 | 類型 |
|---|---|---|
| 輸出訊息* | 動作不得失敗,也不得停止應對手冊執行: 如果回報 200 狀態碼 (is_success = true):「Successfully create a rule list in Cloudflare.」(已在 Cloudflare 中成功建立規則清單)。 動作應會失敗並停止執行應對手冊: 如果系統回報嚴重錯誤,例如憑證錯誤、無法連線至伺服器或其他錯誤:「Error executing action "Create Rule List". 原因:{0}''.format(error.Stacktrace) 如果錯誤清單不為空白:「執行動作『建立規則清單』時發生錯誤。原因:{0}''.format(errors/message) |
一般 |
列出防火牆規則
說明
列出 Cloudflare 中可用的防火牆規則。
參數
| 參數顯示名稱 | 類型 | 預設值 | 為必填項目 | 說明 |
|---|---|---|---|---|
| 區域名稱 | 字串 | 不適用 | 是 | 指定要包含防火牆規則的區域名稱。 |
| 篩選鍵 | DDL | 請選取一項 可能的值:
|
否 | 指定用於篩選 {項目類型} 的鍵。 |
| 篩選邏輯 | DDL | 請選取一項 可能的值:
|
否 | 指定要套用的篩選器邏輯。 篩選邏輯會根據「篩選鍵」參數中提供的值。 |
| 篩選條件值 | 字串 | 不適用 | 否 | 指定篩選條件中應使用的值。 如果選取「等於」,動作會嘗試在結果中尋找完全相符的項目。 如果選取「包含」,動作會嘗試尋找包含該子字串的結果。 如果這個參數未提供任何值,系統就不會套用篩選條件。 篩選邏輯會根據「篩選鍵」參數中提供的值。 |
| 要傳回的記錄數量上限 | 整數 | 50 | 否 | 指定要傳回的記錄數。 如未提供任何內容,這項動作會傳回 50 筆記錄。 |
執行日期
這項動作不會在實體上執行。
動作執行結果
指令碼執行結果
| 指令碼結果名稱 | 值選項 | 範例 |
|---|---|---|
| is_success | True/False | is_success:False |
JSON 結果
{
"id": "55ec8db30f9e4640b5d0d13cff6b5429",
"paused": false,
"description": "rulle2",
"action": "allow",
"filter": {
"id": "2bb05df8c4f547bd9792d8dc38a86b81",
"expression": "(ip.geoip.country eq \"BG\")",
"paused": false
},
"created_on": "2022-07-05T13:53:39Z",
"modified_on": "2022-07-05T13:53:39Z"
}
案件總覽
| 結果類型 | 值 / 說明 | 類型 |
|---|---|---|
| 輸出訊息* | 動作不得失敗,也不得停止應對手冊執行: 如果資料可用 (is_success=true):「Successfully found {item name} for the provided criteria in {product name}」(已根據 {product name} 中提供的條件,成功找到 {item name})。 如果沒有資料 (is_success=false):「{product name} 中沒有符合所提供條件的『{item name}』」 如果「篩選值」參數為空 (is_success=true): 「篩選器未套用,因為『篩選器值』參數的值為空白。」 動作應會失敗並停止執行應對手冊: 如果「篩選鍵」參數設為「選取一項」,而「篩選邏輯」參數設為「等於」或「包含」: 「執行動作『{動作名稱}』時發生錯誤。原因:您需要從「篩選鍵」參數中選取欄位。 如果為「要傳回的最多記錄數」參數提供無效值:「執行動作『{動作名稱}』時發生錯誤。原因:為「要傳回的記錄數上限」提供的值無效:。請提供正數。」 如果系統回報嚴重錯誤,例如憑證錯誤、無法連線至伺服器或其他錯誤:「執行動作『{動作名稱}』時發生錯誤。原因:{0}''.format(error.Stacktrace) |
一般 |
| 案件總覽表格 | 表格名稱:可用的 {item group} 資料表資料欄:{fields} |
一般 |
乒乓
說明
使用 Google Security Operations Marketplace 分頁中整合設定頁面提供的參數,測試與 Cloudflare 的連線。
參數
不適用
執行日期
這項動作不會使用任何 Google SecOps 範圍實體,也不會使用強制輸入參數。
動作執行結果
指令碼執行結果
| 指令碼結果名稱 | 值選項 | 範例 |
|---|---|---|
| is_success | True/False | is_success:False |
JSON 結果
N/A
案件總覽
| 結果類型 | 值 / 說明 | 類型 |
|---|---|---|
| 輸出訊息* | 動作不得失敗,也不得停止應對手冊執行: 如果成功:「Successfully connected to the SpyCloud server with the provided connection parameters!」(已使用提供的連線參數成功連線至 SpyCloud 伺服器!) 動作應會失敗並停止執行應對手冊: 如果未成功:「Failed to connect to the SpyCloud server! Error is {0}".format(exception.stacktrace) 如果找不到帳戶:「Failed to connect to the Cloudflare server! 提供的帳戶名稱無效。請檢查拼字。」 |
一般 |
更新防火牆規則
說明
在 Cloudflare 中更新防火牆規則。
執行日期
這項動作不會在實體上執行。
參數
| 參數顯示名稱 | 類型 | 預設值 | 為必填項目 | 說明 |
|---|---|---|---|---|
| 規則名稱 | 字串 | 不適用 | 是 | 指定要更新的規則名稱。 |
| 區域名稱 | 字串 | 不適用 | 是 | 指定包含防火牆規則的區域名稱。 |
| 動作 | DDL | 封鎖 可能的值:
|
否 | 指定防火牆規則的動作。 如果選取「封鎖」,則必須在「產品」參數中提供值。 |
| 運算式 | 字串 | 不適用 | 是 | 指定防火牆規則的運算式。 |
| 產品 | CSV | 不適用 | 否 | 指定防火牆規則的產品清單 (以逗號分隔)。 注意:只有在「動作」參數選取「略過」時,才必須提供這個參數。 可能的值:zoneLockdown、uaBlock、bic、hot、securityLevel、rateLimit、waf |
| 優先順序 | 整數 | 不適用 | 否 | 指定防火牆規則的優先順序。 |
| 參考標記 | 字串 | 不適用 | 否 | 指定防火牆規則的參照標記。 注意:長度上限為 50 個半形字元。 |
執行日期
動作執行結果
指令碼執行結果
| 指令碼結果名稱 | 值選項 | 範例 |
|---|---|---|
| is_success | True/False | is_success:False |
JSON 結果
{
{
"id": "b520c154bdeb4fe2a1f647b2c6b35829",
"paused": false,
"description": "Blocks traffic identified during investigation for MIR-31",
"action": "block",
"priority": 50,
"filter": {
"id": "fc6dfad848c24a42ae5be0114db09fb9",
"expression": "(ip.geoip.continent eq \"ASIA\")",
"paused": false
},
"created_on": "2022-07-25T11:19:22Z",
"modified_on": "2022-07-25T11:19:22Z",
"index": 0
}
}
案件總覽
| 結果類型 | 值 / 說明 | 類型 |
|---|---|---|
| 輸出訊息* | 動作不得失敗,也不得停止應對手冊執行: 如果系統回報 200 狀態碼 (is_success=true):"已成功更新 Cloudflare 中「{zone_name}」區域的防火牆規則。" 動作應會失敗並停止執行應對手冊: 如果系統回報嚴重錯誤,例如憑證錯誤、無法連線至伺服器或其他錯誤:「Error executing action "Update Firewall Rule". 原因:{0}''.format(error.Stacktrace) 如果錯誤清單不為空白:「執行動作『更新防火牆規則』時發生錯誤。原因:{0}''.format(errors/message) 如果找不到區域:「Error executing action "Update Firewall Rule". 原因:Cloudflare 中找不到區域「{zone_name}」。 |
一般 |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。