Defaults.Exposed

Defaults.Exposed修復 › CDN / WAF 與主機

如何修復 CDN / WAF 與主機

對你網站背後管線的兩次解讀:你是否坐落在一面防護盾後面(一個帶 Web 應用程式防火牆的 CDN,如 Cloudflare),它過濾攻擊、吸收流量高峰;以及一張地圖,說明到底是誰在運行你的 DNS、網站和信箱。兩者在我們的評分中都屬於提示性——它們不動你的評分——但它們描述了你的源站伺服器對攻擊和宕機有多暴露,以及你的提供商有多盤根錯節。前面有一面盾、再加上一組合理拆分的提供商,正是有韌性的企業該有的樣子。

對您業務的關鍵影響: 一個前面沒有防護盾的網站,會把每一次攻擊、每一次流量高峰直接接在源站伺服器上——所以一次機器人洪流、一次上線日激增,或單單一次自動化攻擊,就能讓你下線好幾個小時,而恢復全靠你自己。在前面放一個 CDN/WAF(有免費方案)能過濾掉絕大多數自動化攻擊、吸收激增,並讓網站在全球更快——對你的 IT 人員來說通常是一個下午的活,且無授權費用。另外,如果你的 DNS、網站和信箱全都在一家提供商那裡,那裡的一次宕機或攻破就會把你整個線上存在一次帶下線;在一起事件中,知道你的提供商地圖是你首先需要的東西。這兩項檢查都不改變你的評分——但兩者都描述了對停機、銷售損失和緩慢痛苦恢復的真實暴露。

這會讓您付出什麼代價

為什麼它重要。 本頁兩項檢查在我們的方法學裡都屬於提示性——它們登記為零分,永遠不改變你的評分——因為它們描述的是你的基礎設施,而非測試一個通過/失敗的安全控制。我們把它們呈現出來,是因為它們映射真實的業務暴露。一個沒有 CDN/WAF 的網站,把每一次攻擊和流量高峰直接接在源站上,沒有過濾、沒有激增吸收;加上一個(Cloudflare 的免費方案是常規路子)是一家小企業能做的槓桿最高、成本最低的韌性升級之一。而一張清晰的提供商地圖——知道你的 DNS、網站和信箱是拆分還是堆疊在一家提供商上——是出了狀況時你首先需要的東西,也是一起被控制住的事件和一次徹底停擺之間的區別。

一句話說清這是什麼

每個網站都跑在某處的一台伺服器上。本頁回答的問題是:在開放的網際網路和那台伺服器之間站著什麼——以及到底是誰在運行你線上存在的各個部件?

有兩個部分:

  1. **CDN / WAF——前面的盾。**CDN(內容傳遞網路)是一個坐落在你網站前面的全球網路,把你的內容快速送給任何地方的訪客,並吸收流量激增。WAF(Web 應用程式防火牆)是一個過濾器,檢查進入的請求,在它們到達你伺服器之前擋掉惡意的。流行的服務(Cloudflare、AWS CloudFront、Fastly、Akamai、Sucuri 等)把這些捆在一起。我們查看你網站的回應,回報能否看到前面有一面盾——並且也記下你跑的是什麼 Web 伺服器。

  2. 主機 / 提供商地圖——誰在運行你的管線。我們讀取那些說明誰處理你 DNS(把你的網域變成位址的目錄)、誰處理你信箱的公開記錄。由此我們能判斷你的 DNS、網站和信箱是拆分在多個提供商上(有韌性),還是堆疊在一家上(便利,但是一個單點故障)。

**最重要的一點要先說清:**在我們的評分中,**這兩項都屬於提示性。**它們不影響你的評分。我們把它們呈現出來,是因為它們描述了你的業務對停機和攻擊有多暴露——這是一個不同於評分、且非常實際的問題。

這會讓你付出什麼代價

這些不是抽象的風險——它們是一個沒有防護、盤根錯節的設定把小問題變成糟糕一天的日常方式。

