網站安全標頭健檢:HSTS、CSP 是什麼?別直接複製設定上線

HTTPS 之外,網站還需要哪些安全標頭?這篇說明 HSTS、CSP、nosniff、frame-ancestors、Referrer-Policy 的作用、檢查方法與導入順序,並解釋為什麼 CSP 應先用 Report-Only 觀察。

網站安全標頭健檢:HSTS、CSP 是什麼?別直接複製設定上線

網站有 HTTPS,不代表瀏覽器已經知道哪些腳本、圖片、框架與表單目的地可信。

安全標頭是伺服器隨回應送給瀏覽器的規則。它不能取代程式安全,但能增加一層防線。

先用一個指令查看

curl -sI https://example.com

常見項目:

Header作用
Strict-Transport-Security後續連線只使用 HTTPS
Content-Security-Policy限制可載入與執行的來源
X-Content-Type-Options避免 MIME sniffing
frame-ancestors/X-Frame-Options限制網站被其他頁面嵌入
Referrer-Policy控制外連時帶出的來源資訊
Permissions-Policy控制相機、麥克風等瀏覽器能力

「有 Header」只是第一步,值設得太寬鬆也可能沒有實質保護。

HSTS:告訴瀏覽器以後只走 HTTPS

基本語法:

Strict-Transport-Security: max-age=31536000; includeSubDomains

瀏覽器收到後,會在期限內把該網域的 HTTP 嘗試升級為 HTTPS,並拒絕讓使用者略過無效憑證警告。

HSTS 上線前要確認

  • 全站與必要子網域都能正常使用 HTTPS
  • 自動續期與到期告警已運作
  • includeSubDomains 不會害仍使用 HTTP 的舊子網域中斷
  • 是否真的符合 preload 條件與長期承諾

HSTS 設很久之後,若憑證過期,使用者反而更難繞過。因此先把 SSL 維運做好,再拉長 max-age。

CSP:建立資源允許清單

CSP 可限制 script、style、image、font、connect、frame 與 form 的來源,降低 XSS、資料注入與 clickjacking 等風險。

簡化概念:

Content-Security-Policy: default-src 'self'; object-src 'none'; frame-ancestors 'self';

但這段不能直接套到每個網站。Google Analytics、YouTube、金流、地圖、客服與 CDN 都可能需要額外來源;WordPress 與頁面編輯器也可能大量使用 inline script/style。

CSP 應先用 Report-Only

OWASP 建議可先以非阻擋模式觀察違規:

Content-Security-Policy-Report-Only: ...

導入順序:

  1. 盤點第一方與第三方資源。
  2. 建立初始政策,先用 Report-Only。
  3. 收集並分類違規報告。
  4. 修正合法資源與 inline code。
  5. 小範圍切換 enforced policy。
  6. 測試登入、表單、付款與後台。
  7. 持續監控新增第三方服務。

不要為了讓報告變綠,直接加入 *unsafe-inlineunsafe-eval。過度寬鬆的 CSP 可能只剩形式。

安全標頭不是漏洞掃描替代品

安全標頭無法修復:

  • 有漏洞的外掛與套件
  • 弱密碼與權限過大
  • SQL injection 或認證錯誤
  • 未更新的 CMS
  • 洩漏的 API key

它是 defense in depth,不是安全保證。健檢報告應分清「缺少一層防線」與「已存在可被利用漏洞」。

常見問題

Q:沒有 CSP 就代表網站不安全嗎?

A: 不能單憑一個 Header 下結論,但缺少 CSP 代表少了一層瀏覽器端限制。仍需搭配程式、權限與更新檢查。

Q:CSP 設好會影響 SEO 嗎?

A: 正確設定通常不會;若誤擋必要 CSS、JavaScript、圖片或結構化內容,可能破壞頁面與使用體驗,所以必須測試。

Q:可以用外掛一鍵設定嗎?

A: 可以協助加入 Header,但工具不知道你的所有合法第三方來源。HSTS 與 CSP 仍需依實際架構調整。

下一步

先執行 curl -sI 盤點現況,再依風險逐步導入。SSL 與 HSTS 應搭配閱讀:SSL 憑證到期與自動續期

參考來源

想知道你的網站到底漏在哪?

速度、SEO、安全、收信、AI 能見度 —— 3 分鐘免費健檢,把看不見的問題變成看得見的數字。

免費網站健檢 看完想找人處理,聊聊規劃

健檢完想要專人處理,再留需求就好。

MO DESIGN STUDIO

我們專注品牌網站設計、行銷著陸頁與整合式 CMS 流程,協助團隊打造有感的線上體驗。

← 返回部落格