#31 RemoteAccessTech-004-SDP也是一種SSL VPN?
0、篇首語
近段時間以來,收到反饋想讓我講講接入技術(shù)的呼聲一直很高,而且確實隨著政策、疫情、攻防演練、業(yè)務發(fā)展、安全態(tài)勢等多方面的影響,企業(yè)對于接入安全也越來越重視。
而安全業(yè)界而言,零信任理念近幾年受多方加持越來越火熱,不論各家的零信任如何包裝粉飾,接入技術(shù)也是其無論如何也跳脫不開的基本線。
RemoteAccessTech系列不會討論零信任理念本身,但是會嘗試將遠程接入技術(shù)拆開來盡量給大家講清楚。
1)、RemoteAccessTech-001-從互聯(lián)網(wǎng)邊界接入說起
2)、RemoteAccessTech-002-VPN技術(shù)發(fā)展史淺析(上)
3)、RemoteAccessTech-002-VPN技術(shù)發(fā)展史淺析(下)
4)、RemoteAccessTech-003-理解隧道協(xié)議
1、 SDP 也是一種SSL VPN ?(Comparsion Of RemoteTech)
在 RemoteAccessTech-002-VPN技術(shù)發(fā)展史淺析(下) 中的 第3.6.2小節(jié) 中所述:
所有通過SSL協(xié)議進行加密傳輸?shù)腣PN即可稱之為SSL VPN,這也是它顯著有別于 GRE、IPSEC等VPN關(guān)鍵特征點。
顯而易見,由于SSL/TLS發(fā)展為了安全傳輸?shù)氖聦崢藴?/strong>,考慮安全,現(xiàn)行所有SDP在傳輸協(xié)議默認均使用了SSL/TLS協(xié)議 ,故僅 從接入技術(shù)視角 ,SDP也是SSL VPN的一種實現(xiàn)。
注:SDP和SSLVPN在接入技術(shù)以外的對比,暫不在本系列相關(guān)篇幅中涉及,考慮后續(xù)系列再補充
2、SDP/SSL VPN的提供的接入能力
正如前面所說,在接入技術(shù)視角,SDP和SSL VPN其本質(zhì)是一致的,所以兩者可以一般看待。
那么,典型的SDP/SSL VPN都提供哪些接入能力呢?
再回到 RemoteAccessTech-003-理解隧道協(xié)議 中的 第2.2.5章節(jié) 中描述如下:
多數(shù)SSL VPN廠商都具備如下代理資源類型:
1)、WEB資源:乘客協(xié)議是7層。而傳輸協(xié)議,由于SSL VPN默認使用SSL,一般認為屬于5-6層。
2)、TCP資源/代理資源/端口轉(zhuǎn)發(fā)資源:多數(shù)情況下,這些模式下,只能發(fā)布TCP的IP域名。乘客協(xié)議為4層,傳輸協(xié)議同前,SSL屬于5-6層。
3)、IP資源: 該模式一般能夠發(fā)布UDP、TCP的IP域名+端口,通常還可以支持ICMP。乘客協(xié)議為3層,傳輸協(xié)議同前,默認是SSL屬于5-6層。
上述資源分類,不僅對SSL VPN, 對 SDP (其接入技術(shù)實現(xiàn)上也屬于SSL VPN類別) 也同樣生效。
3、問題來了,正向代理和反向代理
問題來了,既然SDP/SSL VPN都是提供代理能力,那么在提到代理能力時,還有一個經(jīng)常被問及的問題:"XX資源是正向代理還是反向代理?"
也就意味著我們需要先區(qū)分清楚,什么是正向代理,什么是反向代理。
3.1、正向代理和反向代理的概念理解
我們知道,代理是一個中間層,兩端一定是要有Client(客戶端)和Server(服務供給方),至少需要3方才能形成一個完整的代理活動。
那么,有的代理為需求方(Client) 工作 ,有的代理為服務響應方(Serer) 工作,這兩者的區(qū)別就是 正反向代理 的區(qū)別。
1)、正向代理:為Client工作的稱之為正向代理,對客戶端負責,最基礎(chǔ)的作用是 隱藏真實客戶端。
自然世界中,正向代理的場景類比有 代購、跑腿 ,以及電影名場面:"請和我的律師談"。
2)、反向代理:為Server 工作的稱之為反向代理,對服務端負責,最基礎(chǔ)的作用是 隱藏真實服務端。
自然世界中,反向代理的場景類比,較典型的就是 長租公寓平臺 ,可以簡單理解為是 規(guī)?;亩繓|。長租公寓平臺以一個長期價格,向一手房東統(tǒng)一采購,加以改裝,分租給各個獨立租戶。租客(Client) 并不知道 房東(Server)是誰,而是和 長租公寓平臺(代理) 通信、簽訂協(xié)議。
3.2、正向代理
回到技術(shù)視角,正向代理(Forward Proxy) ,通常稱為代理、代理服務器或 Web 代理,是位于一組客戶端計算機之前的服務器。
3.2.1、正向代理的典型場景和用途
1)、代理客戶端上網(wǎng):比如說內(nèi)網(wǎng)多臺PC,通過指定一臺代理網(wǎng)關(guān)代理可訪問互聯(lián)網(wǎng)。
2)、客戶端匿名上網(wǎng):實現(xiàn)匿名化訪問,讓服務方(Server)無法知道真實訪問者身份。
Proxyium 就是 匿名上網(wǎng) 的一種場景實現(xiàn),如下是其界面。
不論是代理上網(wǎng)還是匿名上網(wǎng)場景,因為正向代理是為客戶端服務的,所以客戶端事先都需要要知道正向代理的存在。
在代理上網(wǎng)場景,可能表現(xiàn)為 瀏覽器的代理設置中要填寫 正向代理的地址等信息;
在類似上述Proxyium的匿名上網(wǎng)中,就需要事先訪問代理站點的地址。
3.3、反向代理
反向代理 則是 位于一個或多個WEB服務器前面的代理服務,用于代理客戶端的網(wǎng)絡請求,防止客戶端直接訪問服務器。
4.2.1、反向代理的典型場景和作用
參考 wiki ( HTTPS://en.wikipedia.org/wiki/Proxy_Server#Forward_proxies ),可以看到反向代理典型用途如下:
1)、 SSL加密/ SSL卸載:通過前置代理網(wǎng)關(guān),對互聯(lián)網(wǎng)發(fā)布HTTPS站點,后端內(nèi)網(wǎng)服務只需要實現(xiàn)http,即可實現(xiàn)對外SSL加密、對內(nèi)SSL卸載。
2)、負載均衡:比如說 OA業(yè)務有3臺Server服務器,3個內(nèi)網(wǎng)IP,通過代理網(wǎng)關(guān)進行輪詢負載,能夠既對互聯(lián)網(wǎng)提供統(tǒng)一服務、對內(nèi)實現(xiàn)多服務器間的負載均衡調(diào)度。
3)、緩存/加速:通過前置代理,對靜態(tài)資源(css、js、圖片、視頻等)進行緩存和加速,降低真實業(yè)務Server的性能占用。
4)、防DDOS:當前一些抗DDOS防護,也會采用7層防護,如Cloudflare的CDN,就可通過全球的CDN代理節(jié)點,可對7層資源進行DDOS防護。
如果正向代理相關(guān)場景,是客戶端需要感知到正向代理的存在;相對應地,反向代理場景,則是服務端需要感知到反向代理的存在,感知項包括如:域名解析需要調(diào)整至反向代理、SSL證書需要配置至反向代理等等,需要完成一定的前置配置。
3.4、透明代理
透明代理在不同的場景下,可能會有不同的含義。一般如果無特殊說明,透明代理 是指 強制正向代理,即一種通過網(wǎng)絡層強制代理的機制。
參考wiki( https://en.wikipedia.org/wiki/Proxy_server#Transparent_proxy ),針對透明代理解釋如下:
透明代理也稱為攔截代理、內(nèi)聯(lián)代理或強制代理,它攔截正常的應用程序?qū)?/span>[1]通信,而無需任何特殊的客戶端配置??蛻舳瞬恍枰来淼拇嬖?。透明代理通常位于客戶端和Internet之間,代理執(zhí)行網(wǎng)關(guān)[2]或路由器[3]的某些功能。[注18]
RFC[4] 2616(超文本傳輸協(xié)議 - HTTP/1.1)提供了標準定義:
“'透明代理'是不會超出代理身份驗證和識別所需的內(nèi)容修改請求或響應的代理”。“'非透明代理'是修改請求或響應以便向用戶代理提供一些附加服務的代理,例如組注釋服務,媒體類型轉(zhuǎn)換,協(xié)議減少或匿名過濾”。
典型的透明代理應用,是上網(wǎng)行為管理類設備,此文不作展開。
4、小結(jié)
此時,再回到最初的問題,"XX資源是正向代理還是反向代理?"
1)、隧道資源(Layer 4/Layer 3)相對明確,因為它默認對服務端是透明的,需要客戶端主動登錄后,代理訪問原本不可訪問的網(wǎng)段,屬于正向代理。
2)、WEB資源則要看情況了,多數(shù)情況下,廠商的WEB資源是只支持 代理企業(yè)內(nèi)部自有業(yè)務系統(tǒng),此時屬于 反向代理 。
但是部分廠商可能會提供額外的工作模式,即以7層WEB的方式支持代理訪問互聯(lián)網(wǎng)站點,此時,則屬于 正向代理。
其效果可能會類似如下站點:
唔,最后再點一下題~
從嚴謹意義上:
雖然,從安全理念上,SDP被預期比SSL VPN更安全(實際上要看各家實現(xiàn),缺乏安全設計的SDP未必安全,此言也可參考HVV系列(如 #16 HVV-Learning-006-應用安全與理解安全漏洞 ))
但是,從接入技術(shù)角度(限定前提),SDP確實是一種SSL VPN(基于SSL/TLS協(xié)議傳輸?shù)腣PN【具有VPN特性】即可稱為SSL VPN)。
部分參考:
https://www.cloudflare.com/zh-cn/learning/cdn/glossary/reverse-proxy/
https://en.wikipedia.org/wiki/Proxy_server#Forward_proxies
https://en.wikipedia.org/wiki/Reverse_proxy
https://datatracker.ietf.org/doc/html/rfc2616
參考資料
[1]OSI model: https://en.wikipedia.org/wiki/OSI_model#Layer_7:_Application_layer
[2]Gateway (computer networking): https://en.wikipedia.org/wiki/Gateway_(computer_networking)
[3]Router (computing): https://en.wikipedia.org/wiki/Router_(computing)
[4]RFC (identifier): https://en.wikipedia.org/wiki/RFC_(identifier)
好了,這篇文章的內(nèi)容發(fā)貨聯(lián)盟就和大家分享到這里,如果大家網(wǎng)絡推廣引流創(chuàng)業(yè)感興趣,可以添加微信:80709525 備注:發(fā)貨聯(lián)盟引流學習; 我拉你進直播課程學習群,每周135晚上都是有實戰(zhàn)干貨的推廣引流技術(shù)課程免費分享!