它實際上是什麼

CDN / WAF——那一層防護

當一位訪客(或一名攻擊者)請求你的網站時,請求要麼直接去你的源站伺服器,要麼先經過一個 CDN/WAF。如果前面有一面盾,那面盾可以:

我們透過查看這些服務在你網站回應標頭裡留下的指紋來偵測一面盾——例如 cf-ray 回應標頭(Cloudflare)、x-amz-cf-id(Amazon CloudFront)、x-served-by(Fastly)、x-akamai-transformed(Akamai)或 x-sucuri-id(Sucuri)。我們也讀取 Server 回應標頭來識別你底層的 Web 伺服器(nginx、Apache、IIS、LiteSpeed、Caddy 等),並標記任何過度分享的 X-Powered-By 回應標頭。

良好的狀態長什麼樣:在你源站前面偵測到一個 CDN/WAF,並且一個宣告具體版本號的 Server 回應標頭。

主機 / 提供商地圖——你的基礎設施依賴

你的網域悄悄指向好幾個不同的服務:

由此我們能看出這些職責是拆分在多個提供商上(一處故障不會拖垮其他),還是堆疊在單一提供商上(便利,但一次宕機或攻破就帶走一切)。

**良好的狀態長什麼樣:**至少,DNS 由一個專門、可靠的提供商持有,而不是和其餘一切捆在同一個帳戶裡——這樣你網域的目錄就不和你的主機及收件匣同命運。

如何修復(免費,約一個下午)

**把這交給你的 IT 人員或網頁開發人員——修復是免費的。**在常見的免費方案上,把一個 CDN/WAF 放到你網站前面不花一分錢,而隱藏你的伺服器版本是一行設定。沒有授權要買。(這裡的付費選項只有監控、組合追蹤和稽核——絕不是修復本身。)業主唯一的決定是:對,在網站前面放一面盾。

因為兩項檢查都是提示性的,這裡沒有一樣是計分的——但一個 CDN/WAF 是一家小企業能做的最有價值的韌性升級之一,所以值得做。

1. 在你網站前面放一個 CDN/WAF

最常見、免費的路子是 Cloudflare

  1. 建立一個免費的 Cloudflare 帳戶並新增你的網域。
  2. Cloudflare 讀取你現有的 DNS 記錄;檢查它們是否正確匯入。
  3. 把你網域的網域名稱伺服器(在你的註冊商處)改成 Cloudflare 給你的那兩個。這就是把流量路由經過 Cloudflare 的開關。
  4. 把 SSL/TLS 模式設為 Full(strict),使加密在訪客 → Cloudflare → 你的源站之間保持端到端。(避免 Flexible,它讓最後一段不加密。)
  5. CDN 和一個基線 WAF 現在已啟動。你之後可以調整 WAF 規則,但預設值已經過濾了不少。

其他路子,取決於你的技術堆疊:

切換後,測試網站,確認 HTTPS 處處可用,並觀察一天。不要過度快取那些必須保持個人化或即時的頁面(已登入區域、購物籃、結帳)。

2. 停止宣告你的伺服器版本

無論你加不加 CDN,都把你伺服器宣告的版本隱藏起來——那是你白白遞給攻擊者的資訊。

Nginx:

server_tokens off;

Apache(在主設定裡):

ServerTokens Prod
ServerSignature Off

移除一個過度分享的 X-Powered-By 回應標頭(例如來自 PHP 或某個應用程式框架),在伺服器或 CDN 層面——在 Cloudflare 上你可以用一條回應標頭轉換規則把它剝掉。

3. 核對一下你的提供商地圖(可選,約 10 分鐘)

看看你的 DNS、網站和信箱實際活在哪裡:

平台說明

常見錯誤

關於評分的說明

