選單

基於零信任的軟體定義邊界網路隱身技術研究

摘 要

軟體定義邊界(Software-Defined-Perimeter,SDP)作為零信任安全的最佳實踐落地技術架構,打破了舊式邊界防護思維,從傳統的以網路為中心轉變為以身份為中心進行最小許可權訪問控制。透過網路隱身技術,不區分內外網,確保只有合法的身份以及裝置和網路環境才能接入。在訪問過程中,對使用者行為持續進行安全等級評估,並對風險行為進行動態控制,在雲計算及數字化轉型的大趨勢下能有效地保護企業的資料資產安全。

內容目錄:

0引言

1概述

2零信任SDP

2。1SDP客戶端

2。2SDP管控平臺

2。3SDP閘道器

3網路隱身技術

3。1SDP網路隱身設計

3。2SPA隱身服務

3。2。1網路通訊

3。2。2資料加解密及驗證

3。2。3防火牆策略

4網路隱身安全能力

5SDP網路隱身最佳實踐

6結語

00

引言

過去企業IT基礎設施侷限在企業自建或租賃的“機房”內,企業使用者或合作伙伴都是透過傳統的企業“內網”訪問企業的業務系統,企業的IT架構是“有邊界”的。在業務上雲和使用者開始使用自帶裝置(Bring Your Own Device,BYOD)移動辦公的大背景下,企業IT基礎設施與使用者辦公的內外邊界變得模糊,傳統安全邊界開始慢慢消失,企業IT架構正在從“有邊界”向“無邊界”進行過渡。傳統的網路安全手段已經不能滿足雲時代和移動辦公時代企業所需的安全防護以及高效的訪問要求,零信任安全架構模型應運而生。零信任網路安全架構打破了傳統的邊界防護思維,從以往的以網路防護為中心轉變為以身份(人、裝置、應用)為中心;最小化許可權訪問控制,預設不信任網路內部和外部的任何人、裝置或網路,持續監控所有連線的可疑行為。

01

概述

零信任(Zero Trust,ZT)安全的核心思想是:打破舊式邊界防護思維,從傳統的以網路為中心轉變為以身份為中心進行最小許可權訪問控制。軟體定義邊界(Software-Defined-Perimeter,SDP)安全模型作為零信任的最佳實踐,由國際雲安全聯盟在2013年提出,也被Gartner定義為零信任網路訪問零信任網路接入(Zero Trust Network Access,ZTNA)。

SDP是圍繞某個應用或一組應用建立的。基於身份和上下文的邏輯訪問邊界,SDP從架構設計上就只允許可信任的業務報文透過,同時丟棄不合法報文。一般來講,在SDP架構下真實的後端服務是被隱藏的:客戶端與眾多的SDP邊緣節點聯動,使得合法報文知道如何進入SDP網路,惡意流量將被SDP邊緣節點丟棄,把應用資源從公共視野中消除,從而顯著減少攻擊面。

02

零信任SDP

SDP作為零信任的最佳實踐落地技術架構,在“移動+雲”的時代背景下,旨在透過網路隱身技術,為企業構建起一個雲安全邊界,確保只有合法的身份、裝置和網路環境才能接入,對其他工具完全不可見,由於看不到目標,因此有效地規避了各種安全風險。同時,SDP還有一個很重要的零信任機制,就是在訪問過程中對使用者行為持續進行安全等級評估,並對風險行為進行動態控制,從而有效保護企業的資料資產的安全。

傳統的網路接入控制是先接入再認證,由於埠暴露在網際網路上,很容易遭受安全攻擊,從而產生各種安全威脅。零信任SDP安全模型跟傳統的網路接入控制模型不同,透過網路隱身技術實現先認證後連線,埠不暴露在網際網路。同時,採用三角架構,管理控制平面與傳輸資料平面分離,實現更安全的接入管控,並且在雲環境下實現系統的靈活可擴充套件。

零信任SDP安全模型由3部分組成:SDP管控平臺、SDP閘道器和SDP客戶端。該模型採用三角架構,SDP客戶端發起連線請求,SDP管控平臺認證客戶端請求,並控制SDP客戶端與SDP 閘道器建立資料通道。(見圖1)

