Cloudflare

本文說明如何將 Cloudflare 與 Google Security Operations 整合。

產品用途

執行實體擴充

在 Google Security Operations 設定 Cloudflare 整合

如要瞭解如何在 Google SecOps 中設定整合功能,請參閱「設定整合功能」一文。

整合參數

請使用下列參數設定整合:

參數顯示名稱 類型 預設值 為必填項目 說明
API 根層級 字串 https://api.cloudflare.com 是 Cloudflare 執行個體的 API 根目錄。
API 權杖 密碼 不適用 是 Cloudflare 執行個體的 API 權杖。
帳戶名稱 字串 不適用 是 整合中必須使用的帳戶名稱。
驗證 SSL 核取方塊 已勾選 否 如果啟用,系統會驗證 Cloudflare 伺服器連線的 SSL 憑證是否有效。

如何設定權杖

  1. 前往「Profile Settings」,然後點選「API Tokens」。
  2. 依序前往「Create Token」 > 「Create Custom Token」,然後選取下列 權限:
帳戶 帳戶 WAF 讀取
帳戶 規則政策 讀取
帳戶 帳戶篩選器清單 編輯
帳戶 帳戶防火牆存取權 編輯
帳戶 DNS 防火牆 讀取
帳戶 帳戶設定 讀取
可用區 區域 WAF 編輯
可用區 區域設定 讀取
可用區 可用區 讀取
可用區 記錄 讀取
可用區 防火牆服務 編輯
可用區 防火牆服務 讀取
可用區 數據分析 讀取

必要權限清單

動作

將 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):「動作無法將下列實體新增至 Cloudflare 的『{name}』規則清單:{entity.identifier}。」

如果所有實體都未成功新增 (is_success=false):「提供的實體都未新增至『{name}』規則清單。」

動作應失敗並停止執行應對手冊:

如果系統回報嚴重錯誤,例如憑證錯誤、無法連線至伺服器等:「執行『將 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

可能的值:

  • 301
  • 302
  • 307
  • 308
否 指定規則清單項目的狀態。
保留查詢字串 核取方塊 已取消勾選 否 如果啟用,規則清單項目會保留查詢字串。
包含子網域 核取方塊 已取消勾選 否 啟用後,規則清單項目會包含子網域。
子路徑比對 核取方塊 已取消勾選 否 如果啟用,規則清單項目會與子路徑相符。
保留路徑後置字串 核取方塊 已取消勾選 否 如果啟用,規則清單項目會保留路徑後置字串。

執行日期

這項動作會對 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):「動作無法將下列實體新增至 Cloudflare 的『{name}』規則清單:{entity.identifier}。」

如果所有實體都未成功 (is_success=false):「提供的實體都未新增至『{name}』規則清單。」

動作應失敗並停止執行應對手冊:

如果系統回報嚴重錯誤,例如憑證錯誤、無法連線至伺服器或其他錯誤:「執行『將網址新增至規則清單』動作時發生錯誤。原因:{0}''.format(error.Stacktrace)

如果找不到清單:「執行『將網址新增至規則清單』動作時發生錯誤。原因:在 Cloudflare 找不到規則清單「{name}」。

如果清單類型無效:「執行『將網址新增至規則清單』動作時發生錯誤。原因:規則清單「{name}」並非「重新導向」類型。

一般

建立防火牆規則

說明

在 Cloudflare 建立防火牆規則。

參數

參數顯示名稱 類型 預設值 為必填項目 說明
區域名稱 字串 不適用 是 指定防火牆規則所在的可用區名稱。
名稱 字串 不適用 否 指定防火牆規則的名稱。
動作 DDL

封鎖

可能的值:

  • 允許
  • 封鎖
  • 略過
  • 記錄
  • 舊版 CAPTCHA
  • 代管驗證
  • JS 驗證
否

指定防火牆規則的動作。

如果選取「封鎖」,則必須在「產品」參數中提供值。

運算式 字串 不適用 是 指定防火牆規則的運算式。
產品 CSV 不適用 否

請指定防火牆規則的產品清單,並以半形逗號分隔。

注意:只有在「Action」參數選取「Bypass」時,才必須提供這項參數。

可能的值: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}』區域建立新的防火牆規則。」

動作應失敗並停止執行應對手冊:

如果系統回報嚴重錯誤,例如憑證錯誤、無法連線至伺服器等:「執行『建立防火牆規則』動作時發生錯誤。原因:{0}''.format(error.Stacktrace)

如果錯誤清單並非空白:「Error executing action "Create Firewall Rule". Reason: {0}''.format(errors/message)

