一個(gè)網(wǎng)絡(luò)有多少IP和端口向外暴露,,就有多少可以被攻擊的點(diǎn),。暴露面越小,,網(wǎng)絡(luò)越安全。
零信任里面有一些可以實(shí)現(xiàn)“零暴露面”的隱身技術(shù),,可以讓企業(yè)免疫網(wǎng)絡(luò)攻擊。
下面我就來介紹其中三種,。
隱身技術(shù)1:SDP端口隱藏
SDP技術(shù)是用來實(shí)現(xiàn)零信任理念的最好的技術(shù)框架之一,。SDP技術(shù)可以把攻擊面降低到最小,甚至完全不暴露端口,,實(shí)現(xiàn)“零”攻擊面,。
大家都知道,一個(gè)網(wǎng)站需要把端口映射到互聯(lián)網(wǎng)上,,才能被外部用戶訪問,。
SDP可以做到——讓一個(gè)網(wǎng)站只對合法用戶映射端口,不對非法用戶映射端口,。
就像下圖這樣,,只有合法用戶能連接到業(yè)務(wù)系統(tǒng)。非法用戶完全“看不到”被保護(hù)的業(yè)務(wù)系統(tǒng)和網(wǎng)絡(luò)。壞人去嘗試進(jìn)行連接的話,,會(huì)發(fā)現(xiàn)這個(gè)IP地址上什么網(wǎng)站都沒有,。但是同時(shí)好人卻可以完全正常地使用。
被保護(hù)的網(wǎng)絡(luò)就像隱身了一樣,,壞人根本看不到,,摸不著。包括下圖中列舉的各類網(wǎng)絡(luò)攻擊都無從發(fā)起,。有了SDP就相當(dāng)于對所有網(wǎng)絡(luò)攻擊都免疫了,。
這么神奇的效果是怎么實(shí)現(xiàn)的呢?介紹端口隱身的原理之前,,我先科普一下啥是端口,,黑客怎么攻擊端口。
什么是端口
如果一個(gè)服務(wù)器是一個(gè)大樓的話,,端口就像大樓的各個(gè)出入口,。不同的入口可以進(jìn)入不同的店鋪、不同的區(qū)域,。對服務(wù)器來說,,不同的端口對應(yīng)了不同的服務(wù)程序。
每個(gè)服務(wù)器程序都是通過“端口”跟外面的用戶通信的,。例如,,我們平時(shí)用瀏覽器打開百度的時(shí)候,就是通過百度的443端口跟百度的服務(wù)器程序通信的,。瀏覽器地址欄里真實(shí)的URL是www.baidu.com:443,,你一般看不到443,是因?yàn)闉g覽器把端口隱藏了,,沒顯示出來,。不信你在url后面輸入:443試試,打開的是同一個(gè)界面,。
訪問https網(wǎng)站是通過服務(wù)器的443端口,,訪問http網(wǎng)站是通過服務(wù)器的80端口,建立SSH連接是通過22端口,,發(fā)送郵件是通過25端口……
黑客怎么攻擊端口
黑客一般會(huì)先收集服務(wù)器都開了哪些端口,,猜測服務(wù)器提供什么服務(wù),然后分別制定相應(yīng)的攻擊計(jì)劃,。
所以,,端口是攻防的關(guān)鍵。各類網(wǎng)絡(luò)攻擊基本都是以“端口”為目標(biāo)的,。如果端口沒有暴露出來的話,,黑客就沒有可攻擊的目標(biāo),。
1、利用漏洞攻擊
黑客用端口掃描工具(例如Nmap)可以從端口的返回信息中了解到很多服務(wù)器的信息,。例如,,服務(wù)器的操作系統(tǒng)、中間件,、通信協(xié)議等等,。
壞人知道了目標(biāo)服務(wù)器的信息,就可以利用相應(yīng)的漏洞去攻擊,?;ヂ?lián)網(wǎng)上有很多公開的漏洞庫。只要在漏洞庫里搜索,,就能查到漏洞,。
操作系統(tǒng)、中間件等軟件廠家會(huì)從漏洞庫里查找自己的漏洞,,并進(jìn)行修復(fù)升級,。但軟件出新版了,用戶不一定立馬跟著升級,。大部分用戶用的都是帶著漏洞的舊版本,。
對黑客來說,這些服務(wù)器和用戶,,都成了靶子,。黑客可以隨意攻擊,讓服務(wù)器癱瘓,、或者竊取機(jī)密信息。
2,、DDoS攻擊
除了利用漏洞,,黑客還有更簡單粗暴的攻擊方法。
如果發(fā)現(xiàn)目標(biāo)服務(wù)器某個(gè)端口是暴露的,,直接利用大批的肉雞傀儡機(jī)進(jìn)行流量攻擊,,把服務(wù)器的資源占滿,直接就能給服務(wù)器搞癱瘓,。
3,、自動(dòng)信息收集
看到這,你可能會(huì)想,,端口直接暴露在互聯(lián)網(wǎng)上確實(shí)危險(xiǎn),,但是哪有那么多人這么無聊,每天在網(wǎng)上掃描漏洞,、肆意進(jìn)攻啊,。有的話也輪不到我吧,。
我告訴你,錯(cuò)了,!每天有很多爬蟲在大規(guī)模地自動(dòng)掃描,。
就像百度會(huì)不斷地爬全世界的所有網(wǎng)頁一樣,很多黑客組織會(huì)搞一套集群每天去掃全世界所有的服務(wù)器,。下圖就是某個(gè)國內(nèi)的公開的服務(wù)器搜索引擎,。去搜一個(gè)漏洞的名字,馬上能把全世界所有有這個(gè)漏洞的服務(wù)器列出來,。
所以,,你可能已經(jīng)在別人的目標(biāo)列表里了,只不過還沒輪到,,或者你還不知道而已,。
一般的防御手段
網(wǎng)絡(luò)攻擊很恐怖,那現(xiàn)在一般公司是怎么防御的呢,?一般有兩種手段,。
一種是允許所有人訪問目標(biāo)網(wǎng)站,但是訪問時(shí)會(huì)進(jìn)行各種安全過濾,。發(fā)現(xiàn)惡意代碼或者病毒木馬,,則立即進(jìn)行阻斷。
這種方法依賴于識(shí)別惡意行為的規(guī)則庫,。如果一種新型的攻擊剛剛被發(fā)明,,破解方法還沒被發(fā)明出來,那么很大可能這種攻擊是防御不住的,。這就是常說的零日攻擊,。
而且,這種防御的思路有一個(gè)缺陷,,就是只要目標(biāo)網(wǎng)站是暴露出來的,,它就是一個(gè)靶子!壞人可以隨時(shí)去研究它,,破解它,。
例如,WAF是專門防御針對web的攻擊的設(shè)備,,網(wǎng)上WAF的繞過教程有都很多,。因?yàn)閃AF是所有人都可以看到的,所有人都可以不斷地去研究它,,去測試有沒有辦法繞過它的防御,。
正是因?yàn)榈谝环N方法有這種局限,所以很多重要的系統(tǒng)都是不暴露在公網(wǎng)上的,。
如果需要遠(yuǎn)程訪問這種系統(tǒng)的話,,企業(yè)一般選擇通過VPN接入,。
VPN的特點(diǎn)是它可以減小暴露面。外部用戶看不到VPN保護(hù)的業(yè)務(wù)系統(tǒng)的端口,。
但是VPN還是存在一個(gè)問題,,就是VPN本身還是要暴露端口的。例如SSL VPN就要暴露443端口,。有端口就有漏洞,!例如下圖就是我在漏洞庫里搜到的各種VPN的漏洞。
所以VPN也不是一個(gè)完美的辦法,。那么有沒有辦法一個(gè)端口都不暴露呢,?有!方法就是——SDP,。
SDP的隱身原理
回到最開始的圖,。SDP設(shè)備通常會(huì)部署在網(wǎng)絡(luò)的入口進(jìn)行防御(下圖中“火”左邊的圓圈開關(guān))。被保護(hù)的網(wǎng)絡(luò)只有一個(gè)出入口,。SDP就在這里把守,。
1、SDP的組件
SDP需要兩個(gè)組件配合,,才能實(shí)現(xiàn)隱身的效果,。這兩個(gè)組件分別是SDP客戶端和SDP網(wǎng)關(guān)。
?。?)SDP客戶端安裝在用戶電腦上,。
(2)SDP網(wǎng)關(guān)部署在網(wǎng)絡(luò)入口,。
2,、默認(rèn)關(guān)閉所有端口
SDP網(wǎng)關(guān)的默認(rèn)規(guī)則是——關(guān)閉所有端口,拒絕一切連接,。網(wǎng)關(guān)防火墻規(guī)則只有一條,,就是deny all。默認(rèn)情況下,,誰來他都不理。所有人都連不上它的端口,。SDP網(wǎng)關(guān)就是這么“隱身”的,。
3、端口敲門
這樣的話,,壞人是連不上了,,但是好人怎么連呢?好人要進(jìn)行一套特殊的流程才能連,。這套流程叫做“端口敲門”,。
打個(gè)比方,,端口敲門的原理就像是,你要進(jìn)入一個(gè)秘密基地,,基地的大門平時(shí)是緊閉的,。里面有個(gè)人守著,外面怎么敲門都不給開,,除非你敲對了暗號,,例如三長兩短。敲對了暗號,,就給開門了,。
SDP技術(shù)要求好人在連接端口之前,也要“敲門”,。
?。?)SDP客戶端在跟SDP網(wǎng)關(guān)通信之前,會(huì)先發(fā)一個(gè)“敲門”用的數(shù)據(jù)包,。包中帶有用戶身份和申請?jiān)L問的端口,。
(2)SDP網(wǎng)關(guān)收到敲門包之后進(jìn)行驗(yàn)證,,看看身份合不合法,,看看申請的端口有沒有授權(quán)。
?。?)如果都合格了,,那么SDP網(wǎng)關(guān)會(huì)在防火墻中添加一條規(guī)則——允許來自這個(gè)用戶的IP的流量訪問某某端口。這就相當(dāng)于把SDP網(wǎng)關(guān)這扇門給“敲”開了,。
?。?)敲門完成之后,用戶再去訪問網(wǎng)關(guān)的端口就可以訪問通了,。網(wǎng)關(guān)會(huì)把用戶的流量轉(zhuǎn)發(fā)給相應(yīng)的業(yè)務(wù)系統(tǒng),。
注意,這個(gè)時(shí)候,,壞人去訪問“同一個(gè)端口”還是不能訪問,。因?yàn)榫W(wǎng)關(guān)只對好人的IP做了放行,壞人的IP是沒有放行的,。所以壞人還是掃不到端口,,看不到,摸不著,。
而且目標(biāo)端口,,對好人也只是暫時(shí)開放,一旦好人停止操作超過一分鐘,,端口就自動(dòng)關(guān)了,。如果好人一直在操作,,那么SDP客戶端會(huì)定期去敲門,保持端口是開放的,。
你可能會(huì)發(fā)現(xiàn),,這里面有個(gè)問題——如果SDP網(wǎng)關(guān)默認(rèn)所有的端口都是關(guān)閉的,那敲門包是怎么接收的呢,?
其實(shí),,SDP會(huì)留一個(gè)端口,處于半開放的狀態(tài),,只接收,,不響應(yīng)。(例如,,隨便一個(gè)UDP端口)
?。?)端口號是網(wǎng)關(guān)事先與客戶端協(xié)商好的,例如60001
?。?)客戶端把敲門包發(fā)送到60001端口上
?。?)60001端口接收數(shù)據(jù)包后不做任何響應(yīng)
(3)壞人的掃描工具探測60001端口時(shí),,會(huì)認(rèn)為這個(gè)端口啥反應(yīng)都沒有,,肯定是關(guān)閉的。
以上就是SDP的端口隱身機(jī)制,。
4,、隱身的效果
如果拿Nmap去掃描SDP網(wǎng)關(guān)的話,結(jié)果會(huì)發(fā)現(xiàn)所有端口都是關(guān)閉狀態(tài),,如下圖,。但是用SDP客戶端可以正常打開網(wǎng)站。
5,、SDP和VPN的對比
Gartner預(yù)言SDP會(huì)替代VPN技術(shù),,主要就是因?yàn)镾DP的隱身能力。VPN至少還是要暴露一個(gè)端口的(例如ssl vpn的443端口),。為什么總是聽到vpn爆出漏洞的新聞呢,,就是因?yàn)関pn始終暴露端口,壞人可以隨時(shí)去嘗試攻擊,,去研究你有沒有漏洞,。
所以從這點(diǎn)來說,SDP的安全性確實(shí)更高,。
隱身技術(shù)2:基于云的IP隱身
SDP可以做到端口隱藏,但I(xiàn)P還是需要對外映射的,。不然好人也訪問不到了,。
有沒有不用映射IP就能實(shí)現(xiàn)遠(yuǎn)程訪問的技術(shù)呢,?有!很多基于云的零信任產(chǎn)品會(huì)帶有這種技術(shù),。
1,、云隱身的原理
這種技術(shù)的架構(gòu)如圖,包括三個(gè)部分:客戶端,、云端,、連接器。
?。?)連接器先主動(dòng)跟云端建立隧道
?。?)客戶端的流量先發(fā)到云端,再沿隧道的回路,,轉(zhuǎn)發(fā)到連接器
?。?)最后連接器再把流量轉(zhuǎn)發(fā)給內(nèi)網(wǎng)服務(wù)器
云端相當(dāng)于SDP的網(wǎng)關(guān)。連接器起到連接內(nèi)網(wǎng)和云端的作用,。
這種架構(gòu)下,,企業(yè)不用給連接器映射IP和端口。連接器能上網(wǎng)就行,。企業(yè)內(nèi)網(wǎng)只有向外的連接,,沒有向內(nèi)的連接。這樣,,壞人就徹底進(jìn)不來了,。
為什么連接器不需要對外映射IP和端口呢?
因?yàn)檫B接器是主動(dòng)向外建立隧道,,連接器本身不對外提供服務(wù),。云端跟連接器通信,是沿著隧道的回路來進(jìn)行通信的,。
如果想不明白的話,,可以想想我們平時(shí)在家上網(wǎng)的場景。家里電腦是不對外映射IP和端口的,,網(wǎng)站怎么把信息發(fā)給電腦呢,?電腦主動(dòng)向網(wǎng)站發(fā)起連接,網(wǎng)站是順著連接的回路把網(wǎng)頁發(fā)下來的,。
2,、云隱身的好處
企業(yè)不用暴露IP和端口有很多好處。
?。?)首先就是不用備案了,。
(2)而且,各種DDoS攻擊和漏洞掃描都不可能了,。掃描工具里要填寫目標(biāo)IP,。企業(yè)什么IP都不暴露的話,壞人別說掃端口了,,IP都不知道怎么填,。
這樣,企業(yè)網(wǎng)絡(luò)就相當(dāng)于徹底隱身了,,耶,!
3、云隱身的缺陷
這種模式又省心又安全,,看似完美,。但其實(shí)是有個(gè)風(fēng)險(xiǎn)點(diǎn)的。風(fēng)險(xiǎn)點(diǎn)就是云端自身的安全,。云端還是要對外映射IP的,。
這種模式本質(zhì)上是把風(fēng)險(xiǎn)轉(zhuǎn)嫁了,轉(zhuǎn)嫁給云端了,。
4,、云+SDP的結(jié)合
如果要保護(hù)云端的話,可以考慮把SDP融入進(jìn)來,。云端裝一個(gè)SDP的網(wǎng)關(guān),。云還是暴露IP,但是不暴露端口,。
這樣,,總共兩層防護(hù),第一層是SDP隱藏端口,,第二層是連接器不暴露IP,。整體的安全性就比較完美了。
隱身技術(shù)3:無端模式
SDP+連接器的方式在安全性上是很好的,,但是在便捷性上有一個(gè)缺點(diǎn)——需要用戶安裝一個(gè)客戶端,。因?yàn)榍瞄T是一個(gè)特殊的流程,有客戶端才能執(zhí)行,。電腦上默認(rèn)瀏覽器沒法執(zhí)行,。
有端的話就難推廣。一般終端的產(chǎn)品是比較難運(yùn)維的,,用戶很排斥往自己的電腦上裝各種亂七八糟的東西,。
能不能沒有端?能,。
我看到過一個(gè)國外網(wǎng)友給自己公司DIY了一套無端的隱身方案,。
1,、無端模式的架構(gòu)
(1)用戶先登錄SSO(單點(diǎn)登錄)系統(tǒng)
?。?)SSO通知防火墻添加一條規(guī)則——允許來自用戶IP的流量(規(guī)則標(biāo)簽里加上創(chuàng)建時(shí)間)
?。?)后臺(tái)有一個(gè)回收程序,定期去檢查所有防火墻規(guī)則,,對比創(chuàng)建時(shí)間,發(fā)現(xiàn)已經(jīng)過了10分鐘,,就立即清除該規(guī)則,。
2、無端模式的優(yōu)缺點(diǎn)
這種方案也能實(shí)現(xiàn)隱身的效果,。用戶登錄SSO之前,,防火墻是關(guān)閉的。業(yè)務(wù)系統(tǒng)在互聯(lián)網(wǎng)完全掃不到,。
這種方案相當(dāng)于把敲門的邏輯放到SSO系統(tǒng)里去執(zhí)行了,。好處是用戶不用安裝客戶端,但是代價(jià)是企業(yè)的SSO系統(tǒng)是暴露在外的,。
所以,,從這個(gè)角度看,體驗(yàn)上來了,,但是安全性下去了,。
總結(jié)
上面介紹了三種隱身技術(shù),各有利弊,,各有適合的場景,。三種技術(shù)還可以兩兩組合,產(chǎn)生更佳效果,。
隱身技術(shù)企業(yè)帶來的價(jià)值也非常大,。有隱身之后可以避免掉絕大多數(shù)的網(wǎng)絡(luò)攻擊、滲透測試,。尤其是比較大的公司,,內(nèi)部幾百個(gè)系統(tǒng),一個(gè)一個(gè)搞安全建設(shè)太累了,,不如在統(tǒng)一入口上直接隱身,,簡單有效。