RFC 6797 規定了網際網路瀏覽安全機制 HSTS(HTTP Strict Transport Security) ,宣告瀏覽器與伺服器之間通訊方式必須強制採用 TLS/SSL。
只要從伺服器端送出一個 Strict-Transport-Security 標頭 (Header) 給瀏覽器,即可告知瀏覽器於未來的某段時間內一律使用 SSL 來和該網站連接。一旦發生憑證失效情況,使用者將無法再瀏覽該網站,如此一來便可大幅減少中間人攻擊的問題發生。
換句話說:HSTS Header 就是負責將 http 強制轉為 https。
設定方式是 Server 回傳的 html response,必須要有 Strict-Transport-Security header,內容為
Strict-Transport-Security: max-age=<expire-time>
Strict-Transport-Security: max-age=<expire-time>; includeSubDomains
Strict-Transport-Security: max-age=<expire-time>; preload
max-age 是讓 browser 儲存該設定多久的時間,以秒為單位,通常是設定 31536000 (1年) 以上
includeSubDomains 是套用到所有子網域
preload 不是標準的規格的設定值,是 Preloading Strict Transport Security 的意思,不一定要寫
所以設定值為
Strict-Transport-Security: max-age=31536000; includeSubDomains
維持 HSTS 設定一年,且包含子網域
沒有留言:
張貼留言