《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業(yè)界動態(tài) > 【零信任】詳解零信任架構中的安全網關

【零信任】詳解零信任架構中的安全網關

2020-10-15
作者: 冀托
來源:白話零信任
關鍵詞: 零信任 安全網關

  1,、零信任架構的中心

  無論是NIST還是Beyondcorp還是SDP,所有零信任架構中,,最中心的部分都是“安全網關”。下圖是NIST的零信任架構圖,,圖中藍框里就是“安全網關”,。

微信圖片_20201015145206.png

  從圖中可以看到安全網關的作用為:

  (1)安全網關隔開了左側外網和右側內網,。用戶在左側網絡中,。用戶想獲取右側的數據資源,只能通過網關進入,。網關就像是門衛(wèi)一樣,,合法的讓進,不合法的攔住,。

 ?。?)所有的安全策略都由網關執(zhí)行。零信任要求對用戶的身份,、設備,、行為路徑等等多個方面進行檢測和判斷,檢測結果由網關執(zhí)行,。用戶的請求到網關之后,,網關解析出請求中的用戶信息,然發(fā)給各個策略檢測模塊,。所有的檢測結果都匯聚到網關,,由網關最終執(zhí)行。

  下面介紹安全網關的具體架構,。

  2,、Web代理網關

  Beyondcorp是世界上最早落地的零信任項目,Beyondcorp網關的名字叫“訪問代理”(Access Proxy),,如下圖所示,。

微信圖片_20201015145211.png

  Beyondcorp的安全網關實際上相當于一個“Web代理”,只支持web網站的接入,,不支持c/s架構的應用,。這個網關可以用類似Nginx的代理服務器實現(xiàn)。

  Web代理網關的功能包括:

 ?。?)轉發(fā)請求,。這是代理服務器最基礎的功能,。網關根據用戶訪問的域名不同,分別轉發(fā)到網關后面的不同服務器,。

 ?。?)獲取身份。從架構圖中可以看到,,Beyondcorp架構中還包括“單點登錄”,。所以,網關對用戶身份的判斷可能也是通過單點登錄的token實現(xiàn)的,。

  Beyondcorp架構中,,客戶端是一個Chrome瀏覽器上的代理插件。用戶訪問數據時,,插件應該在cookie或包頭中加上了代表用戶身份的token,。

  Beyondcorp還要驗證設備信息。設備信息可能也是用類似的方式,,通過瀏覽器插件把信息插進包頭里帶給網關的,。

  (3)驗證身份,。網關可以將訪問者的身份信息發(fā)給Beyondcorp的身份管理模塊,。身份管理模塊進行對比和判斷,然后返回驗證結果,。

  為了提升驗證速度,,可以把身份信息在網關上也存儲一份。

  這一步會非常影響網關的性能,,所以要看一個零信任產品好不好,,就看網關的驗證算法快不快了。

 ?。?)放行或攔截,。網關根據驗證結果決定將訪問請求轉發(fā)到真實的服務器上,或者轉發(fā)到報錯頁面上,。(Beyondcorp的報錯頁面上會引導用戶去自助申請權限,,這個體驗做得非常很好。)

  Web代理網關的好處:

 ?。?)預驗證,、預授權。只有通過身份驗證的用戶才能接入企業(yè)資源,,其他人會被攔在外面,,完全碰不到企業(yè)資源,相當于在整個資源外面多了一層防護罩。

 ?。?)持續(xù)監(jiān)控,。所有流量都是通過網關轉發(fā)的,所以網關可以持續(xù)對用戶的流量進行設備健康狀態(tài)和用戶行為狀態(tài)的檢測,。如果發(fā)現(xiàn)異常,,可以立即進行攔截阻斷。

  3,、零信任的客戶端

  下面簡單介紹一下web代理網關需要什么樣的客戶端來配合,。

  因為Beyondcorp是谷歌自己內部用的,所以他的客戶端是用Chrome瀏覽器插件實現(xiàn)的,。

  國內瀏覽器市場比較亂,,沒法用插件做,所以國內很多做零信任的廠商都是自己開發(fā)了一個瀏覽器作為客戶端,。

  瀏覽器的技術要求很高。瀏覽器的好處是對終端的管控能力強,。但是要兼容企業(yè)的老舊系統(tǒng),,所以對內核兼容性要求很高。而且瀏覽器本身就是個很大的產品,,代碼幾千萬行,,要維護這么大的產品是很難的。

  其實,,不用瀏覽器,,做一個桌面代理程序也可以達到效果。國外廠商用瀏覽器做客戶端的也比較少,。那國內為啥喜歡瀏覽器呢,?因為國內最早做零信任的公司本來就是做瀏覽器起家的(我就在這個公司)。我們設計架構的時候,,順手就帶上了瀏覽器,。國內廠商愛跟風,都跟著學,,后來就都跟著跳進瀏覽器的坑里了,。沒想到現(xiàn)在瀏覽器竟然成為國內零信任的標配了?!疚婺樞Α?/p>

