第十五章,SSL VPN

前言

IPSec SSL 對比
  1. ?IPSec遠程接入場景---client提前安裝軟件,存在一定的兼容性問題
  2. IPSec協議只能夠對感興趣的流量進行加密保護,意味著接入用戶需要不停的調整策略,來適應IPSec隧道
  3. ?IPSec協議對用戶訪問權限顆粒度劃分的不夠詳細;因為ACL的劃分就是通過3.4層流量抓取。

SSL 優勢
  • ?SSL VPN實際工作位置在傳輸層和應用層之間
    • OSI七層參考模型中,SSL協議屬于表示層協議
    • 專門針對應用層來進行安全防護的。即無法影響網絡層和傳輸層,不會改變IP頭部和TCP
    • SSL協議--->基于瀏覽器工作的HTTPS協議工作。
  • ?SSL VPN的架構,是屬于B/S架構---SSL不需要安裝客戶端軟件。
  • SSL VPN所有的訪問控制都是基于應用層執行的;訪問權限控制可以達到文件級別

SSL協議

????????SSL --- 安全傳輸協議 ( 安全套接層 )
????????根據封裝位置來劃分SSL 協議的層次。
SSL--->IETF SSL 進行標準化 --->TLS 協議 --- 傳輸層安全協議

?????????SSL協議是基于TCP協議的安全協議,理論上,可以用于保護正常運行在TCP上的任何應用協議

SSL工作原理

SSL協議分層

????????SSL記錄協議,負責對上層數據進行分塊、壓縮、計算、加密的;最后將記錄的數據塊傳輸給對方
  • SSL記錄協議 --- 處于可靠的傳輸層協議TCP以上,用于封裝更高層協議的數據
  • SSL握手協議 --- 允許瀏覽器和服務端之間相互認證,并在應用層傳輸數據之前,協商出相關參數(密算法、哈希算法、會話密鑰)--->協商參數以及交換證書,從而構造SSL會話。
  • SSL密碼變化協議 --- 只包含了一個消息--->相當于一個通知信息,告知對方,即將開始使用加密信息進行傳輸
????????在完整的SSL 工作過程中,當 TCP 建立完成后,會使用握手協議進行參數協商,然后通過變化協議告 知對方開始加密傳輸信息,后續所有的報文都是加密的,并且都是存儲在記錄協議中,如果出現問題, 則發送警告協議。

SSL總體工作流程

第一步: TCP 三次握手,建立網絡連接會話
????????
????????
第二步:由 SSL 客戶端,一般為瀏覽器,發送消息
  • 支持的協議版本

  • Random
    • 由客戶端生成的偽隨機數,用于后續生成會話密鑰。
    • 對稱密鑰 --- 總共需要三個參數才可以計算
第三步: SSL 服務端回復消息,包含一些參數信息,使用 server hello 報文
????????一般情況下,server hello 報文和服務器證書是分開發送的
????????證書 --- CA 機構的私鑰將服務器的公鑰以及一些證書相關信息進行加密后的產物 -- CA 的私鑰加密后的數據。
????????客戶端時具備信任CA 的公鑰信息
????????服務器的身份認證是強制要求的,必須提供證書,證書如果不合法,則會提供一個選擇給用戶,可 以選擇繼續訪問。但是,客戶端的認證是可選的,如果需要認證,則服務器會發送請求證書的報文,之 后,客戶端需要提供自己的證書信息
????????在報文中,一般包含一個或多個X.509 證書,一般第一個是服務器證書,后續可能是頒發該服務器證 書的中間證書,一直到根證書。每個證書中都包含了詳細的身份信息和公鑰信息
????????RSA公鑰 --- 客戶端使用該公鑰加密 預主密鑰 并發送給服務器
????????預主密鑰 --- 相當于 DH 算法中的中間參數,需要傳遞給對方,使用 RSA 公鑰進行加密
????????Server Hello Done 報文是一個空信息,用來通知客戶端, 服務端已經做好了預主密鑰協商的準
第四步: SSL 客戶端收到服務器相關報文后,驗證服務器證書,進行回復
  • 客戶端生成一個預主密鑰;使用服務器的公鑰進行加密后返回給服務器。服務器利用私鑰進行解密,從而獲取密鑰信息。
    • 預主密鑰 --- 和前面提到了Client的隨機數以及Server的隨機數相同。
    • 會話密鑰 --- 預主密鑰 + 服務器隨機數 + 客戶端隨機數。
      • 預主密鑰是需要加密傳輸的
    • 此時,客戶端已經具備了上述三個條件,是可以生成最終的會話密鑰了。
    • client key exchange 報文中,回復的具體內容是不確定的,需要根據算法決定。如果客戶端使用的是RSA算法,則計算出的是預主密鑰;如果是DHECDH算法,則計算出的是共享密鑰;但是不管使用那種算法,都會計算出第三個隨機數,和前面兩個隨機數一起進行計算,得到最終的會話密鑰

