介紹
Cloudflare是一家提供內容交付網路(CDN)和分佈式DNS服務的公司,通過充當網站的反向代理來提供這些服務。Cloudflare的免費和付費服務可用於多種方式來改善網站的安全性、速度和可用性。
在本教程中,您將學習如何使用Cloudflare的免費服務來保護您的網絡服務器免受正在進行的基於HTTP的分佈式拒絕服務(DDoS)攻擊,方法是啟用“我正在遭受攻擊模式”。這種安全模式可以通過呈現一個中間頁面來驗證連接的合法性,然後將其傳遞給您的網絡服務器來減輕DDoS攻擊的影響。
先決條件
本教程假設您具有以下條件:
- A web server
- A registered domain that points to your web server
- 訪問發行域名的域名註冊商的控制面板
在繼續之前,您還必須註冊一個Cloudflare帳戶。
注意: 本教程將需要使用Cloudflare的域名服務器。
步驟1 – 配置您的域名以使用 Cloudflare
在使用 Cloudflare 的任何功能之前,您必須配置您的域名以使用 Cloudflare 的 DNS。
如果您尚未這樣做,請登錄 Cloudflare。
添加網站並掃描 DNS 記錄
登錄後,您將被帶到 開始使用 Cloudflare 頁面。在這裡,您必須點擊頂部的 添加站點 按鈕以將您的網站添加到 Cloudflare:
輸入您要與 Cloudflare 一起使用的域名,然後點擊 添加站點 按鈕。您應該被帶到一個看起來像這樣的頁面:
在本教程中,我們將選擇 免費方案 選項。如果您想支付不同方案的費用,因為您想要額外的 Cloudflare 功能,請隨意這樣做。然後,點擊 繼續 按鈕。
下一頁顯示了您站點的 DNS 記錄掃描結果。請確保您的所有現有 DNS 記錄都存在,因為這些記錄是 Cloudflare 用來解析對您域名的請求的記錄。在我們的示例中,我們使用 flippeddev.com
作為域名:
請注意,對於指向您網頁伺服器的 A 和 CNAME 記錄,狀態欄應該顯示一個帶有箭頭的橘色雲。這表示流量將通過 Cloudflare 的反向代理後才到達您的伺服器。
更改您的 Nameservers
接下來的頁面將顯示需要刪除的名稱伺服器以及應該添加的 Cloudflare 名稱伺服器。這是頁面可能看起來的例子:
要更改您的域名的名稱伺服器,請登錄到您的域名註冊商控制面板,並進行 Cloudflare 提示的 DNS 更改。例如,如果您通過像 Google 或 NameCheap 這樣的註冊商購買了您的域名,您需要登錄到相應的註冊商控制面板並在那裡進行更改。
這個過程根據您特定的域名註冊商而有所不同。如果您搞不清楚如何操作,可以參考如何從常見的域名註冊商指向 DigitalOcean Nameservers中描述的過程,只是這次您將使用 Cloudflare 的名稱伺服器而不是 DigitalOcean 的。
在這個示例中,該域名使用的是 DigitalOcean 的名稱伺服器,我們需要將其更新為使用 Cloudflare 的 DNS。
當您完成更改您的名稱伺服器時,請點擊繼續按鈕。名稱伺服器的切換可能需要最多 24 小時,但通常只需幾分鐘。
等待名稱伺服器更新
由於更新名稱伺服器需要不可預測的時間,您可能會在下一個頁面看到這個頁面:
待定狀態表示 Cloudflare 正在等待名稱伺服器更新為它指定的名稱伺服器(例如 olga.ns.Cloudflare.com
和 rob.ns.Cloudflare.com
)。如果您更改了域名的名稱伺服器,您只需等待並稍後檢查活動狀態。如果您點擊重新檢查名稱伺服器按鈕或導航到 Cloudflare 控制台,它將檢查名稱伺服器是否已更新。
Cloudflare 已啟用
一旦名稱伺服器更新,您的域名將使用 Cloudflare 的 DNS,您將看到它具有活動狀態。
這意味著Cloudflare作為您網站的反向代理,您可以使用您所註冊的價格層級提供的功能。如果您使用的是免費層級,正如我們在本教程中所使用的,您將可以使用一些功能來提高您網站的安全性、速度和可用性。
我們在本教程中不會涵蓋所有功能,因為我們的重點是緩解持續的DDoS攻擊,但這些功能包括CDN、SSL、靜態內容緩存、防火牆(在流量到達您的伺服器之前)和流量分析工具。
還要注意,您的域名下方的設置摘要會顯示您網站當前的安全級別(默認為中級)和其他一些信息。
在繼續之前,為了充分利用Cloudflare,您需要按照這個指南:所有Cloudflare用戶的推薦首要步驟。這很重要,以確保Cloudflare允許來自您想要允許的服務的合法連接,並且使您的網頁伺服器日誌顯示原始訪問者的IP地址(而不是Cloudflare的反向代理IP地址)。
一旦您設置完成,讓我們來看一下Cloudflare防火牆中的我受到攻擊模式設置。
步驟2 – 啟用我受到攻擊模式
默認情況下,Cloudflare的防火牆安全性設置為中級。這對被評為中等風險的訪問者提供了一些保護,通過向他們顯示一個挑戰頁面,然後才允許他們繼續訪問您的網站。但是,如果您的網站成為DDoS攻擊的目標,這可能不足以使您的網站正常運行。在這種情況下,我被攻擊模式可能適合您。
如果啟用此模式,您網站的任何訪問者都將被呈現一個插頁,執行一些瀏覽器檢查,並延遲訪問者約5秒鐘,然後再將其傳遞到您的服務器。它看起來會像這樣:
如果檢查通過,訪問者將被允許進入您的網站。防止並延遲惡意訪問者連接到您的站點的組合通常足以使其在DDoS攻擊期間保持運行。
注意:訪問該站點的訪問者必須啟用JavaScript和Cookies才能通過插頁。如果這不可接受,請考慮改用“高”防火牆安全性設置。
請記住,只有在您的網站成為DDoS攻擊的受害者時才應啟用我被攻擊模式。否則,應將其關閉,以免無故延遲正常用戶訪問您的網站。
如何啟用我被攻擊模式
如果您想啟用「我受到攻擊模式」,最簡單的方法是轉到 Cloudflare 概覽頁面(默認頁面)並在右側欄中切換它:
安全設置將立即切換到「我受到攻擊」狀態。現在,您網站的任何訪問者都將被呈現出上面描述的 Cloudflare 插頁。
如何停用我受到攻擊模式
由於「我受到攻擊模式」僅應在 DDoS 緊急情況下使用,如果您未受到攻擊,則應將其停用。要這樣做,轉到 Cloudflare 概觀頁面,然後關閉它。這將打開一個模態對話框,如下所示:
然後選擇您要切換到的安全級別。默認且通常建議的模式是「中等」。
您的網站應該恢復到「活躍」狀態,並且 DDoS 保護頁面將被禁用。
結論
現在您的網站正在使用 Cloudflare,您又多了一個工具來輕鬆保護它免受基於 HTTP 的 DDoS 攻擊。Cloudflare 還提供了各種其他工具,您可能有興趣設置,如免費的 SSL 憑證。因此,建議您探索一下選項,看看對您有用的是什麼。
您可以通過我們的 如何在 Ubuntu 22.04 上使用 Cloudflare 和 Nginx 托管網站 教程了解更多有關使用 Cloudflare 保護您的網站的資訊。