iT邦幫忙

2025 iThome 鐵人賽

DAY 1
0
Security

大概是一點不重要的東西系列 第 1

DAY1 HSTS(HTTP Strict Transport Security,HTTP 嚴格傳輸安全)

  • 分享至 

  • xImage
  •  

要是中途不小心忘記發文就算了,總之努力一下吧


HTTP嚴格傳輸安全(英語:HTTP Strict Transport Security,縮寫:HSTS)是一套由網際網路工程任務組發布的網際網路安全策略機制。網站可以選擇使用HSTS策略,來讓瀏覽器強制使用HTTPS與網站進行通訊,以減少連線劫持風險。(取自維基百科)

HSTS 的主要作用就是強制HTTPS

當網站啟用 HSTS 並且在回應中加入 Strict-Transport-Security 標頭後,瀏覽器就會記錄下來。
之後就算你輸的HTTP他也會自動跳轉HTTPS

再來就是確保憑證正確性

如果伺服器憑證過期、錯誤或無法驗證,HSTS 會阻止使用者「忽略警告並繼續瀏覽」。
使用者只能在憑證正確的情況下訪問網站,這樣能降低中間人攻擊透過偽造憑證的風險。

要怎麼看網頁有沒有HSTS?
可以從伺服器回應的 HTTP Header 上看到:

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
max-age:設定 HSTS 在瀏覽器中記憶的秒數(例如 31536000 = 1 年)。
includeSubDomains:套用到所有子網域。
preload:網站可以提交到瀏覽器維護的 HSTS 預載清單(HSTS Preload List),確保使用者第一次訪問時就強制 HTTPS,而不用先經過 HTTP。

實際好處
保護使用者的登入憑證、Cookie 與傳輸資料。
避免初次連線時被竊聽或篡改。
提升網站在安全檢測與合規性(如 ISO 27001、OWASP Top 10)中的評分。

要注意的是第一次連線
如果使用者「第一次」透過 http:// 進入,還沒拿到 HSTS 標頭,這個請求就有可能被攔截、降級。

解法:
使用 HSTS Preload List
各大瀏覽器內建一份「預載 HSTS 網站清單」。
若網站申請加入 preload list,瀏覽器即使第一次訪問,也會自動用 HTTPS。
在網站與 DNS 層面全面導向 HTTPS
例如把 HTTP 80 port 全部 301 redirect 到 HTTPS。
DNS 設定只提供 https:// 的連結(例如在 email、官網、廣告裡)。


下一篇
網頁憑證
系列文
大概是一點不重要的東西4
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言