如果找不到可用區:「Error executing action "Create Firewall Rule". 原因:在 Cloudflare 中找不到可用區「{zone_name}」。

一般

建立規則清單

說明

在 Cloudflare 建立規則清單。

參數

參數顯示名稱 類型 預設值 為必填項目 說明
名稱 字串 不適用 是 指定規則清單名稱。
類型 DDL

IP 位址

可能的值:

  • 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):「已成功在 Cloudflare 建立規則清單。」

動作應失敗並停止執行應對手冊:

如果系統回報嚴重錯誤,例如憑證錯誤、無法連線至伺服器等:「執行『建立規則清單』動作時發生錯誤。原因:{0}''.format(error.Stacktrace)

如果錯誤清單不為空白:「執行『建立規則清單』動作時發生錯誤。Reason: {0}''.format(errors/message)

一般

列出防火牆規則

說明

列出 Cloudflare 中可用的防火牆規則。

參數

參數顯示名稱 類型 預設值 為必填項目 說明
區域名稱 字串 不適用 是 指定區域名稱,該區域將包含防火牆規則。
篩選鍵 DDL

請選取一項

可能的值:

  • 請選取一項
  • 名稱
  • ID
  • 動作
否 指定要用來篩選{項目類型}的鍵。
篩選邏輯 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):「已成功在『{product name}』中找到符合指定條件的『{item name}』」。

如果沒有資料 (is_success=false):「在『{product name}』中,找不到符合指定條件的『{item name}』」

如果「篩選條件值」參數空白 (is_success=true):

「篩選器未套用,因為『篩選器值』參數的值空白。」

動作應失敗並停止執行應對手冊:

如果「篩選器鍵」參數設為「選取一項」,且「篩選器邏輯」參數設為「等於」或「包含」:

「執行動作『{action name}』時發生錯誤。原因:您必須從「篩選器索引鍵」參數中選取欄位。

如果「Max Records to Return」參數的值無效:「Error executing action "{action name}". 原因:「傳回的記錄數量上限」的值無效:。請提供正數。

如果發生嚴重錯誤,例如憑證錯誤、無法連線至伺服器,系統會回報其他錯誤:「執行動作「{action name}」時發生錯誤。原因:{0}''.format(error.Stacktrace)

一般
案件總覽表格

資料表名稱:可用的{商品群組}

資料表資料欄:{fields}

一般

乒乓

說明

在 Google SecOps Content Hub 整合設定頁面,使用提供的參數測試與 Cloudflare 的連線能力。

參數

不適用

執行日期

這項動作不會使用任何 Google SecOps 範圍實體,也沒有必要輸入參數。

動作執行結果

指令碼執行結果
指令碼執行結果名稱 值選項 範例
is_success True/False is_success:False
JSON 結果
N/A
案件總覽
結果類型 值 / 說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

如果成功:「已使用提供的連線參數成功連線至 SpyCloud 伺服器!」

動作應失敗並停止執行應對手冊:

如果未成功:「無法連線至 SpyCloud 伺服器!錯誤為 {0}".format(exception.stacktrace)

如果找不到帳戶,系統會顯示「無法連線至 Cloudflare 伺服器!提供的帳戶名稱無效。請檢查拼字。」

一般

更新防火牆規則

說明

在 Cloudflare 更新防火牆規則。

執行日期

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

參數

參數顯示名稱 類型 預設值 為必填項目 說明
規則名稱 字串 不適用 是 指定要更新的規則名稱。
區域名稱 字串 不適用 是 指定防火牆規則所在的可用區名稱。
動作 DDL

封鎖

可能的值:

  • 允許
  • 封鎖
  • 略過
  • 記錄
  • 舊版 CAPTCHA
  • 代管驗證
  • JS 驗證
否

指定防火牆規則的動作。

如果選取「封鎖」,則必須在「產品」參數中提供值。

運算式 字串 不適用 是 指定防火牆規則的運算式。
產品 CSV 不適用 否

請指定防火牆規則的產品清單,並以半形逗號分隔。

注意:只有在「Action」參數選取「Bypass」時,才必須提供這項參數。

可能的值: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}』區域的防火牆規則。」

動作應失敗並停止執行應對手冊:

如果發生嚴重錯誤,例如憑證錯誤、無法連線至伺服器,系統會回報其他錯誤:「執行『更新防火牆規則』動作時發生錯誤。原因:{0}''.format(error.Stacktrace)

如果錯誤清單不為空白:「Error executing action "Update Firewall Rule". Reason: {0}''.format(errors/message)

如果找不到可用區:「Error executing action "Update Firewall Rule". 原因:在 Cloudflare 中找不到可用區「{zone_name}」。

一般

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