1. 背景

前些天訪問一個https的鏈接,這個不安全的連接提示那是經常見,只要是自己的內部應用系統,大多數是這樣。但平時點個【高級】,點個“繼續前往 http://xxx.xxx.xxx.xxx(不安全)”的超鏈接就跳過去直接進去了。

但是這次,點了【高級】然後都沒有下面“繼續前往http://xxx.xxx.xxx.xxx(不安全)”的超鏈接。

2. 解決

直接在當前頁面點擊任何空白位置,然後輸入 thisisunsafe,然後就跳過進去了

按照到處搜索的結果説的一句:告訴瀏覽器,這是一個不安全的連接。我真的不想説啥,這翻譯過來不就是這句。想要了解為啥這麼就ok了。

3.刨根問底

3.1 什麼是説“您的連接不是私密連接”?

這個一般只有https的網址才會出現,http的網站是不會出現的。

這是為什麼呢?

因為https是安全的訪問連接,是在http基礎上增加了SSL/TLS協議來進行加密和身份驗證,確保傳輸過程的安全性。當不符合安全規則的時候就會判定是不安全的私密連接。

判斷的安全規則包括:

1.過期的SSL證書:SSL證書有一個有效期

2.無效的證書鏈:當客户端無法驗證服務器的證書鏈

(可能是由於證書頒發機構的根證書未被正確導入到客户端,或者證書鏈中的某個證書被吊銷或無效)

3.使用了自簽名證書:自簽名證書不被大多數瀏覽器信任

4.配置錯誤:例如,服務器未正確配置SSL證書,或者使用了不正確的加密套件等

是不是這裏面信息量有點大,這都一個一個的是啥?不慌,下面開始掃盲 ↓↓↓↓↓

3.2 https 和 http的區別?

  • 協議層:HTTP直接和TCP通信,而HTTPS則先通過SSL/TLS協議來加密數據和驗證身份,然後再與TCP通信。
  • 安全性:HTTP本身不提供加密和身份驗證機制,而HTTPS提供了數據加密和身份驗證,確保數據的機密性和完整性,以及通信雙方的身份驗證。
  • 端口號:HTTP通常使用80端口,而HTTPS則使用443端口。

3.3 SSL/TLS協議是什麼,跟熟知的http/https協議,TCP/IP協議,有啥關係,都叫協議?

這個協議這東西,簡單來説就是定義一套規則:協議 == 規則

上面的 HTTP、HTTPS、TCP、UDP以及SSL/TLS協議都是TCP/IP協議簇的組成部分!

TCP/IP協議簇是一個龐大的協議族,包括了眾多用於 網絡通信的協議。

所以轉回來,上面提到的這寫協議(規則),都是為了網絡上的數據傳輸,數據通信制定的規則,不同的規則解決不同的問題,重點也不同。

  • http實現超鏈接資源訪問
  • https在http的基礎上,對傳輸數據進行了加密,http傳輸的數據都是明文的,網絡攔截後是可以解析出來的,而https的數據傳輸是密文的,網絡攔截了,如果沒有秘鑰/公鑰是沒法解析內容的
  • SSL/TLS是一套安全加密的協議,主要完成加解密。

OSI(Open Systems Interconnection)七層模型 上講,SSL/TLS協議是傳輸層-應用層之間,但又不完全數屬於某一層:

1.應用層:為用户的應用進程提供網絡通信服務,如DNS協議、 HTTP協議、SMTP協議等。

2.表示層:將抽象語法轉化為適合OSI系統內部使用的傳送語法,提供格式化的表示和轉換數據服務,數據的壓縮、解壓縮、 加密和解密 等工作都由表示層負責。

3.會話層:通過會話管理網絡連接,完成通信進程的邏輯名字與物理名字間的對應,提供 會話 管理服務。

4.傳輸層:負責數據從發送端 傳輸 到接收端,協議包括 UDP協議、TCP協議 等。

5.網絡層:在複雜的網絡環境下確定一個合適的路徑,協議包括IP協議。

6.數據鏈路層:將網絡層交下來的數據報封裝成幀,在同一種數據鏈路節點的兩個設備之間傳輸,協議包括MTU協議、ARP協議等。

7.物理層:實現相鄰計算機節點之間的比特流的透明傳輸,儘可能屏蔽掉具體傳輸介質的差異。

在實際網絡分析和開發中,抓包工具如 Sniffmaster 可以幫助解密和檢查 HTTPS 流量,它支持全平台抓包,包括 HTTPS、TCP 和 UDP 協議,無需設置代理或越獄即可進行流量分析,便於開發人員調試 SSL/TLS 握手和證書驗證過程。

3.4.什麼是SSL證書?

SSL證書是一種數字證書,用於驗證服務器身份並提供數據加密功能。

SSL證書由受信任的證書頒發機構(CA)頒發,其中包含:

CA:相當於工商局,頒發的證書就像工商局發放了營業執照,公認的一個合法的網站(合法的商企)

  • 服務器的公鑰、
  • 證書持有者的信息、
  • 證書頒發機構的簽名等內容。

當客户端連接到服務器時,服務器會向客户端提供SSL證書,並使用公鑰對客户端進行身份驗證。

客户端會驗證服務器的證書是否由受信任的CA頒發,並使用服務器提供的公鑰對數據進行加密。

4. 正向解決

一般來説分兩類

  • 搞一個由證書頒發機構(CA)頒發的合法證書,類似於註冊一個合法的域名,那各大瀏覽器就能找到。
  • 在自己瀏覽器搞:自行確認這個證書的安全性,直接告訴瀏覽器

4.1 瀏覽器操作

4.1.1 繼續前往 http://xxx.xxx.xxx.xxx(不安全)

最常規的就是點擊【高級】,點擊“繼續前往 http://xxx.xxx.xxx.xxx(不安全)”的超鏈接

4.1.2 輸入指令: thisisunsafe

4.1.3 添加信任證書

  • 導出證書

  • 導入證書

選擇前面導出的crt文件

一直下一步,這裏選擇一個自動選擇存儲。

導入成功後,找一下導入後的證書,名稱一般和導出的文件名一致,如果導出的時候沒有改名的話。

可能在個人,可能在某個頁簽下,要仔細找。或者不用找,直接重新訪問前面的https的網站,就會發現不會提示“您的連接不是私密連接”了