久久久久在线观看_又色又爽又黄的免费视频播放_一区中文字幕_日韩电影在线播放

今日頭條 焦點(diǎn)資訊 營(yíng)銷之道 企業(yè)報(bào)道 淘寶運(yùn)營(yíng) 網(wǎng)站建設(shè) 軟件開發(fā) 400電話
  當(dāng)前位置: 首頁(yè) » 資訊 » 網(wǎng)站建設(shè) » 正文

為什么我們要使用新型Web安全協(xié)議HSTS?

放大字體  縮小字體 發(fā)布日期:2018-02-18  來(lái)源:新格網(wǎng)  作者:新格網(wǎng)  瀏覽次數(shù):332  【去百度看看】
核心提示:HTTP Strict Transport Security (通常簡(jiǎn)稱為HSTS) 是一個(gè)安全功能,它告訴瀏覽器只能通過(guò)HTTPS訪問當(dāng)前資源, 禁止HTTP方式。

HSTS加密技術(shù) Web安全協(xié)議 HTST網(wǎng)站

HTTP Strict Transport Security (通常簡(jiǎn)稱為HSTS) 是一個(gè)安全功能,它告訴瀏覽器只能通過(guò)HTTPS訪問當(dāng)前資源, 禁止HTTP方式。

0×01. Freebuf百科:什么是Strict-Transport-Security

我摘自owasp上的一段定義:

HTTP Strict Transport Security (HSTS) is an opt-in security enhancement that is specified by a web application through the use of a special response header. Once a supported browser receives this header that browser will prevent any communications from being sent over HTTP to the specified domain and will instead send all communications over HTTPS. It also prevents HTTPS click through prompts on browsers.The specification has been released and published end of 2012 as RFC 6797 (HTTP Strict Transport Security (HSTS)) by the IETF. (Reference see in the links at the bottom.)

一個(gè)網(wǎng)站接受一個(gè)HTTP的請(qǐng)求,然后跳轉(zhuǎn)到HTTPS,用戶可能在開始跳轉(zhuǎn)前,通過(guò)沒有加密的方式和服務(wù)器對(duì)話,比如,用戶輸入http://foo.com或者直接foo.com。這樣存在中間人攻擊潛在威脅,跳轉(zhuǎn)過(guò)程可能被惡意網(wǎng)站利用來(lái)直接接觸用戶信息,而不是原來(lái)的加密信息。網(wǎng)站通過(guò)HTTP Strict Transport Security通知瀏覽器,這個(gè)網(wǎng)站禁止使用HTTP方式加載,瀏覽器應(yīng)該自動(dòng)把所有嘗試使用HTTP的請(qǐng)求自動(dòng)替換為HTTPS請(qǐng)求。

0×02. 我們?yōu)槭裁葱枰_啟Strict-Transport-Security  

想想這樣一種場(chǎng)景:

有的網(wǎng)站開啟了https,但為了照顧用戶的使用體驗(yàn)(因?yàn)橛脩艨偸呛苜嚨模话悴粫?huì)主動(dòng)鍵入https,而是直接輸入域名, 直接輸入域名訪問,默認(rèn)就是http訪問)同時(shí)也支持http訪問,當(dāng)用戶http訪問的時(shí)候,就會(huì)返回給用戶一個(gè)302重定向,重定向到https的地址,然后后續(xù)的訪問都使用https傳輸,這種通信模式看起來(lái)貌似沒有問題,但細(xì)致分析,就會(huì)發(fā)現(xiàn)種通信模式也存在一個(gè)風(fēng)險(xiǎn),那就是這個(gè)302重定向可能會(huì)被劫持篡改,如果被改成一個(gè)惡意的或者釣魚的https站點(diǎn),然后,你懂得,一旦落入釣魚站點(diǎn),數(shù)據(jù)還有安全可言嗎?

對(duì)于篡改302的攻擊,建議服務(wù)器開啟HTTP Strict Transport Security功能,這個(gè)功能的含義是:

