使用 HTTPS 確保網站安全無虞
保護您的網站和使用者
什麼是 HTTPS?
HTTPS (超文字安全傳輸通訊協定) 是一種網際網路通訊協定,可確保資料在使用者的電腦和網站之間傳輸時,保有完整性和機密性。使用者造訪任何網站時,都希望能享有安全而私密的線上體驗。因此,無論網站的內容為何,我們都建議您採用 HTTPS 來確保網站使用者的連線安全性。
透過 HTTPS 傳送的資料非常安全,因為 HTTPS 會透過「傳輸層安全性」通訊協定 (TLS) 提供以下三道重要的資安防護網:
- 加密:對交換的資料進行加密,防止資料遭到竊取。也就是說,當使用者在瀏覽網站時,任何人都無法「竊聽」其對話、追蹤他們在多個網頁之間轉換的活動,或竊取其資訊。
- 資料完整性:系統會偵測出資料在傳輸過程中是否遭到有意或無意的修改或破壞。
- 驗證:驗證您的使用者是否與預期的網站進行通訊。這能預防攔截式攻擊並建立使用者的信任感,進而促進其他商業利益。
實作 HTTPS 的最佳做法
使用可靠的安全性憑證
在您為網站啟用 HTTPS 時,必須取得安全性憑證。此憑證是由憑證授權單位 (CA) 所核發,會透過幾個步驟來驗證您的網址確實是貴機構所有,藉此保護客戶免於遭受攔截式攻擊。設定憑證時請務必選擇 2048 位元金鑰,以確保較高等級的安全性。如果您原有的憑證使用安全性較弱的金鑰 (1024 位元),請將金鑰升級至 2048 位元。選擇網站憑證時,請注意下列事項:
- 向可提供技術支援的可靠 CA 取得憑證。
- 決定您需要的憑證種類:
- 單一安全來源適用的單一憑證 (例如 www.example.com)。
- 多個知名安全來源適用的多重網域憑證 (例如 www.example.com、cdn.example.com、example.co.uk)。
- 擁有多個動態子網域的安全來源適用的萬用字元憑證 (例如 a.example.com、b.example.com)。
使用伺服器端 301 重新導向
透過伺服器端 301 HTTP 重新導向將您的使用者和搜尋引擎重新導向至 HTTPS 網頁或資源。
確認 Google 能夠檢索您的 HTTPS 網頁並建立索引
- 請勿使用 robots.txt 檔案禁止搜尋引擎檢索您的 HTTPS 網頁。
- 請勿在您的 HTTPS 網頁中加入 noindex 中繼標記。
- 您可以使用 Google 模擬器測試 Googlebot 是否能存取您的網頁。
支援 HSTS
建議您讓 HTTPS 網站支援 HSTS (HTTP 嚴格傳輸安全性)。HSTS 會讓瀏覽器自動要求 HTTPS 網頁,即使使用者在瀏覽器網址列中輸入 http 亦然。此外,它也會指示 Google 在搜尋結果中提供安全網址。這些措施可以儘可能降低使用者接觸到不安全內容的風險。
如要支援 HSTS,請使用支援 HSTS 的網路伺服器,並啟用這項功能。
雖然 HSTS 的安全性較高,但也會讓復原策略變得更為複雜,因此建議您採用下列方法啟用 HSTS:
- 先推出 HTTPS 網頁,再啟用 HSTS。
- 開始傳送含有簡短 max-age 的 HSTS 標頭。監控來自使用者和其他用戶端的流量,以及其他相關內容的成效 (例如廣告)。
- 慢慢增加 HSTS max-age 長度。
- 如果 HSTS 不會對您的使用者和搜尋引擎產生負面影響,您就可以視需求讓網站加入各大瀏覽器的 HSTS 預載清單中。
考慮使用 HSTS 預先載入機制
如果您啟用了 HSTS,可以選擇是否要支援 HSTS 預先載入機制來提高安全性和效能。如要啟用預先載入機制,則必須前往 hstspreload.org 並依照規定提交您的網站。
避免常見錯誤
在透過 TLS 加強網站安全性的過程中,請避免下列錯誤:
問題 | 因應做法 |
---|---|
憑證過期 | 確保您的憑證一律處於最新狀態。 |
憑證的註冊網站名稱錯誤 | 確認您已為放置網站的所有主機名稱取得憑證。舉例來說,如果您的憑證只適用於 www.example.com,當使用者透過 example.com (不含「www.」前置字串) 載入您的網站時,就會發生憑證名稱不符的錯誤,因而無法存取網站。 |
缺少伺服器名稱指示 (SNI) 支援 | 確認您的網路伺服器支援 SNI,而且您的使用者普遍使用支援的瀏覽器。所有新型瀏覽器均支援 SNI,但如果您必須支援舊型瀏覽器,則需要一組專屬 IP。 |
檢索問題 | 請勿使用 robots.txt 禁止搜尋引擎檢索您的 HTTPS 網站。 |
索引問題 | 儘可能允許搜尋引擎為您的網頁建立索引。請避免使用 noindex 中繼標記。 |
通訊協定版本過舊 | 過舊的通訊協定版本會有安全性漏洞,請確實使用最新版的 TLS 程式庫,並實作最新的通訊協定版本。 |
混合式安全性元素 | HTTPS 網頁上只能嵌入 HTTPS 內容。 |
HTTP 和 HTTPS 網站上的內容不同 | 請確保您 HTTP 網站和 HTTPS 網站上的內容一致。 |
HTTPS 的 HTTP 狀態碼錯誤 | 檢查您的網站是否傳回正確的 HTTP 狀態碼。例如,200 OK 代表可存取的網頁,404 或 410 則代表網頁不存在。 |
其他提示
如要進一步瞭解如何在網站上使用 HTTPS 網頁,請參閱 HTTPS 遷移常見問題。
從 HTTP 遷移至 HTTPS
如果將網站從 HTTP 遷移至 HTTPS,Google 會視為變更網址的網站遷移作業,並可能對您的流量帶來暫時性影響。詳情請參閱網站遷移概要網頁的說明。
請將 HTTPS 資源新增到 Search Console。Search Console 會分別處理 HTTP 和 HTTPS;上述資源的資料在 Search Console 中並不會共用。因此,如果您有分屬於這兩種通訊協定的網頁,必須分別建立不同的 Search Console 資源。
文章來源:Google