日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HTTPS时代已来,你做好准备了吗?

發(fā)布時間:2024/8/23 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HTTPS时代已来,你做好准备了吗? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

摘要:?全站HTTPS時代的到來,這也是最近越來越多的網(wǎng)站上HTTPS和更換證書的原因。那么究竟什么是HTTPS?它為什么會提升安全系數(shù)?CDN HTTPS又將如何做到安全性與性能同時提升?作為用戶,又如何快速便捷的進行部署HTTPS全鏈路安全加速呢?本文將一一解答。

早在今年年初,Google在其安全博客上已經(jīng)表明,從7月開始,Chrome68會將所有的HTTP網(wǎng)站標(biāo)記為不安全。隨后,Mozilla也表明,Firefox瀏覽器也準(zhǔn)備將所有HTTP網(wǎng)站標(biāo)記為不安全。

目前,Chrome68早已發(fā)布,正如 Google之前表明一致,在訪問HTTP網(wǎng)站的時候,會在地址欄里顯示不安全的驚嘆號,比之前只顯示驚嘆號更加顯眼了。作為用戶難免心里會不安,因為我們并不知道這網(wǎng)站上顯示的內(nèi)容是不是服務(wù)器提供的內(nèi)容,我們的賬號或密碼是否會泄露。

?

縱觀全球,近年來使用HTTPS網(wǎng)站的增長趨勢還是很明顯的。下圖是Chrome瀏覽器加載HTTPS網(wǎng)站的趨勢,最上面這條線是美國,從2015年的不到50%,目前已經(jīng)超過80%,最下面這條是日本,2015-2016年比較平穩(wěn)的維持在25%左右,目前已經(jīng)超過60%。從網(wǎng)絡(luò)公開數(shù)據(jù)估算,國內(nèi)HTTPS的加載占比在40% 左右,可以預(yù)見到未來一兩年,會有越來越多的國內(nèi)網(wǎng)站將切換到HTTPS。

?

全站HTTPS時代的到來,這也是最近越來越多的網(wǎng)站上HTTPS和更換證書的原因。那么究竟什么是HTTPS?它為什么會提升安全系數(shù)?CDN HTTPS又將如何做到安全性與性能同時提升?作為用戶,又如何快速便捷的進行部署HTTPS全鏈路安全加速呢?本文將一一解答。

什么是HTTPS?

HTTPS里面的“S”代表“Security”,安全的HTTP。大家都知道HTTP是一個超文本傳輸協(xié)議,它的優(yōu)點是簡單、快速、靈活,它的缺點就是不安全,直接運行在TCP層之上,數(shù)據(jù)在網(wǎng)絡(luò)上的傳輸是明文的,就可以被抓包并看到傳輸?shù)膬?nèi)容,存在非常大的安全隱患。

互聯(lián)網(wǎng)發(fā)展越來越快,網(wǎng)絡(luò)也越來越發(fā)達與復(fù)雜,在一些利益的驅(qū)動下,一些惡意的運營商經(jīng)常對用戶的HTTP請求做劫持和篡改,如果一個網(wǎng)站現(xiàn)在還在用HTTP為用戶提供服務(wù),那一定會經(jīng)常遇到網(wǎng)站被插入廣告、泄露數(shù)據(jù)等問題。

因為安全——我們需要HTTPS

解決以上問題,我們就需要加密傳輸,這里有兩種方法,一種方法是在HTTP的業(yè)務(wù)層做加密,這樣做會非常地耦合,不通用。

另一種就是用HTTPS,從網(wǎng)絡(luò)模型上看就是在TCP層和HTTP層加了一個SSL層,由這一層來為HTTP層做數(shù)據(jù)的加解密服務(wù):將HTTP層要發(fā)送的數(shù)據(jù)加密之后通過TCP來發(fā)送給對方,將接收到的加密數(shù)據(jù)解密之后交給HTTP,HTTP層不需關(guān)注加密和解密的細節(jié)而只需關(guān)注業(yè)務(wù)即可,這樣對應(yīng)用層來說是透明的,也便于客戶端和服務(wù)器的實現(xiàn)和升級。

HTTPS安全是由一套安全機制來保證的,主要包含這4個特性:機密性、完整性、真實性和不可否認(rèn)性。

?

  • 機密性是指傳輸?shù)臄?shù)據(jù)是采用Session Key(會話密鑰)加密的,在網(wǎng)絡(luò)上是看不到明文的。
  • 完整性是指為了避免網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)被非法篡改,使用MAC算法來保證消息的完整性。
  • 真實性是指通信的對方是可信的,利用了PKI(Public Key Infrastructure 即『公鑰基礎(chǔ)設(shè)施』)來保證公鑰的真實性。
  • 不可否認(rèn)性是這個消息就是你給我發(fā)的,無法偽裝和否認(rèn),是因為使用了簽名的技術(shù)來保證的。

有了安全,真的會損失性能嗎?

HTTPS如此安全,但仍然有部分用戶對HTTPS是恐懼的。主要原因是擔(dān)心上了HTTPS性能會變差,服務(wù)器扛不住壓力,客戶端要做SSL握手,增加首包時間,影響性能。