當(dāng)用戶已經(jīng)安全的登錄開啟過(guò)htst功能的網(wǎng)站 (支持hsts功能的站點(diǎn)會(huì)在響應(yīng)頭中插入:Strict-Transport-Security) 之后,支持htst的瀏覽器(比如chrome. firefox)會(huì)自動(dòng)將這個(gè)域名加入到HSTS列表,下次即使用戶使用http訪問這個(gè)網(wǎng)站,支持htst功能的瀏覽器就會(huì)自動(dòng)發(fā)送https請(qǐng)求(前提是用戶沒有清空緩存,如果清空了緩存第一次訪問還是明文,后續(xù)瀏覽器接收到服務(wù)器響應(yīng)頭中的Strict-Transport-Security,就會(huì)把域名加入到hsts緩存中,然后才會(huì)在發(fā)送請(qǐng)求前將http內(nèi)部轉(zhuǎn)換成https),而不是先發(fā)送http,然后重定向到https,這樣就能避免中途的302重定向URL被篡改。‍‍進(jìn)一步提高通信的安全性。‍‍

上面是我自己的理解,下面是owasp中文站點(diǎn)關(guān)于hsts的描述:

HSTS的作用是強(qiáng)制客戶端(如瀏覽器)使用HTTPS與服務(wù)器創(chuàng)建連接。服務(wù)器開啟HSTS的方法是,當(dāng)客戶端通過(guò)HTTPS發(fā)出請(qǐng)求時(shí),在服務(wù)器返回的超文本傳輸協(xié)議響應(yīng)頭中包含Strict-Transport-Security字段。非加密傳輸時(shí)設(shè)置的HSTS字段無(wú)效。

比如,https://example.com/ 的響應(yīng)頭含有Strict-Transport-Security: max-age=31536000; includeSubDomains。這意味著兩點(diǎn):

在接下來(lái)的一年(即31536000秒)中,瀏覽器只要向example.com或其子域名發(fā)送HTTP請(qǐng)求時(shí),必須采用HTTPS來(lái)發(fā)起連接。比如,用戶點(diǎn)擊超鏈接或在地址欄輸入 http://www.example.com/ ,瀏覽器應(yīng)當(dāng)自動(dòng)將 http 轉(zhuǎn)寫成 https,然后直接向 https://www.example.com/ 發(fā)送請(qǐng)求。

在接下來(lái)的一年中,如果 example.com 服務(wù)器發(fā)送的TLS證書無(wú)效,用戶不能忽略瀏覽器警告繼續(xù)訪問網(wǎng)站。

HSTS可以用來(lái)抵御SSL剝離攻擊。SSL剝離攻擊是中間人攻擊的一種,由Moxie Marlinspike于2009年發(fā)明。他在當(dāng)年的黑帽大會(huì)上發(fā)表的題為“New Tricks For Defeating SSL In Practice”的演講中將這種攻擊方式公開。SSL剝離的實(shí)施方法是阻止瀏覽器與服務(wù)器創(chuàng)建HTTPS連接。它的前提是用戶很少直接在地址欄輸入https://,用戶總是通過(guò)點(diǎn)擊鏈接或3xx重定向,從HTTP頁(yè)面進(jìn)入HTTPS頁(yè)面。所以攻擊者可以在用戶訪問HTTP頁(yè)面時(shí)替換所有https://開頭的鏈接為http://,達(dá)到阻止HTTPS的目的。

HSTS可以很大程度上解決SSL剝離攻擊,因?yàn)橹灰獮g覽器曾經(jīng)與服務(wù)器創(chuàng)建過(guò)一次安全連接,之后瀏覽器會(huì)強(qiáng)制使用HTTPS,即使鏈接被換成了HTTP

另外,如果中間人使用自己的自簽名證書來(lái)進(jìn)行攻擊,瀏覽器會(huì)給出警告,但是許多用戶會(huì)忽略警告。HSTS解決了這一問題,一旦服務(wù)器發(fā)送了HSTS字段,用戶將不再允許忽略警告。

0×03. Strict-Transport-Security的一些不足

用戶首次訪問某網(wǎng)站是不受HSTS保護(hù)的。這是因?yàn)槭状卧L問時(shí),瀏覽器還未收到HSTS,所以仍有可能通過(guò)明文HTTP來(lái)訪問。解決這個(gè)不足目前有兩種方案,一是瀏覽器預(yù)置HSTS域名列表,Google Chrome、Firefox、Internet Explorer和Spartan實(shí)現(xiàn)了這一方案。二是將HSTS信息加入到域名系統(tǒng)記錄中。但這需要保證DNS的安全性,也就是需要部署域名系統(tǒng)安全擴(kuò)展。截至2014年這一方案沒有大規(guī)模部署。

