網路安全性最佳做法

網路安全性的最佳做法

無論您是從 Compute Engine 執行個體、Cloud Storage 值區,或是位於 Google Cloud以外的來源提供內容,Cloud CDN 和 Cloud Load Balancing 都能協助您遵循網路安全最佳做法。

設定安全性標頭

HTTP 規格包含許多用於控制下列項目的標頭:

  • 用戶端行為
  • 內容的內嵌方式
  • 跨網域提供內容的方式
  • 連線至該網域時是否一律使用 TLS (HTTPS)

這些控制項通常會以 HTTP 回應標頭的形式呈現,您可以為每個後端 (以 CDN 術語來說,就是來源) 設定自訂回應標頭,用於外部應用程式負載平衡器和 Cloud CDN 部署。

如果您使用 Cloud Storage,並透過值區提供網頁內容,可以在儲存空間值區前方使用 Cloud CDN,設定網頁安全性標頭和熱門內容快取。

下表定義了最實用的網頁安全性標頭。

標頭名稱 說明 應用實例
Strict-Transport-Security (HTTP 嚴格傳輸安全性) 設定這個標頭之前,請確認您的網域具有有效的 SSL (傳輸層安全標準) 憑證。

通知用戶端必須透過 HTTPS (SSL/TLS) 直接連線至您的網域,避免需要從 HTTP 重新導向至 HTTPS,因為後者速度較慢,且可能導致中間人攻擊。

設定這個標頭的動作無法復原。快取此標頭後,新式瀏覽器用戶端就不會嘗試非 HTTPS 連線,使用者也無法存取收到此標頭的任何網域,即使 SSL 已關閉也一樣。這項行為可防止攻擊者將安全通訊協定降級為未受保護的 HTTP (稱為降級攻擊)。

提供 Strict-Transport-Security 標頭時,請謹慎新增 includeSubdomainspreload 指示。這些指令要求所有子網域都使用 HTTPS,包括同一個網域中的任何內部網站。例如從 example.com 提供的 support.example.com

要求用戶端在日後的所有連線中直接透過 HTTPS 連線,並將這項指令快取至最多兩年:

Strict-Transport-Security: max-age=3104000

X-Frame-Options 指出瀏覽器是否可以在 <frame>、<iframe>、<embed> 或 <object> 中轉譯網頁。這有助於防止點按劫持攻擊,因為這樣一來,您的內容就不會嵌入其他網站。 拒絕所有對網站的嵌入:X-Frame-Options: DENY

只允許自己的網站使用 iframe (嵌入) 功能:X-Frame-Options: SAMEORIGIN

Content-Security-Policy 如要評估網站的內容安全政策,您可以使用 Google 的 CSP 評估工具 不允許內嵌指令碼,且只透過 HTTPS 載入指令碼: Content-Security-Policy: default-src https:

在現有網站中導入新的安全性標頭時,請務必謹慎操作,因為這可能會破壞第三方指令碼、嵌入內容 (例如在 iframe 中) 或網站的其他部分。建議您在正式版流量變更前,先建立後端桶或後端服務的第二個例項,並進行測試。

如要進一步瞭解網頁安全性標頭和最佳做法,請前往 web.dev 和 Mozilla 的 infosec 網站

傳輸層安全標準 (TLS) 和憑證管理

受管理的憑證具有下列特性:

  • 免費提供
  • 可輕鬆部署至負載平衡器
  • 自動續約
  • 遍及全球的 Google 邊緣位置

TLS 會驗證資料在傳輸過程中未經過修改,以確保資料的真實性。TLS 憑證可確保使用者和伺服器之間的通訊內容不會遭到竊聽,進而提供機密性。這對使用者的隱私和安全性至關重要。

有了 SSL 憑證,您就能使用最新的傳輸協定,例如 HTTP/2 和 Google 的 QUIC 通訊協定,這兩者都需要 SSL (傳輸層安全標準)。這些通訊協定可直接改善網路內容、媒體傳遞 (例如串流影片) 的效能,以及在壅塞網路中的可靠性。

Google Cloud 支援 Cloud Load Balancing 和 Cloud CDN 服務中的新式 TLS 通訊協定 (例如 TLS 1.3)。

您可以使用 SSL 政策提高 TLS 最低版本。如果您不需要支援舊版用戶端 (例如嵌入式裝置或較舊的 (超過 10 年) 非瀏覽器用戶端),建議您將版本升級至 TLS 1.2。在全球範圍內,TLS 1.0 和 TLS 1.1 僅占 Google Cloud連線的 0.5% 以下。如果您需要識別或將特定用戶端與過時的 TLS 版本建立關聯,可以在要求標頭中使用 {tls_version} 變數。然後記錄這項資訊。

後續步驟

  • 如要確認 Cloud CDN 是否從快取提供回應,請參閱「查看記錄」。
  • 如要瞭解哪些內容可快取或無法快取,請參閱快取總覽
  • 如要查看 Cloud CDN 的連接點,請參閱「快取位置」。