CEH · M13

網頁伺服器加固:從公開面到可驗證設定

先盤點伺服器公開了哪些檔案、服務與管理入口,再處理更新、權限和瀏覽器防護。每項控制都有自己的驗證方式。

讀完後,你可以
  • 分辨伺服器、部署產物與應用邏輯的責任。
  • 解釋安全標頭的用途與界線。

先備閱讀:CIA 與安全控制:先說清楚要保護什麼

先縮小不必要的公開面

網站伺服器的工作是交付應公開的內容。原始碼、備份、環境設定與管理工具若混進公開目錄,會擴大資料暴露。先定義部署產物清單,再檢查實際輸出,比只依賴檔名猜測更可靠。

更新與最小權限處理另一層問題:程式版本是否受支援、服務帳號是否只擁有必要檔案權限、管理介面是否有獨立存取控制。正常首頁顯示不能代替這些檢查。

延伸閱讀:NIST SP 800-115: Security Testing and Assessment

標頭提供瀏覽器控制,不修補所有漏洞

Content-Security-Policy 可限制瀏覽器載入的內容來源;X-Content-Type-Options: nosniff 限制型態猜測;frame-ancestors 控制誰可嵌入頁面。需要檢查實際回應與頁面功能,避免只加上設定卻沒有生效。

標頭不能替代應用授權、輸入處理或資料庫參數化。強的設定也可能擋掉合法功能,因此部署前後都應驗證文章、圖片、腳本與錯誤頁的必要行為。

延伸閱讀:OWASP: HTTP Headers Cheat Sheet

例子:公開目錄多了一份備份

合成部署清單包含 index.html、app.css、photo.webp 與 database-backup.sql。只前三項在公開內容清單。

即使首頁回應帶有安全標頭,備份檔仍不應被發布。要從部署產物排除它,核對遠端不可取得,並依是否曾暴露評估後續處理。

判斷:公開產物驗證與安全標頭檢查是兩個必要但不同的項目。

離線練習:檢查發布清單

使用本文四個虛構檔名,不讀取真實備份或秘密。

  1. 將每個檔案對照公開內容清單。
  2. 寫出發布前阻擋條件與發布後檢查。
  3. 補上正常頁面與不存在頁面的預期 HTTP 狀態。

預期結果

備份檔必須排除;正常公開頁預期 200,不存在頁預期 404。

自行檢核

如果所有不存在的路徑都回傳 200 首頁,會如何影響錯誤辨識?

結束與清理

保存合成檢查清單即可。

Q&A · 檢查你的理由

選一個答案與作答信心,再閱讀所有選項的解析。答案只儲存在此瀏覽器。

ceh-m13-hardening-q1 · 原創練習

首頁有 CSP,就能放心公開資料庫備份嗎?

首頁有 CSP,就能放心公開資料庫備份嗎?
ceh-m13-hardening-q2 · 原創練習

設定檔寫了 nosniff,還要做什麼?

設定檔寫了 nosniff,還要做什麼?

連結下一個概念

詞彙:系統加固·證據邊界

參考來源與範圍

以下來源支持技術原理;例子、題目與安全練習由本系列原創設計。