Cloudflare完整設定,有效提升網站防護也能減緩網站被DDOS攻擊

最後更新 2024-12-20 作者 Roy

Cloudflare 是一家美國公司,專注於在內容傳遞網路(CDN)、網域解析和DDoS防護服務。
所以基本上具有基礎網站防護和減輕伺服器的資源負擔,
版主三年前在遊戲業管理伺服器時曾經和 Google Cloud的代理商討論過防禦的問題,最終的結果也推薦使用它們的服務降低 DDos 等惡意攻擊造成的損失。

一般新手使用WordPress架站首選通常會是使用美國的虛擬主機,相較於台灣主機在相同規格下費用便宜了一倍以上,但是缺點是網路的延遲會比較高,網站的圖文比較多時需要多花時間等待,這個時候就可以考慮使用CDN服務來加速網站了。

接下來的教學是針對常用的功能進行設定,原則上設定完之後只需要遇到惡意攻擊再做調整即可,但是Cloudflare時常在提供新功能最好每半年要檢視一下新功能是否更好用。

DNS代管

要使用Cloudflare的服務就必須將網域的DNS轉由Cloudflare管理,但是要使用哪些功能我們是可以治型指定的。

這邊點擊添加站點

然後輸入新的網域名稱

這邊有很多方案可以選擇,不過一般用戶使用免費的即可。

這邊的資料是系統自動去抓取的,先不要做任何更改直接點繼續

當初我是在namecheap註冊網域,所以接下來要到namecheap將下面的nameserver更改成cloudflare所指定的,當更換完成後點擊「檢查域名服務器」資料依然會是舊的,是因為轉換需要約2個小時所以要晚點回來再看。
只需要將原本的NS

dns1.registrar-server.com、dns2.registrar-server.com

替換成cloudflare的NS

jerome.ns.cloudflare.com、olag.ns.cloudflare.com

最後這邊要開始進行設定,不過我們是要單獨調整所以點稍後再完成。

概觀

當我們進到這頁時會出現最近的數據圖和右側常用工具「清除快取」和「開發模式」

Analytics

流量

從這邊是詳細的數據概況,可以從這邊知道流量是從哪邊來的後續就可以考量將主機搬至該國家存放

網路安全

這邊會出現惡意流量和爬蟲相關資料

效能

DNS查詢

DNS

這個服務是版主最喜歡用的功能之一,因為要管理的網站眾多但是網域散佈在不同的網域商甚至是主機商,所以會將網域DNS交由Cloudflare統一管理。
同時可以縮短網域指向主機的時間,在台灣我們常用的網域商有HiNet、網路中文、Seednet、Cloudmax 匯智、Godaddy、namecheap、gandi等等,甚至是主機商提供的域名註冊服務。當我們在某家域名商完成域名註冊後域名會由該廠商代為管理,平時使用上並不會有差異但是當要對域名進行設定時就會發現生效時間可能需要6~24小時不等~

PS:如果註冊商是 Godaddy 、 namecheap 、 gandi 可以不做調整,因為他們設定生效時間約5~15分鐘

最後當我們將網域指向設定好之後要注意,當出現橘色圖示就代表目前訪客會經由CF過濾才會訪問到網站,如果是出現灰色圖示代表用戶是直接訪問我們的主機。

DNS 設定

Mail server 設定

如果有建立自己的mail server伺服器,因為cloudflare沒有代理轉發,所以mail的DNS only要關閉變灰色圖案才可以正常收發信件。

Cloudflare 28

SSL/TLS

概觀

現在的網站基本上都要有SSL憑證,就是網域的標頭上出現https的標記,一來是網站安全性會提高增加用戶的信任,二來Google的政策是無https的標記的網站會出現警告導致網站用戶流失,所以要善用Cloudflare提供的免費的SSL憑證。

這邊SSL/TLS設定記得先更改成「完整」,如果你沒有做這項設定網站就會出現以下錯誤

這個網頁無法正常運作
你的網域 將您重新導向的次數過多。
試試看清除 Cookie
ERR_TOO_MANY_REDIRECTS

邊緣憑證

下圖有些沒啟用的是新功能還沒設定,新用戶這邊最好全部都設定啟用

防火牆

概觀

這邊一樣是針對訪問用戶進行分析

防火牆規則

如果你要限制國外訪客或是機器人拜訪,就可以使用該功能進行限制

我這邊常用的是限制台灣用戶和搜尋引擎的爬蟲不需要驗證,其他用戶需要經過等待才能訪問網站。

機器人

這個是新功能,依照文件說明開啟該功能會自動識別是自然流量或是機器人在訪問

DDoS

這個也是新功能,主要針對L7層的保護,暫時採用預設即可

Speed

概觀

這邊有新功能,可以測試出使用CF可以為網站提升多少訪問速度

最佳化

這邊原則上除了「行動裝置」因為Google放棄了不需要啟用,其他的建議全部啟用。
但是要注意Rocket Loader,這個功能偶發機率會導致Elementor 無法編輯,必須暫時關閉才能使用。

caching

設定

這邊請將 Always Online 開啟、瀏覽器快取TTL改成30分鐘
清除快取:如果網站已經更新但是看到的依然是舊資料,請點擊清除全部讓系統自動到主機抓取新資料
快取等級:這邊使用標準即可
開發模式:這個功能不要開啟,一旦開啟用戶會直接訪問主機,CF提供的功能都會失效

規則

網頁規則

免費版的有提供三組設定可以進行特殊設定,這邊提供三個常用設定方法

全站快取

通常我會用在網站更新頻率不高但是某個時段會有大量訪客訪問
依照以下設定是將整個網站進行快取減少主機資源使用,盡量避免資源耗盡的問題。

*/yourdomain.com/*

上面的功能開啟時,同時我會將以下功能一併設定,避免需要到後台操作時被快取抓到舊資料

yourdomain.com/wp-admin/*

轉址服務

另外最常用的就是轉址服務,新網站可以用301轉向、主機搬家改用302進行設定

yourdomain.com/*
https://new.yourdomain.com/$1

網路

這邊也有持續提供新的功能,一樣可以將所有功能選擇開啟即可

結論

Cloudflare其實一直有在提供新的功能,其實可以定期檢視並評估是否需要開啟。

另外很多人在討論主機在亞太地區、主要的用戶來自台灣,使用Cloudflare的節點是否會影響網站速度,根據個人測試答案是不一定的因為台北也有節點但是成本非常高昂。
參閱:Cloudflare官方公告的世界網路成本

當用戶使用的網路供應商是採用中華電信的骨幹時節點確實會跑到美國洛杉磯,這時網站的速度會比較慢,但是當用戶使用的骨幹非中華電信(So-net)時,CF的節點是直接在台灣而非洛杉磯,這時網站的速度會很快。
當然你預算上足夠可以直接考慮使用Business方案,所有用戶都會是直接使用台灣節點不會繞道洛杉磯的節點。

Roy
關於作者 Roy

曾經北漂的工程師,現在專注於WordPress、.Net Core開發


發佈留言