基於零信任的軟體定義邊界網路隱身技術研究

圖1 SDP架構

2。1SDP客戶端

SDP客戶端透過敲門技術攜帶認證資訊,包含使用者名稱、密碼、終端資訊、網路環境等,SDP控制器對這些認證資訊組合的多因素身份進行驗證,向客戶端返回SDP閘道器列表及許可權列表。

2。2SDP管控平臺

SDP管控平臺用來對接入的SDP客戶端進行身份驗證,管理SDP閘道器。管控平臺自身具備安全策略管理、日誌審計等功能,能夠動態管控使用者的認證和訪問行為,以及與企業已有的身份管理、態勢感知等系統對接。

2。3SDP閘道器

預設情況下,SDP閘道器拒絕一切連線請求,只有管控平臺下發認證策略後,才動態接受指定SDP客戶端的連線,透過加密傳輸的方式代理SDP客戶端和應用的資料通訊,同時根據管控平臺下發的控制策略,管理通訊過程。

03

網路隱身技術

網路隱身作為零信任SDP最關鍵的技術之一,其目標之一是克服傳輸控制協議/網際網路協議地址(Transmission Control Protocol/Internet Protocol Address,TCP/IP)開放和不安全的基本特性。該特性允許“先連線後認證”,而使用SDP架構的應用被隱藏在SDP閘道器之後,實現“先認證後連線”,從而只有被授權的使用者才能可靠地訪問,而未授權使用者則看不到這些服務。

單包授權(Single Packet Authorization,SPA)是實現SDP網路隱身的核心網路安全協議。在允許訪問控制器、閘道器等相關係統元件所在的網路之前先驗證裝置和使用者身份,實現零信任“先認證,再連線”的安全模型理念。SPA包含包括請求方的IP地址等在內的連線請求的資訊,在單一的網路資訊中被加密和認證,透過配置預設丟棄(Default-Drop)的防火牆策略使保護的服務對外不可見。SPA的目的是允許伺服器防火牆隱藏起來並被預設丟棄。該防火牆系統應該丟棄所有TCP和使用者資料報協議(User Datagram Protocol,UDP)資料包,不回覆連線嘗試,從而不為潛在的攻擊者提供任何關於該埠是否正被監聽的資訊。

使用者嘗試訪問時,先驗證使用者的身份、裝置和網路資訊,然後允許使用者網路訪問零信任系統元件管控平臺和SDP閘道器,最後使用者才被允許訪問該服務。所以,SPA對於SDP不可或缺,用於在客戶端和控制端、閘道器和控制器、客戶端和閘道器等之間的連線中通訊。

SPA實現原則:

(1)資料包必須被加密認證;

(2)資料包必須自行包含所有必要的資訊,單獨的資料包不被信任;

(3)生成和傳送資料包必須不依賴於管理員或底層訪問許可權,不允許篡改原始資料包;

(4)伺服器必須儘可能無聲地接受和處理資料包,不傳送迴應或確認。

具體實現原理如圖2:

基於零信任的軟體定義邊界網路隱身技術研究

圖2 SDP網路隱身原理

3。1SDP網路隱身設計

SDP架構下保護的業務服務只允許被認為合法的報文進行訪問,丟棄“非法”報文,從而實現了業務服務隱身,SPA認證流程如圖3。

基於零信任的軟體定義邊界網路隱身技術研究

圖3 SPA認證流程

認證處理流程如下:

(1)客戶端傳送一個簽名的請求授權訪問後端服務的資料包給SPA服務;

(2)SPA服務對收到的請求授權包進行解包、驗籤等操作,對無效請求直接丟棄;對檢查透過的,設定防火牆訪問規則並回復授權響應包給合法客戶端。

SPA可以看做通訊層的訪問保護,主要在網路通訊層保護防火牆之後的後端服務。SPA首包認證作為網路通訊的授權認證手段,有效地防範未信任資料包的風險。

3。2SPA隱身服務

SPA對網路授權資料包的應用訪問進行防火牆管控,從而達到控制網路訪問的目的。SPA服務主要有如下技術特點:

