全站 HTTPS 就一定安全了吗?
隨著網絡技術手段不斷地更新迭代,互聯網安全對于企業和個人的重要性都越來越高。因此越來越多的服務商都開始偏向為用戶提供更安全的在線內容訪問。
中間人攻擊
為了保障網站內容安全,誕生了不少加密方式。目前應用最為廣泛的加密方式是 TLS(安全傳輸層協議),它脫胎自廣為人知的 SSL(安全套接字協議),并和 SSL 一起組成了 SSL/TLS 加密,可以讓 HTTP 變身為 HTTPS,為用戶和網站提供安全的數據傳輸。
正常來講,使用 HTTPS 和可靠的 SSL/TLS 證書訪問網站時,加密的傳輸是安全的。但是因為早期認證機構容易被黑客攻擊,進而導致證書安全性漏洞,同時一些常規使用習慣也可能造成安全漏洞,比如我們在輸入網址時,并不會輸入包含加密協議 https:// 的完整 URL,而是只輸入網站網址,而瀏覽器的自動訪問則會訪問不安全的 http://。這些存在的漏洞為中間人攻擊提供了便利。
中間人攻擊表面上看是系統 A 與系統 B 建立加密連接,但是實際上數據流會被第三方重定向,讓加密連接從系統 A 運行到系統 C,然后才重定向到系統 B。這讓系統 C 的控制者(通常是攻擊者)可以完整地查看、記錄以及操縱數據流量。攻擊者還通過這種方式將系統 C 作為網絡服務器呈現給系統 A,并給用戶端呈現錯誤的瀏覽頁面。這種攻擊在銀行或者電商行業會直接影響用戶在線交易,給用戶造成嚴重損失。
除去證書本身的問題,一些粗心大意的使用習慣也很容易造成安全漏洞。比如現在很多公共場合都會提供公共 WLAN,我們已經習慣鏈接并使用,不會去檢查這個 Internet 是誰提供的。黑客可以將自己的計算機設置為熱點,并輕易獲得鏈接這個熱點的用戶的全部數據流,如果正好有人用這個網絡鏈接過銀行等業務,那黑客很容易通過這個獲取用戶網銀密碼,造成財務損失。。
因此,互聯網工程任務組(IETF)在 2012 年提出了針對該安全性問題的一種解決方案:在 RFC 6797 中指定了 HTTPS 擴展的 HTTP 嚴格傳輸安全協議(HSTS)。
什么是 HSTS
HSTS(HTTP Strict Transport Security,HTTP 嚴格傳輸安全協議)是一種安全機制,旨在保護 HTTPS 連接免受中間人攻擊和會話劫持。它讓網站管理員在 HTTPS 的基礎上,通過 HTTP 頭信息向瀏覽器發送信號,在一個時間段內以 SSL / TLS 加密的形式檢索網站。
這個 HTTP 頭信息在服務端顯示為:Strict-Transport-Security,它包含強制性的信息 max-age,也包含了可選參數 includeSubDomains 和 preload 方便配置:
-
max-age: 指 HSTS 功能生效的時間,以秒為單位。例如 31536000 秒代表一年。
-
includeSubDomains: 如果指定,則表示域名(例如:upyun.com)對應的每個子域名(例如:www.upyun.com 或 123.example.upyun.com),瀏覽器在訪問時也都會強制采用 HTTPS 進行訪問。
-
preload: 如果指定,則表示此域名同意申請加入由 Google 發起的 Preload List,申請地址[https://hstspreload.org/]。
在服務端配置完成頭信息后,當互聯網用戶首次訪問網站時,瀏覽器將從 Strict-Transport-Security 頭信息中獲取以下指令:
-
指向相應網站的所有未加密鏈接都必須被加密鏈接覆蓋(http:// 到 https://)。
-
如果不能保證連接的安全性(例如:證書無效),則必須終止該連接。同時向用戶顯示錯誤消息。
如何開啟 HSTS
如果是對安全性要求較高的網站,一般都會選擇開啟 HSTS 。
但是 HSTS 并不是隨意開啟的,它需要支持它的瀏覽器。目前市場上支持 HSTS 的瀏覽器如下:(對于那些不支持的瀏覽器,會忽略此響應頭,對用戶的訪問無影響,可以不用擔心)
而具體開啟 HSTS 則可以登陸又拍云控制臺,依次進入:服務 > 功能配置 > HTTPS > HSTS,點擊管理進行配置開啟。
又拍云自 17 年起就已經支持配置 HSTS,配置步驟簡單,操作方便。但是這里需要特別提醒的是,如果有參數設置不當可能會導致網站無法訪問,大家如果遇到問題可以直接聯系我們的客服小姐姐哦~
HTTPS 網站的預加載列表
當然光靠 HSTS 并不是萬無一失的,因為 HSTS 的響應頭是由服務器返回的,需要用戶先發起訪問才能獲取到這個響應頭。獲取響應頭后才會進行強制 HTTPS 訪問操作。這也就意味著每次訪問還是容易受到攻擊風險。
為盡可能的減小這種風險,目前市面上所有的瀏覽器都加入了 Google 提供的 HSTS Preload List。只要加入到這個列表中,所有的通過瀏覽器訪問請求都會強制走 HTTPS,在很大程度上可以杜絕“第一次”訪問的劫持,最大限度地提高 HTTPS 訪問的安全性。
如果你需要將自己的網站加入 HSTS Preload ,那必須確保符合如下基本要求:
-
所有網站頁面都必須使用有效的 SSL 證書
-
HTTP URL 必須定向到同一主機的 HTTPS URL
-
所有子域(包括 www 子域)必須支持 HTTPS 且可用
-
必須通過具有以下參數的域名來傳遞 HSTS 頭信息:
- 網站需要始終滿足上訴要求,否則會被自動刪除
在信息安全越來越重要的今天,及時更新網站的安全手段,維護網站和用戶的安全,避免因一時的疏忽造成損失才是最好的選擇。
總結
以上是生活随笔為你收集整理的全站 HTTPS 就一定安全了吗?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 不一样的图片加载方式
- 下一篇: 短视频时代不可忽视的幕后功臣竟然是它!