其實不然,阿里云CDN HTTPS進行了以下優(yōu)化,可以在保障安全的同時,將加載性能提升。

第一,HTTP/2

HTTP/2是二進制協(xié)議,相比HTTP/1.1的文本協(xié)議就有很大的優(yōu)勢,可以基于二進制協(xié)議做很多的優(yōu)化,比如多路復(fù)用、頭部壓縮、以及服務(wù)器推送。提高并發(fā)性能,提高傳輸效率。

下圖HTTP/1.1和HTTP/2的網(wǎng)絡(luò)加載瀑布圖,可以看出右邊 HTTP/2 的連接利用率更高,并發(fā)更高,不用像 HTTP/1.1 時有些請求在白白等待阻塞其他請求。而且可以看出左邊HTTP/1.1需要6個SSL 連接,右邊HTTP/2只需要1個SSL連接,減少昂貴的SSL請求,對服務(wù)器和客戶端都有好處。從測試結(jié)果來看,HTTP/2的總體加載時間更快,效果更好。

第二,SSL session復(fù)用

另一個性能優(yōu)化的方案是SSL session復(fù)用,它是提升ssl握手性能的主要手段之一。

有兩種session復(fù)用的方式:session id 和session ticket,了解 session id 復(fù)用的朋友可能會知道這種方案不支持分布式環(huán)境,session ticket支持分布式環(huán)境,但是session ticket的客戶端支持率并不高,主流還是session id的方式,然后我們做了定制開發(fā),支持了分布式緩存,上了這個優(yōu)化之后,本來3%左右的session id占比提升到了20%多,提高了7倍左右,握手時間從將近80ms降低到了不到70ms,效果還是挺明顯的,這樣可以提高服務(wù)器的性能,降低首包時間,提高用戶體驗。

第三,TLSv1.3即將發(fā)布

TLS1.3 TLS1.3相對于TLS1.2來說,主要的區(qū)別就是兩點:更快、更安全。在今年3月份,它被正式被IETF納入標(biāo)準(zhǔn)化,雖然目前只有Chrome和Firefox這兩個瀏覽器支持,但是未來會有更多的瀏覽器支持。
了解TLS1.2的朋友可能知道,TLS1.2完整握手需要2個RTT,而TLS1.3在完整握手時僅需要1個RTT,甚至做到0個RTT,所以TLS1.3會比TLS1.2更快。
TLS1.3只支持完全前向安全性的密鑰交換算法,簡單地說就是不支持像RSA這種不太安全的密鑰交換算法,因為使用這種密鑰交換算法,RSA私鑰泄露的話可以用來解密之前保存的SSL流量,不太安全。另外,TLS1.3的握手消息在ServerHello之后都是加密的,連傳輸?shù)淖C書消息都是加密的,所以TLS1.3比TLS1.2更安全。

早在2015年,天貓?zhí)詫氁呀?jīng)實現(xiàn)了全站HTTPS,其性能不降反升,效果比HTTP好很多,比如首頁提升了約20%左右,聚劃算提升了約30%,淘寶搜索也提升了約6%。所以可以看出,HTTPS其實并不慢,完全不必?fù)?dān)憂性能和用戶體驗的問題。

那么解決了以上擔(dān)憂,接下來就面臨著接入這一環(huán)。那么問題又來了,令人頭疼的證書怎樣申請?配置是否復(fù)雜難懂?出了問題如何排查呢?

開啟HTTPS三步走

我們先來看看CDN HTTPS的業(yè)務(wù)流程

不管用戶使用HTTP還是HTTPS訪問CDN,都要先做域名DNS解析,然后訪問到 CDN 的邊緣服務(wù)器,如果靜態(tài)資源緩存命中則直接響應(yīng)給客戶端,如果沒有緩存命中或者是動態(tài)資源請求的話就需要回源到源站服務(wù)器獲取。

在用戶這一側(cè),CDN提供了HTTP和HTTPS兩種訪問方式,開了HTTPS之后,HTTP也能訪問,如果想要實現(xiàn)全站HTTPS的話,CDN提供了301跳轉(zhuǎn)和HSTS的方式將HTTP訪問都重定向到HTTPS,這樣就可以實現(xiàn)HTTP自動跳轉(zhuǎn)到HTTPS,對用戶是無感知的。這樣就可以避免用戶這一側(cè)經(jīng)常發(fā)生的劫持、篡改、盜鏈等問題。比如一些視頻網(wǎng)站,為了收費會在鏈接后面加鑒權(quán)參數(shù),如果用HTTP,那用戶和CDN之間的部分惡意網(wǎng)絡(luò)運營商完全可以抓包拿到鑒權(quán)成功的鏈接,從而實現(xiàn)盜鏈,這對視頻網(wǎng)站的影響就比較大。

在CDN的內(nèi)部,默認(rèn)情況下也是全部走HTTPS,對有特殊需求的域名也可以走協(xié)議跟隨。