(1)無監聽埠:使用快速資料路徑(eXpress Data Path,XDP)直接從網絡卡驅動層獲取通訊資料包,直接處理報文內容。掃描程式無法偵測到監聽埠,這樣可以防範駭客攻擊前的掃描偵測,從源頭杜絕駭客對具體業務服務的攻擊。無監聽服務埠方式只需要SPA直接在網路層抓包,直接解析UDP網路報文內容,不需要真正擁有應用服務監聽網路埠。

(2)支援大網路流量處理:XDP技術性能非常高,可接近網絡卡頻寬上限,特別是在抵禦DDOS攻擊方面有先天優勢。

(3)支援千萬級別管理策略:使用源IP、目的IP和目的埠,透過服務標識做hash(雜湊)演算法來管控網路,可支援千萬級別管理策略。

(4)更加安全的SPA首包認證協議:SPAD使用自定義SPA協議。透過使用個性化簽名演算法和報文加密演算法,以及MAC演算法,提高了安全性。

(5)支援高可用叢集部署:管理策略使用NoSQL、MySQL等儲存,支援多節點叢集部署。目前SPAD支援VIP模式高可用方案(Keepalived + VIP)。

SPA網路控制組件架構如圖4所示:

基於零信任的軟體定義邊界網路隱身技術研究

圖4 SPA 網路控制組件架構

從上圖可以看出,SPA網路控制組件可以分為以下三層。

(1)網路通訊層:可使用UDP、TCP通訊,也可以使用自定義協議。SPA一般選擇使用UDP通訊,因為UDP傳輸是無連線的,預設無須響應,可透過drop授權不透過的資料包來隱藏自己,這個特性使得SPA可以隱藏自己。另外從安全形度講,TCP更容易被攻擊。

(2)授權包的加解密以及簽名驗證:資料本身包含簽名、加密演算法密文以及防篡改MAC保護。

(3)防火牆網路策略規則管理:對SPA授權認證透過的應用開放網路訪問許可權,新增防火牆的訪問策略。一般網路策略預設設定時間生命週期(Time To Live,TTL),過期時訪問策略會清除。

3.2.1 網路通訊

負責網路通訊的服務應用容易被掃描器偵測,也容易被DDOS攻擊,這在安全方面必須考慮到。另外如果被識別出提供服務的埠,也會增加網路攻擊的機率。因此SPA可需要透過抓包方式直接拿到請求授權包。

目前主流網路抓包方式有以下四種。

(1)XDP:全名是eXpress Data Path,是一種核心快速表達資料路徑方法。

(2)DPDK(Data Plane Development Kit):DPDK是資料平面開發套件,它由多個庫組成,可提高在各種CPU架構上執行的資料包處理工作量。

(3)PF_RING:PF_RING是一個Linux核心模組和使用者空間框架,可以高速率處理資料包,同時為資料包處理應用程式提供一致的API。

(4)PCAP:PCAP由應用程式程式設計介面組成,透過這種高層次的介面來捕獲網路流量。PCAP也支援把捕獲的資料包儲存為本地檔案並從本地檔案讀取資訊。

以下(表1)是上述抓包方式在大流量高併發場景下的比較:

表1 網路抓包效能

基於零信任的軟體定義邊界網路隱身技術研究

3.2.2 資料加解密及驗證

SPA請求授權包必須保證完整性和安全性,可參考以下主流演算法實現自定義業務報文協議。

(1)對稱加密演算法:指加密和解密使用相同金鑰的加密演算法。對稱加密演算法用來對敏感資料等資訊進行加密,常用的演算法包括DES、3DES、AES、DESX、Blowfish、RC4、RC5、RC6。

(2)公鑰加密演算法:指加密和解密使用不同金鑰的加密演算法,也稱為公私鑰加密。假設兩個使用者要加密交換資料,雙方交換公鑰,使用時一方用對方的公鑰加密,另一方即可用自己的私鑰解密。常見的非對稱加密演算法:RSA、DSA(數字簽名用)、ECC(移動裝置用)、Diffie-Hellman、El Gamal。

(3)Hash函式:是一種單向演算法,使用者可以透過Hash演算法對目標資訊生成一段特定長度的唯一的Hash值,卻不能透過這個Hash值重新獲得目標資訊。因此Hash演算法常用在不可還原的密碼儲存、資訊完整性校驗等。常見的Hash演算法:MD2、MD4、MD5、HAVAL、SHA、SHA-1、HMAC、HMAC-MD5、HMAC-SHA1。