微信圖片_20201015145216.png

  4,、隱身網關

  以前我介紹過SDP的隱身黑科技。SDP架構里隱身網關的作用類似于防火墻,。隱身網關對用戶的身份進行檢測,,對合法用戶打開防火墻的端口。對非法用戶來說,,所有端口都是關閉的,。

  如果把隱身網關放在web代理之前的話,,可以增強安全網關的“隱身”防護能力,抵抗針對web代理網關的漏洞掃描或者DDoS攻擊,,如下圖,。

微信圖片_20201015145219.png

  隱身網關的功能流程為:

  (1)默認關閉所有端口,。默認情況下,,對網關IP進行掃描,會發(fā)現(xiàn)端口都是關閉的,。

 ?。?)申請放行。用戶在正常通信之前,,先向隱身網關發(fā)出一個專門用于申請放行的數據包,。這個數據包中包含用戶身份信息。

 ?。?)驗證身份,。隱身網關接收用戶的數據包,解析出用戶的身份,,并對身份進行檢測,。

  (4)放行或攔截,。身份合法的話,,隱身網關會對用戶的IP地址定向開放端口。對其他用戶來說,,端口還是關閉的,。

  (5)正常通信,。放行之后,,用戶就可以正常跟web代理網關通信了。

  4,、網絡隧道網關

  只有web代理網關的話,,C/S架構的業(yè)務系統(tǒng)沒法用,遠程運維連接SSH,、連接數據庫等等也不行,。一個完整的零信任方案應該支持這些場景。

  其實,,RDP和SSH也有web形式的方案,。這兩周協(xié)議也走web代理網關之后,基本就可以解決95%的問題了。

  但是剩下5%也不能放著不管,。企業(yè)里可能有些老舊的客戶端或者瀏覽器插件,,用的是自己的通信協(xié)議。這些場景沒法用web代理搞定,,只能在客戶端的網絡層抓包,,再通過網絡隧道轉發(fā)。

  在零信任網關中增加一個模塊——網絡隧道網關,,如下圖,。用戶訪問Web網站的時候,走Web代理網關,。其他C/S架構的場景,,走網絡隧道網關。

微信圖片_20201015145224.jpg

  很多零信任產品是用VPN來實現(xiàn)網絡隧道網關的,,包括Beyondcorp也是把C/S架構的場景交給VPN了,。

  目前最新一代的VPN協(xié)議是wireguard協(xié)議,用wireguard來實現(xiàn)網絡隧道網關是個不錯的選擇,。

  wireguard最大的特點就是代碼非常簡潔,。wireguard全部只有4千行,傳統(tǒng)VPN至少有幾萬行,。代碼少,,就意味著運行效率更高,,更快,,更穩(wěn)定,同時漏洞也更少,。