第五步:服務端做最后的回應
  • 會話恢復報文
    • 客戶端和服務端首次完成TLS握手后,會將本地的會話相關參數,例如標識符、證書、密碼套件、主密鑰等相關信息進行加密,生成一個票據;會發送給客戶端
    • 客戶端會保存這個票據。當再次與服務器建立連接時,如果希望恢復上一次的會話,就將票據包含在client hello報文中發送給服務端

????????完整的SSL 握手協議過程結束
????????會話密鑰 --- 就是對稱秘鑰。
????????完成SSL 握手后,之后所有的應用層數據發送時,都會進行加密,并且將加密數據保存在 SSL 協議
總結

SSL加密過程

SSL 脆弱性分析
  • ?無法保護UDP應用
    • 例如采用IPSec
    • 使用一些基于UDP的傳輸層安全協議---DTLS
  • ?客戶端可以被偽造 --- 而且,客戶端的認證是可選的。
  • ?SSL協議不能對抗流量分析

SSL VPN

????????SSL VPN--->其實是廠商創造出來的一個名詞
????????遠程接入用戶利用標準的Web 瀏覽器內嵌的 SSL 封包處理功能,從而連接企業內部的 VPN 服務器。然后由VPN服務器將報文轉發給特定的內部服務器,從而使得遠程接入用戶通過驗證后,可訪問企業內網特定的服務器資源。

?????????遠程用戶與VPN服務器之間,采用SSL協議對傳輸的數據進行加密。

虛擬網關技術---SSL VPN的核心技術

????????VPN設備看做是網關。 ---SSL 服務在防火墻上被稱為虛擬網關。
????????防火墻是可以創建多個虛擬網關。多個虛擬網關之間相互獨立。
????????用戶在web 瀏覽器上輸入虛擬網關的 IP 地址或者域名,從而訪問虛擬網關。 該過程是需要進行用戶 身份認證的 --- 如果認證通過,虛擬網關會用戶反饋一個 可訪問的內網資源列表

SSL VPN流程

????????VPN認證是為了保證數據連接的合法性,用戶身份認證是為了獲取相應權限的
web 界面直接配置 SSL VPN 的虛擬網關,會提示服務器忙,只能使用命令行配置
[FW1]v-gateway ssl interface GigabitEthernet 1/0/0 port 4430 private
---- 開啟虛擬網關,名稱為 ssl ,使用接口為 GE1/0/0 ,端口 4430 ,獨占型

?

????????防火墻提供了四種認證機制:
  • 本地認證
  • 服務器認證
  • 證書認證
    • 證書匿名認證
      • 用戶的客戶端配備客戶端證書,防火墻通過驗證客戶的證書來認證身份。
    • 證書挑戰認證
      • 服務器通過用戶名和密碼+客戶端證書雙重因素認證。

web代理

1. 發布 URL VPN 設備發布資源。
2. 擁有訪問權限的用戶首先訪問虛擬網關,進行用戶認證,從而獲取到資源列表。
3. 用戶去訪問資源 ---> 用戶輸入的 URL 并非是原本發布的 URL ;實際上是經過代理的 URL
https://svn/http:/website/resource.html
協議 :// 目錄
????????目錄:虛擬網關地址,User ID Session ID 等信息。
https://1.1.1.1/webproxy/1/141123654/4/http:/website/resource.html
4. 數據包到達虛擬網關,進行解析 ---> URL 改寫為原始 URL ,去訪問內部服務器。
????????此時,并沒有任何隧道,僅僅是做了代理。但是也達到了隧道的效果,所以也可以被稱為是一種 VPN 技術
????????web代理的核心點 ---> 可以隱藏真實的 URL 信息
  • web-link
  • web改寫

?

文件共享

????????web代理功能僅能實現 http 的代理。但是遠程用戶想要直接通過瀏覽器安全訪問到企業內部的文件服務器,并且執行新建、修改、上傳、下載等文件操作,需要文件共享機制。
????????文件共享只能針對SMB NFS 兩種協議
SMB---windows 系統
NFS---linux 系統
????????這里不再是代理的思想,而是“ 翻譯 的思想;即將 HTTPS 的報文翻譯成 SMB 的報文