3.2.3 防火牆策略

透過防火牆安全策略可以控制內網訪問外網的許可權、控制內網不同安全級別的子網間的訪問許可權等。同時也能夠對裝置本身的訪問進行控制,例如限制哪些IP地址可以透過Telnet和Web等方式登入裝置,並且控制網管伺服器、NTP伺服器等與裝置的互訪等。

04

網路隱身安全能力

SDP透過網路隱身技術(如圖5)可有效減少受攻擊面,緩解或者徹底消除多項安全威脅、風險和漏洞,例如:

(1)系統和應用程式漏洞

SDP顯著減少攻擊面,透過將系統和應用程式的漏洞隱藏起來,對於未授權使用者不可見。

(2)賬號劫持

基於會話cookie的賬戶劫持被SDP完全消除。如果沒有預先認證和預先授權,並且攜帶適當的SPA資料包,應用伺服器會預設拒絕來自惡意終端的網路連線請求。因此,即使網路請求中攜帶被劫持的會話cookie,也不會被SDP閘道器准入。

(3)資料洩露

SDP透過新增預驗證和預授權層來減少公開暴露的主機的攻擊面,實現伺服器和網路的安全性的“最小訪問許可權”模型,從而有助於減少資料洩露的許多攻擊方式。

(4)DDoS拒絕服務

SDP架構中的單包授權(SPA)技術使得SDP控制器和閘道器對阻止DDoS攻擊更有彈性。SPA與典型的TCP握手連線相比可花費更少的資源,使伺服器能夠大規模處理、丟棄惡意的網路請求資料包。與TCP相比,基於UDP的SPA進一步提高了伺服器的可用性。

基於零信任的軟體定義邊界網路隱身技術研究

圖5 網路隱身安全能力

05

SDP網路隱身最佳實踐

目前,開源社群中釋出了一個實現SPA實現單包授權技術的方案Fwknop。該技術實現了只通過一個加密的UDP資料包來傳達各種資訊,且該技術相容目前主流作業系統中的防火牆,如最常用的iptables。透過在客戶端封裝Fwknop,將單個攜帶認證資訊的UDP資料包進行非對稱加密,併發送到Fwknop服務端進行驗證,同時,支援對UDP資料包的認證資訊進行多重因子的驗證,包括使用者資訊、裝置資訊、網路環境等。

單個或多個應用服務隱藏於Fwknop服務之後,部署Fwknop服務的主機防火牆預設拒絕一切資料包的連線,丟棄一切資料包。然後透過libpcap從物理網絡卡上被動地嗅探Fwknop客戶端發出的單個UDP資料包。

封裝Fwknop的客戶端向Fwknop服務端傳送單個UDP的認證資料包,Fwknop服務端嗅探到合法的Fwknop客戶端傳送過來的資料包後,暫時授予被動認證的Fwknop客戶端的訪問許可權。即向主機上相應的iptables鏈中新增該主機對相應服務的accept規則,實現授信終端的接入。

06

結 語

移動網際網路時代,在雲化的大背景下,隨著企業的數字化轉型升級,新技術態勢下的網路安全威脅和風險不斷湧現,基於傳統邊界安全解決方案難以應對。基於零信任安全模型的軟體定義邊界(SDP)架構應運而生。SDP破除傳統安全防護思維,透過在雲上建立起虛擬的網路安全邊界,幫助企業能夠快速、安全上雲,加速各行各業的數字化程序,具有非常重要的戰略意義。零信任安全作為一種顛覆傳統安全邊界思維的策略,對傳統安全防護機制的革新不是一蹴而就的,需要結合企業的數字化轉型規劃和業務發展規劃。必須基於企業現有條件,透過確立願景、制定規劃、運用合理的技術手段,分步驟穩妥地進行零信任實踐,最終實現零信任安全體系架構建設。

宣告:除釋出的文章無法追溯到作者並獲得授權外,我們均會註明作者和文章來源。如涉及版權問題請及時聯絡我們,我們會在第一時間刪改,謝謝!文章來源:資訊保安與通訊保密雜誌社,作者Cismag。