微信圖片_20201015145229.png

  wireguard的通信流程簡述如下,。

  (1)客戶端創(chuàng)建虛擬網卡,,抓取用戶流量,。這里要限制不能全部抓取,應該只抓取用戶有權訪問的流量,。

 ?。?)申請隱身網關放行。

 ?。?)與網絡隧道網關建立連接,。Wireguard將抓到的流量進行UDP封裝,封裝過程中進行加密,。與傳統(tǒng)VPN協(xié)議不同,,wireguard的加密過程采用了更高級的加密方法“Cryptokey Routing”。客戶端和網關各有一對公私鑰,,公鑰發(fā)給對方,。通信時先用私鑰進行加密,對方再用公鑰解密,。這里面,,公私鑰是跟用戶身份綁定的,每個用戶都用單獨一套公私鑰,。這樣的加密強度基本是不可破解的,。

  (4)網絡隧道網關檢測用戶身份,。身份信息是在封裝過程中插入數據包頭部的,。

  (5)正常通信,。

  網絡隧道網關的作用是覆蓋更多使用場景,,讓零信任架構更完整。但是在性能上可能不如Web代理網關,。而且暴露了網絡層的資源,,安全性上更低。

  所以這兩者是相互補充的關系,。如果只看到隧道網關所有場景都能支持,,就把web代理網關扔了,那就是丟了西瓜撿芝麻了,。

  我還見過一些廠商只有隧道網關,,web代理和隱身網關都沒有。沒有隱身防護的話,,相當于隧道網關還是對外暴露的,,很不安全。我當時試過攻擊他的51820端口(wireguard的默認端口),。每秒1萬個包過去,,直接就把那個廠商的產品搞癱瘓了。

  所以,,沒有隱身網關保護的隧道網關是很脆弱的,。

  5、API網關

  現(xiàn)在,,用戶的訪問場景都覆蓋了,,但是服務器之間的訪問還沒有管控。服務器之間的訪問需要API網關來管理,,如下圖,。

微信圖片_20201015145234.jpg

  第三方服務器調取被保護資源的API時,,需要進行身份驗證。具體流程為:

 ?。?)申請隱身網關放行,。

  (2)通過API網關的身份驗證,。多數API都是Http協(xié)議的,,所以這個過程與web代理網關類似。

  第三方服務器在通信時,,將自己的身份信息插入數據包的頭部,。API網關從包頭獲取身份進行驗證,并判斷是否放行,。

 ?。?)正常通信。

  6,、網關集群

  到這里已經形成了一個完整的零信任安全網關,。不過這只是單機版,只適用于中小型企業(yè),。

  大型企業(yè)還有其他需求:

 ?。?)多數據中心:業(yè)務系統(tǒng)的服務器分別部署在多個數據中心或者多個公有云上。

 ?。?)集群:大型企業(yè)用戶量大,,一臺網關性能肯定支撐不住。

 ?。?)高可用:所有流量都要經過網關轉發(fā),,一旦網關down掉,所有用戶都會受影響,,所以必須有高可用方案,,一臺壞了,,自動切換到另一臺,。當然,集群也能實現(xiàn)高可用,。

 ?。?)分布式:如果企業(yè)在全國各地都有分公司,或者跨國企業(yè)在國外也有分公司,,那么網關必須也是分布式的,,讓用戶能夠就近接入,保證用戶的訪問速度,。

  一個成熟的零信任架構應該滿足這些需求,,如下圖,。

微信圖片_20201015145237.jpg

  網關的集群方案跟零信任架構中的管控中心密不可分。管控中心管理所有網關,,用戶在什么情況下該連接哪個網關,,也是有管控中心統(tǒng)一管理。具體流程這里就不做深入介紹了,。

  7,、總結

  安全網關是零信任架構的中心,是零信任理念的執(zhí)行者,。安全網關通常會部署在企業(yè)網絡的入口,,對企業(yè)影響非常大。因此,,網關對各種協(xié)議是否都能支持,,網關是否支持高可用,加密通信的性能和穩(wěn)定性,,是零信任安全網關最重要的評價指標,。

 

本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,,并不代表本網站贊同其觀點,。轉載的所有的文章、圖片,、音/視頻文件等資料的版權歸版權所有權人所有,。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容,、版權和其它問題,,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,,避免給雙方造成不必要的經濟損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。