在源站服務(wù)器這一側(cè),用戶可以根據(jù)自己的服務(wù)器支持情況配置HTTP、HTTPS或者協(xié)議跟隨回源,推薦配置 HTTPS 回源,實現(xiàn)全鏈路 HTTPS,更安全。

第一步 一鍵申請 免費證書

下圖是CDN控制臺 HTTPS配置界面,可以看出HTTPS的配置非常簡單,只提供了證書、HTTP/2設(shè)置和強制跳轉(zhuǎn)這幾個配置,點擊HTTPS證書的修改配置按鈕之后就可以配置證書。

目前大多數(shù)CDN或者云計算廠商提供HTTPS服務(wù)都需要讓客戶上傳證書或者購買證書,用戶需要做一系列的工作,包括選擇CA廠商、選定購買途徑、選擇證書類型、支付證書費用、配合CA做校驗等等,辛苦申請下來的證書,格式多種多樣,配置十分復(fù)雜,私鑰也不知道怎么保管,證書到期前還需要去續(xù)簽和重新配置一遍,管理起來非常地麻煩。

大部分用戶對HTTPS的需求無非是安全和在瀏覽器上顯示小綠鎖就可以了,并不是特別關(guān)心證書是個什么東西、怎么申請以及怎么配置。所以,阿里云為了讓更多用戶更容易切到HTTPS,推出了免費證書的功能,對于那些不需要關(guān)心證書細節(jié)的用戶,就可以更便捷快速的使用HTTPS。

在HTTPS設(shè)置界面可以根據(jù)自己的需求配置證書,有三種證書類型可以選擇,可以選擇在阿里云CA證書服務(wù)上購買的云盾證書,也可以上傳已有的證書,另外一個就是免費證書,只需勾選同意授權(quán)阿里云申請免費證書和確認(rèn)就可以使用HTTPS了(因為阿里云目前還不是CA機構(gòu),所以不能簽發(fā)證書,需要用戶授權(quán)),如此一來,CDN就幫助用戶承擔(dān)了原本最為繁瑣的工作。

同時,有幾點需要注意:

  • 在使用HTTPS免費證書之前,需要確保用戶的域名CNAME切到了阿里云CDN,不然CDN沒法配合CA機構(gòu)去做校驗,校驗失敗的話CA也不會給這個域名簽發(fā)證書。
  • 需要注意域名的CAA記錄,CAA記錄的目的是防止其他CA誤簽證書,域名的DNS里面沒有CAA記錄還好,要有CAA記錄的話得把digicert加進去才能申請證書成功,這是因為免費證書是由digicert這個CA機構(gòu)來簽發(fā)的。
  • 因為是免費證書,所以目前只支持1個域名,還不支持泛域名證書。證書的有效期是1年,到期之前我們會自動續(xù)簽和自動更新證書。
  • www 域名要使用免費證書功能的話需要注意頂級域名也要切到CDN,這是因為www 域名免費證書自動綁定頂級域名(比如:www.a.com 開通免費證書會綁定兩個域名:www.a.com和a.com)。
  • 這樣一來,用戶就完全無需關(guān)注證書的細節(jié)了。只需關(guān)注HTTPS功能是否可用,瀏覽器地址欄上是不是已經(jīng)有了綠色的小鎖,在SSL labs上測試的安全等級是不是A就可以了(當(dāng)然在阿里云CDN上的域名 HTTPS 的安全等級都是A)。
  • 第二步 動態(tài)配置 秒級生效

    下圖為CDN-HTTPS架構(gòu), 用戶在控制臺上選擇證書,一鍵開啟HTTPS。

    這些證書/私鑰以及其他HTTPS配置會同步到阿里云證書管理系統(tǒng),并不是同步到所有的CDN邊緣節(jié)點服務(wù)器,當(dāng)有HTTPS請求到邊緣節(jié)點服務(wù)器時,再去證書管理系統(tǒng)獲取證書,并緩存在本機,做一下證書的切換,從而實現(xiàn)配置的熱加載,然后就可以完成SSL握手。

    沒有全部同步到邊緣節(jié)點服務(wù)器的原因,一是機器越多同步越需要時間生效時間越慢,二是沒有必要,同步到那些沒有訪問的機器白白浪費機器內(nèi)存。

    第三步 監(jiān)控告警 排查問題

    當(dāng)HTTPS開啟后,我們需要對業(yè)務(wù)進行監(jiān)控。下圖所展現(xiàn)的就是阿里云所進行實時統(tǒng)計的錯誤類型,以及根據(jù)錯誤類型進行的實時告警。如果沒有這樣的告警系統(tǒng),業(yè)務(wù)往往會產(chǎn)生長時間中斷。而且阿里云HTTPS的配置也是秒級配置、熱加載和秒級生效,用戶可以快速地響應(yīng)問題,解決問題。

    可以看到,在CDN控制臺進行HTTPS的開啟和后續(xù)使用都是很便捷和靈活的,歡迎大家使用阿里云CDN的HTTPS,邁入HTTPS時代。

    原文鏈接

    本文為云棲社區(qū)原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。

    總結(jié)

    以上是生活随笔為你收集整理的HTTPS时代已来,你做好准备了吗?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。