由于HSTS會(huì)在一定時(shí)間后失效(有效期由max-age指定),所以瀏覽器是否強(qiáng)制HSTS策略取決于當(dāng)前系統(tǒng)時(shí)間。部分操作系統(tǒng)經(jīng)常通過(guò)網(wǎng)絡(luò)時(shí)間協(xié)議更新系統(tǒng)時(shí)間,如Ubuntu每次連接網(wǎng)絡(luò)時(shí),OS X Lion每隔9分鐘會(huì)自動(dòng)連接時(shí)間服務(wù)器。攻擊者可以通過(guò)偽造NTP信息,設(shè)置錯(cuò)誤時(shí)間來(lái)繞過(guò)HSTS。解決方法是認(rèn)證NTP信息,或者禁止NTP大幅度增減時(shí)間。比如Windows 8每7天更新一次時(shí)間,并且要求每次NTP設(shè)置的時(shí)間與當(dāng)前時(shí)間不得超過(guò)15小時(shí)

0×04. 我的一些測(cè)試

1). 測(cè)試1

目標(biāo)域名:portal.fraudmetrix.cn (這個(gè)站點(diǎn)不支持hsts功能) 同盾科技的風(fēng)險(xiǎn)控制管理系統(tǒng)(打個(gè)軟廣,同盾科技,基于大數(shù)據(jù),專注反欺詐)。

第一次訪問:在瀏覽器地址欄鍵入:portal.fraudmetrix.cn

HSTS加密技術(shù) Web安全協(xié)議 HTST網(wǎng)站

可以看到:

這個(gè)域名并不在chrome瀏覽器的hsts的緩存中,也不在hsts中的preload list中(像facebook、twitter等網(wǎng)站已經(jīng)內(nèi)置在preload list中,所以每次請(qǐng)求這些站點(diǎn)的時(shí)候?yàn)g覽器都會(huì)自動(dòng)將http 轉(zhuǎn)換成htttps),所以不會(huì)在發(fā)送請(qǐng)求前將http轉(zhuǎn)換成https請(qǐng)求。

我們來(lái)把這個(gè)站點(diǎn)手動(dòng)加入到chrome瀏覽器的hsts緩存中:

HSTS加密技術(shù) Web安全協(xié)議 HTST網(wǎng)站

在未清空chrome瀏覽器歷史記錄的前提下,我們?cè)俅卧L問這個(gè)站點(diǎn):

HSTS加密技術(shù) Web安全協(xié)議 HTST網(wǎng)站

可以看到,一個(gè)307 響應(yīng)碼,這是chrome瀏覽器的內(nèi)部轉(zhuǎn)換,將http轉(zhuǎn)換成https后再發(fā)送請(qǐng)求。

備注:為什么我們要求在未清空chrome瀏覽器的緩存前訪問呢?

因?yàn)槿绻蹇樟薱hrome瀏覽器的緩存之后,我們手動(dòng)加入到hsts緩存中的域名就會(huì)被清除,也就不會(huì)看到預(yù)期的效果了。

2). 測(cè)試2

我們先清空chrome瀏覽器的緩存,然后在瀏覽器的地址欄中鍵入 www.alipay.com 

HSTS加密技術(shù) Web安全協(xié)議 HTST網(wǎng)站

可以看到www.alipay.com(支付寶)這個(gè)站點(diǎn)并沒有在chrome 瀏覽器的內(nèi)置的preload list中,所以第一次訪問的時(shí)候,chrome瀏覽器并不會(huì)將http轉(zhuǎn)換成https。

而是由前端的F5的負(fù)載均衡(BigIP)器將http請(qǐng)求重定向到https請(qǐng)求。

 
 
[ 資訊搜索 ]  [ 加入收藏 ]  [ 告訴好友 ]  [ 打印本文 ]  [ 違規(guī)舉報(bào) ]  [ 關(guān)閉窗口 ]

 
0條 [查看全部]  相關(guān)評(píng)論

 
網(wǎng)站首頁(yè) | 關(guān)于我們 | 聯(lián)系方式 | 使用協(xié)議 | 版權(quán)隱私 | 網(wǎng)站地圖 | 排名推廣 | 廣告服務(wù) | 積分換禮 | 網(wǎng)站留言 | RSS訂閱 | 吉ICP備11001726號(hào)-6
企業(yè)800網(wǎng) · 提供技術(shù)支持