端口轉發

????????例如telnet ssh email 基于 TCP 的非 web 應用
????????如何將web 瀏覽器和常用 CRT xshell 這樣的軟件聯立起來? --- IE 瀏覽器內置的 Active X 控件
????????該控件可以做到實時檢測其他程序發起的請求

網絡擴展

????????基于UDP 的應用。
????????SSL本身是基于 TCP 的,無法保護 UDP 協議應用。不代表 SSL VPN 不能。
????????
  • 開啟網絡擴展功能--->
    • 移動用戶與虛擬網關建立SSL VPN隧道
    • 移動用戶在PC本地自動生成一個虛擬網卡
      • 虛擬網關從地址池中隨機選擇一個IP地址分配給移動用戶的虛擬網卡
      • 該地址作為移動用戶與企業內網server之間通信使用。
    • 虛擬網關向移動辦公用戶下放到達企業內網server的路由信息
????????通過隧道訪問目標---->VPN 的核心技術
傳輸模式:
  • 可靠傳輸模式
  • 快速傳輸模式

安全策略

  • SSL VPN加密報文策略:U--->L
  • 移動辦公用戶訪問企業server的業務數據
    • U--->T
如何判斷為 local 區域:如果收到的報文需要本地接口處理。或者發送的報文需要本地接口封裝
  • 分離路由模式 --- 去往內網的流量,經過虛擬網卡轉發;去往其他地方的流量,由本地真實網卡轉發。
  • 全路由模式 --- 無論訪問任何資源,數據都會被虛擬網卡截獲,從虛擬網卡轉發。
  • 手動路由模式 --- 由管理員手工在VPN設備上配置內網靜態路由。
總結
????????因為存在網絡擴展技術,導致SSL VPN 被一步從表示層擴展到了 IP 層,導致 SSL VPN 可以支持越來 越多的網絡協議

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/79185.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/79185.shtml
英文地址,請注明出處:http://en.pswp.cn/web/79185.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

深度學習系統學習系列【4】之反向傳播(BP)四個基本公式推導

文章目錄 補充知識:? 和 ⊙ 運算符詳解? (nabla) 運算符⊙ (圓圈點) 運算符 反向傳播基本公式計算圖和基本定義BP1:輸出層誤差推導BP1公式的重要性實際例子BP2第 l l l層誤差推導BP3 :損失函數關于偏置(b)偏導的推導BP4: 損失函…

極狐Gitlab 如何創建并使用子群組?

極狐GitLab 是 GitLab 在中國的發行版,關于中文參考文檔和資料有: 極狐GitLab 中文文檔極狐GitLab 中文論壇極狐GitLab 官網 子群組 (BASIC ALL) 您可以將極狐GitLab 群組組織成子群組。您可以使用子群組: 內部和外部組織分開。因為每個子…

HarmonyOS基本的應用的配置

鴻蒙HarmonyOS組建頁面 1、創建ets文件并配置2、修改main_pages.json文件3、修改EntryAbility.ets文件(啟動時加載的頁面) 1、創建ets文件并配置 Index.ets是創建項目自動構建生成的,我們可以將其刪除掉,并重新在page文件夾下創建…

強化學習三大基本方法-DP、MC、TD

強化學習進階 本文主要講解 動態規劃法(Dynamic Programming DP)蒙特卡洛法(Monte Carlo MC)時序差分法(Temporal Difference TD) 1. 動態規劃法 1.1 動態規劃概念 動態規劃核心思想: 其核心…

《Spring Boot 3.0全新特性詳解與實戰案例》

大家好呀!今天讓我們輕松掌握Spring Boot 3.0的所有新特性!🚀 📌 第一章:Spring Boot 3.0簡介 1.1 什么是Spring Boot 3.0? Spring Boot 3.0就像是Java開發者的"超級工具箱"🧰&…

【推薦筆記工具】思源筆記 - 隱私優先的個人知識管理系統,支持 Markdown 排版、塊級引用和雙向鏈接

Typora 使用Typora好多年了,一直非常的喜歡這個簡潔的Markdown編輯工具,低版本的免費且好用。 Typora官網地址: https://typora.io/ https://typoraio.cn/ Typora的文檔樹如下,細看后,總覺得差點意思! 思源筆記 今…

虛擬文件系統

虛擬文件系統(Virtual File System,VFS)是操作系統內核中的一個抽象層,它為不同的文件系統(如ext4、NTFS、FAT32等)提供統一的訪問接口。通過VFS,用戶和應用程序無需關心底層文件系統的具體差異…