把話說得徹底明白:**這兩項檢查都不影響你的評分。**它們在我們的方法學裡登記為提示性、零分,我們絕不會因為一個沒防護的源站或一個單一提供商設定而罰你。我們回報它們,是因為它們描述了對停機、攻擊和緩慢事件恢復的真實暴露——也因為加一個免費的 CDN/WAF 是一家小企業能做的最有價值的升級之一。如果你在這裡什麼都不做,你的評分不變。如果你在網站前面放一面盾、並把 DNS 拆分出去,你就免費讓業務變得明顯更有韌性。這才是看待本頁的正確方式:不是一個要去守的數字,而是一次值得拿下的韌性升級。

常見問題

這些不影響我的評分——那我為什麼要在意?

因為評分衡量的是特定的安全控制(加密、郵件防偽冒、安全回應標頭),而這兩項檢查描述的是你的韌性——你對停機和攻擊有多暴露。一台沒有防護盾的裸伺服器,仍可能在那些計分檢查上拿高分,卻仍在上線日被一場機器人洪流打下線。評分和韌性是兩個不同的問題;本頁講的是第二個。無論評分如何,加一個 CDN/WAF 都是你能做的最划算的升級之一。

我不懂技術——我到底要做什麼?

一個決定和一次交接。決定:你想不想在網站前面放一面防護盾(CDN/WAF)?對幾乎每一家企業,答案都是想,而常規路子——Cloudflare 的免費方案——不花一分錢。交接:把如何修復一節交給管理你網站或網域的人。搭建一個免費的 CDN/WAF 通常是一個下午的活,沒有授權費。修復是免費的;只有可選的監控和組合工具才收費。

CDN 和 WAF 有什麼區別——我兩個都需要嗎?

CDN(內容傳遞網路)是一個坐落在你網站前面的全球伺服器網路,把你的內容快取到離訪客近的地方使頁面載入更快,並吸收流量高峰使激增不至於壓垮你的源站。WAF(Web 應用程式防火牆)是一個過濾層,檢查進入的請求並在它們到達你伺服器之前擋掉惡意的——注入嘗試、機器人攻擊、已知的漏洞利用模式。好消息是流行的服務把兩者捆在一起:開啟 Cloudflare(或類似服務),你就同時得到 CDN 和一個基線 WAF。所以實際操作上,是一次搭建、兩份好處。

我所有服務都在一家提供商那裡,這很糟嗎?

這是一種集中風險,不是罪過。便利是真的——一張帳單、一個登入、一條支援熱線。但權衡在於:一次宕機或一次帳戶被攻破,就能把你的 DNS、網站和信箱一起帶下線,還讓你連為此溝通都做不到。許多小企業是自覺接受這一點的。這項檢查的意義只是把這個依賴暴露出來,讓它成為一個決定、而非一個意外。一個常見、省力的改進是把 DNS 遷到一個專門的提供商(Cloudflare 的 DNS 免費),這樣至少你網域的目錄不會和你的主機同命運。

你們偵測到了我的伺服器軟體和版本——這為什麼要緊?

當你的伺服器明明白白宣告它跑什麼軟體、哪個版本(在 Server 或 X-Powered-By 回應標頭裡)時,它給了攻擊者一條捷徑:他們可以查出那個確切版本的已知漏洞,並徑直瞄準它們。它本身不會讓你不安全,但它是不必要的資訊揭露——就像把你門鎖的品牌和型號留在前門上。隱藏版本(一行伺服器設定,免費)是一個小而明智的加固步驟。下面的修復步驟裡有覆蓋。

在網站前面放一個 CDN 會弄壞什麼或拖慢它嗎?

做對了,它會讓網站更快——這正是 CDN 的全部意義。搭建時要做對的主要幾件事是:確保 HTTPS 保持端到端(在 Cloudflare 上用 Full(strict)模式,而非 Flexible),以及不要過度快取那些需要保持個人化或即時的頁面(已登入的儀表板、結帳)。信譽良好的提供商預設就是合理設定。切換網域名稱伺服器後測試網站,觀察一天,你就會有一個更快、有防護的網站,而無任何壞處。