新聞中心
HSTS(HTTP Strict Transport Security) 是一種網(wǎng)絡(luò)安全機(jī)制,可用于防范網(wǎng)絡(luò)攻擊,例如中間人攻擊和 CSRF(Cross-Site Request Forgery)等攻擊。本文將詳細(xì)介紹 HSTS 的工作原理、應(yīng)用場(chǎng)景以及如何在網(wǎng)站中開(kāi)啟 HSTS 。

HSTS 工作原理
HSTS 原理是當(dāng)瀏覽器請(qǐng)求網(wǎng)站服務(wù)器資源時(shí),服務(wù)器會(huì)返回包含“Strict-Transport-Security” HTTP 響應(yīng)頭的響應(yīng)內(nèi)容,用來(lái)告訴瀏覽器在接下的訪(fǎng)問(wèn)中必須使用 HTTPS 而不是 HTTP 協(xié)議與該網(wǎng)站服務(wù)器通信。瀏覽器會(huì)在本地緩存這些信息一段時(shí)間,一般為六個(gè)月。
啟用 HSTS 后,發(fā)送 HTTP 請(qǐng)求時(shí),瀏覽器會(huì)自動(dòng)檢查有沒(méi)有設(shè)置過(guò) HSTS,如果設(shè)置過(guò),則會(huì)將 HTTP 升級(jí)為 HTTPS 請(qǐng)求(如果服務(wù)器的 HTTPS 證書(shū)無(wú)效了,例如證書(shū)過(guò)期、使用了自簽名證書(shū)等,瀏覽器會(huì)終止連接)。
原理圖如下:
HSTS 原理
HSTS 的作用是強(qiáng)制瀏覽器使用 HTTPS 訪(fǎng)問(wèn)服務(wù)器。只有當(dāng)客戶(hù)端通過(guò) HTTPS 發(fā)出請(qǐng)求時(shí),收到的服務(wù)器的響應(yīng)頭中包含了 Strict-Transport-Security 字段才會(huì)生效。非 HTTPS 訪(fǎng)問(wèn)的響應(yīng)頭中設(shè)置的 HSTS 不會(huì)生效。
HSTS 的安全作用
- 提高網(wǎng)站安全性,通過(guò)設(shè)置 HSTS 強(qiáng)制瀏覽器使用 HTTPS 協(xié)議,可以有效防止中間人攻擊和 Cross-Site Request Forgery 等攻擊。
- 保護(hù)數(shù)據(jù)的傳輸安全,因?yàn)槭褂?HTTPS 協(xié)議可以防止數(shù)據(jù)在傳輸過(guò)程中被攻擊者劫持。
如何配置 HSTS ?
- 為 WEB 服務(wù)器配置好 HTTPS 協(xié)議和證書(shū),最好使用權(quán)威的 CA 證書(shū),具體的配置方法就不詳細(xì)說(shuō)明了,可以自行搜索自己使用的 WEB 服務(wù)器對(duì)應(yīng)的 HTTPS 配置方法(強(qiáng)調(diào)一點(diǎn),盡量使用 TLS1.2 及以上版本)。
- 在 WEB 服務(wù)器上正確設(shè)置 HTTP Strict-Transport-Security 響應(yīng)頭,在網(wǎng)站的 HTTP 響應(yīng)頭中設(shè)置 HTTP Strict-Transport-Security 頭,可以告訴瀏覽器將該網(wǎng)站重定向到 HTTPS 協(xié)議,可以自行搜索自己使用的 WEB 服務(wù)器對(duì)應(yīng)的設(shè)置 Response Header 的方法。示例及說(shuō)明如下:
Strict-Transport-Security: max-age=31536000
以上 Header 的意思是,瀏覽器緩存此 HSTS 信息一年(31536000秒)的時(shí)間。還可以設(shè)置可選項(xiàng) includeSubDomains 指令,用來(lái)將 HSTS 配置應(yīng)用到所有子域名。例如:
Strict-Transport-Security: max-age=31536000; includeSubDomains
HSTS 的不足
- 用戶(hù)首次訪(fǎng)問(wèn)某網(wǎng)站是不受 HSTS 策略保護(hù)的,因?yàn)槭状卧L(fǎng)問(wèn)時(shí),瀏覽器還未收到 HSTS 配置。
- 由于 HSTS 會(huì)在一定時(shí)間后失效(通過(guò) max-age 指定的有效期),所以瀏覽器是否使用 HSTS 策略取決于當(dāng)前系統(tǒng)時(shí)間。攻擊者可以通過(guò)一些方式修改操作系統(tǒng)的時(shí)間,從而使 HSTS 策略失效。
小結(jié)
HSTS 是一種很有用的網(wǎng)絡(luò)安全機(jī)制,可以用于提高網(wǎng)站的安全性和可靠性,有效防范中間人攻擊和 Cross-Site Request Forgery 等攻擊,建議所有網(wǎng)站都啟用 HSTS 功能。同時(shí),也需要定期檢查和更新網(wǎng)站的安全設(shè)置,以確保安全性和可靠性。
分享標(biāo)題:Web安全之HSTS詳解和使用
URL標(biāo)題:http://m.fisionsoft.com.cn/article/cdhdphc.html


咨詢(xún)
建站咨詢(xún)