Kubernetes Gateway API 部署詳解:從入門到實戰

引言 在 Kubernetes 中管理網絡流量一直是一個復雜而關鍵的任務。傳統的 Ingress API 雖然廣泛使用,但其功能有限且擴展性不足。Kubernetes Gateway API 作為新一代標準,提供了更強大的路由控制能力,支持多協議、跨命名空間路由和細粒度的流量管理。本文將帶你從零開始部署…

關于大數據的基礎知識(二)——國內大數據產業鏈分布結構

成長路上不孤單😊😊😊😊😊😊 【14后😊///計算機愛好者😊///持續分享所學😊///如有需要歡迎收藏轉發///😊】 今日分享關于大數據的基礎知識(二&a…

py實現win自動化自動登陸qq

系列文章目錄 py實現win自動化自動登陸qq 文章目錄 系列文章目錄前言一、上代碼?總結 前言 之前都是網頁自動化感覺太容易了,就來嘗嘗win自動化,就先寫了一個qq登陸的,這個是拿到className 然后進行點擊等。 一、上代碼&#xf…

動態創建鏈表(頭插法、尾插法)

今天我們來學習動態創建鏈表!!! 動態創建鏈表:分為頭插法和尾插法 頭插法(動態創建): 頭插法就是讓新節點變成頭 代碼如下 吐血了:這邊有個非常重要的知識點,這邊第三…

Dp通用套路(閆式)

閆式dp分析法: 從集合角度來分析DP問題。 核心思想: DP是一種求有限集中的最值或者個數問題 由于集合中元素的數量都是指數級別的,直接用定義去求,把每種方案都用dfs暴力枚舉一遍,時間復雜度很高,此時用…

33、前臺搜索功能怎么實現?

輸入搜索的東西,如果為空 如果有 前端是提交表單,方式是 post 后端接受 調用 mybatisplus的categoryService.getById 用戶在搜索框內輸入關鍵字之后,執行 js 中的 load方法,前端提交表單, 后端 controller 中的loa…

Spring Boot 框架概述

1. 簡介 Spring Boot 是由 Pivotal 團隊開發的一個用于簡化 Spring 應用開發的框架。它通過提供默認配置、嵌入式服務器和自動配置等特性,讓開發者能夠更快速地構建獨立的、生產級別的 Spring 應用。 Spring Boot 的主要特點包括: 快速創建獨立的 Spri…

機器學習第二講:對比傳統編程:解決復雜規則場景

機器學習第二講:對比傳統編程:解決復雜規則場景 資料取自《零基礎學機器學習》。 查看總目錄:學習大綱 關于DeepSeek本地部署指南可以看下我之前寫的文章:DeepSeek R1本地與線上滿血版部署:超詳細手把手指南 一、場景…

Jackson Databind

Jackson Databind 是 Java 生態中處理 JSON 數據的核心庫之一,主要用于實現 Java 對象與 JSON 數據之間的序列化與反序列化。它是 Jackson 庫家族的一部分,通常與 jackson-core 和 jackson-annotations 一起使用,共同完成 JSON 處理任務。 核…

MySQL 中的事務隔離級別有哪些?

MySQL 支持四種標準的事務隔離級別,從低到高依次為:讀未提交(READ UNCOMMITTED)、讀已提交(READ COMMITTED)、可重復讀(REPEATABLE READ) 和 串行化(SERIALIZABLE&#x…

RAG優化知識庫檢索(1):基礎概念與架構

1. 引言 大語言模型(LLM)常常面臨著知識時效性、幻覺生成、定制化難等挑戰,檢索增強生成(Retrieval-Augmented Generation, RAG)技術作為解決這些問題的有效方案,正在成為AI應用開發的標準架構。 本文將從基礎概念入手,全面介紹RAG技術的核心原理、標準架構與組件,以及評…

安卓工程build.gradle中的Groovy的常見知識點

文章目錄 變量定義函數定義函數調用閉包參數APK輸出配置多channel配置依賴配置關鍵總結常見混淆點groovy高度兼容java 變量定義 def debugCdnUrl "\"http://xxx\"" //變量賦值函數定義 def getTime() { // 函數定義(def 是 Groovy 中定義變…

阿里云 SLS 多云日志接入最佳實踐:鏈路、成本與高可用性優化

作者:裘文成(翊韜) 摘要 隨著企業全球化業務的擴展,如何高效、經濟且可靠地將分布在海外各地的應用與基礎設施日志統一采集至阿里云日志服務 (SLS) 進行分析與監控,已成為關鍵挑戰。 本文聚焦于阿里云高性能日志采集…