如果您負責建立 Web 應用程式防火牆 (WAF) 規則,則肯定需要引用每個欄位可能具有的大量潛在值。如果有大量 WAF 規則,則手動管理和輸入所有這些欄位肯定會讓人頭疼。
這就是我們引入 IP 清單的原因。擁有可以獨立於實際規則進行引用、重複使用和管理的單獨值清單,可以帶來更好的 WAF 使用者體驗。您可以建立一個新清單,例如 $organization_ips
,然後在「允許來源 IP 位於 $organization_ips
中的請求」之類的規則中使用它。如果您需要新增或移除 IP,您可以在清單中執行此操作,而無需涉及引用該清單的每條規則。您甚至可以新增描述性名稱來協助追蹤其內容。它簡單、乾淨、有條理。
這讓我們和我們的客戶自然而然地提出了下一個問題:為什麼要止步於 IP?
Cloudflare 的 WAF 具有高度可設定性,讓您能夠編寫評估一組主機名稱、自治號碼 (ASN)、國家/地區、標頭值或 JSON 欄位值的規則。但要做到這一點,您必須將專案清單直接輸入到規則運算式編輯器中,這會帶來所有相關的缺點:速度慢(您需要單獨修改每個規則)、容易出錯,有時甚至無法實現(考慮到自訂規則運算式 4KB 的限制)。
這種情況不會再出現了!今天,我們擴展了自訂清單,讓您能夠建立主機名稱和 ASN 清單。所有企業方案中均包含新清單類型,因此您在閱讀本文後就可以開始建立擴展清單。
主機名稱
現在,您可以在帳戶中導航至設定 > 清單。您也可以在這裡管理 IP 清單和瀏覽可用的受管理 IP 清單。
建立清單後,您可以在任何 WAF 規則運算式中使用它。這一功能對帳戶 WAF 使用者大有用處,因為他們可以在僅與一組主機匹配的流量上執行受管理或自訂規則集。
在自訂規則集篩選器中使用主機名稱清單(對帳戶級 WAF 使用者可用)。
主機名稱清單對 SSL for SaaS 使用者大有用處,因為它們可以限制特定規則或規則集在部分主機上執行。該清單能夠以程式設計方式更新(透過 API),以便在主機加入到帳戶時新增或移除主機。
關於清單需要瞭解的一些事項:您可以將網域和子網域新增到一個清單,並且一個網域不會自動匹配子網域。例如,如果您將 example.com 新增到清單中並在自訂規則中使用它來封鎖流量,則來自 api.example.com 的請求將不會匹配這條規則。主機名稱清單接受使用「*
」萬用字元來包含子網域。例如,將「*.example.com
」新增到清單中將匹配「api.example.com
」,但不會匹配「example.com」。最後,「example.com/path/subfolder
」不是有效的項目——我們正在為此使用案例構建字串清單(更多內容見下文)。
ASN
自發系統 (AS) 是具有統一路由策略的大型網路或網路群組。每一個連接到網際網路的裝置都連接到一個 AS。將 AS 想像為一個城鎮的郵局,而 IP 則是一個家庭的地址。ASN 不像 IP 那樣輪換,這使得 ASN 在管理較大部分 IP 空間時成為更好的選擇。通常,每個 AS 由單個大型組織營運,例如網際網路服務提供者、大型企業技術公司或政府機構。
您可以使用自治號碼清單來管理來自網際網路服務提供者和雲端提供者的流量,這些提供者可能託管產生自動流量的傀儡程式。使用 IP 不太實用,因為位址範圍太廣並且變化非常頻繁。請注意,雖然 ASN 在這種情況下很有用,但應謹慎使用,因為封鎖錯誤的 ASN 可能會導致大範圍的 IP 受到影響。
我可以擁有多少個清單?
每個企業方案帳戶最多可以建立 10 個自訂清單,所有清單共用總共 10,000 個項目。當至少購買了 1 個企業方案時,帳戶將被視為企業方案帳戶。配額在所有資料類型(IP、自治號碼和主機名稱)之間共用,並且在帳戶層級定義,因此您可以在所有應用程式中使用您的清單。
例如,擁有一個(或多個)企業方案的帳戶可以擁有 8 個 IP 清單(每個清單包含 1,000 個項目)、一個包含 1,700 個項目的主機名稱清單,以及一個包含 300 個 ASN 的清單;此時無法再新增更多清單或項目。
企業方案客戶可以聯絡其客戶團隊來增加配額。
目前,免费方案、專業方案和商業方案帳戶只能存取 IP 清單。
我可以在哪裡使用它們?
下表總結了可用的自訂清單類型以及它們可用於哪些欄位。自治號碼和主機名稱清單可從基於規則集引擎構建的任何 WAF 產品存取,包括自訂、限速和受管理規則。
.tg {border-collapse:collapse;border-color:#ccc;border-spacing:0;} .tg td{background-color:#fff;border-color:#ccc;border-style:solid;border-width:1px;color:#333; font-family:Arial, sans-serif;font-size:14px;overflow:hidden;padding:10px 5px;word-break:normal;} .tg th{background-color:#f0f0f0;border-color:#ccc;border-style:solid;border-width:1px;color:#333; font-family:Arial, sans-serif;font-size:14px;font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;} .tg .tg-1wig{font-weight:bold;text-align:left;vertical-align:top} .tg .tg-0lax{text-align:left;vertical-align:top}
List type | Rule fields where list can be used (dashboard) | API fields where list can be used |
---|---|---|
IP lists | IP Source Address | ip.src |
Hostname lists | Hostname | http.host |
ASN lists | ASN | ip.src.asnum |
清單類型
可使用清單的規則欄位(儀表板)
可使用清單的 API 欄位
IP 清單
IP 來源位址
ip.src
主機名稱清單
主機名稱
http.host
自治號碼清單
ASN
ip.src.asnum
字串:清單的未來(即將推出)
清單的下一步是超靈活的字串類型。您將能夠將其用於標頭、cookie、路徑、查詢、JSON 正文欄位、使用者代理程式、JA3、MIME 類型等欄位。對於每個項目,您將能夠指定不同的匹配運算子,例如「exact match」、「start with」、「ends with」或「contains」。
常見應用包括列出您想要封鎖的所有使用者代理程式、列出您想要限制存取的 URL 等等。
更複雜的使用案例包括建立適用於可使用 cookie、API 金鑰或工作階段 ID 識別的一組使用者的不同限速規則。字串清單還允許您收集已知惡意傀儡程式的 JA3 指紋。
我們仍在研究字串清單,並將在未來幾個月內發佈。同時,如果您想開始使用我們新的和改進的清單,您今天就可以直接進入儀表板。