Matt Conran
部署零信任軟件定義周邊(SDP)架構并不是要完全取代虛擬專用網絡(VPN)技術和防火墻??偟膩碚f,標記內部和外部的防火墻分界點不會很快消失。VPN集中器在可預見的未來也將占據一席之地。
無論在哪個技術時代,顛覆和替代都是一種非常激進的部署方式。由于SDP是全新的技術,因此在選擇合適的供應商時應當謹慎處理。SDP的采用應該是一個緩慢的遷移過程,而不應試圖通過顛覆和替換一蹴而就。
正如我在Network Insight網站上所寫的那樣,雖然SDP是一種顛覆性技術,但是在與眾多的SDP供應商展開過討論后,我發現當前的SDP格局傾向于基于特定的用例和項目,而不是立足于一種必須要在全球部署的技術。首先,用戶應當能夠為某些細分的用戶群體部署SDP。
傳統的老式VPN和新的SDP架構很可能會并存一段時間。因此,如果可能的話,用戶應該選擇支持雙模VPN和SDP架構且能夠在單一窗格內進行控制的解決方案。
各種SDP架構具有不同的特點。不過,讓架構具有可用性非常重要,這樣客戶無需進行太多修改即可輕松使用,包括打開新的防火墻端口。在這種情況下,還出現了云優先的SDP解決方案。在這種解決方案中,供應商的私有云可被用于控制網絡資源訪問。

有些供應商會提供SDP組件,以便用戶能夠在云端和內部數據中心進行部署。不過,有些基礎設施提供商會提供自己的SDP組件,用戶必須要運行他們的組件才行。
內容分發網絡(CDN)也會提供一些SDP解決方案。這些方案會要求用戶使用其網絡分發服務。在這篇文章中,我們將對由供應商提供組件讓用戶自行部署或是通過與專業服務團隊部署的SDP架構展開討論。在我們提到的供應商中,部分供應商在密切關注著云安全聯盟(CSA)SDP架構指南,不過有些供應商則沒有。
常見的SDP架構由SDP控制器、客戶端和網關組件組成。自助部署應該提供一個選項。這個選項既要允許基于SDP和周邊的VPN功能以并行方式工作,同時又要能夠執行零信任原則。用戶方面應該要確保新的SDP組件可以輕松與已部署的現有平臺和供應商集成在一起。
對于集中式身份驗證和授權,控制器組件會跟蹤用戶、設備和應用程序??刂破鲗⒊洚敿惺讲呗詧绦幸妫怨芾硭杏脩?、設備和應用程序的控制與數據平面。
控制平面提供了諸如粒度分割等功能,用戶可以獲得非常具體的、甚至可根據每個應用程序、每個用戶或每臺設備的微分段。接入網絡的所有事物都將擁有一個策略以管理它們能夠去哪里、能夠看到什么和做什么。
控制器能夠跟蹤與觸發認證過程的實體通信。通過這種方式,控制器可以確定哪些主機可以彼此通信??刂破鬟€可將信息轉發給外部服務,如認證、地理位置和/或身份服務,以對請求主機可以訪問內容的決定進行確認。
控制器的要旨是它們可以支持哪些類型的集成點。SDP控制器應具有連接和支持授權服務的能力,例如PKI、設備指紋、地理位置、SAML、OpenID、OAuth、LDAP、Kerberos和多因素身份驗證。
控制器對策略進行了集中匯總,并在SDP客戶端和SDP網關之間形成了一個接口。這不僅可以實現分類,還可以將策略推送到更靠近請求客戶端的網關。因此,其最大的好處是能夠看到誰在網絡上以及他們可以去哪里。正如之前關于SDP的一篇文章中所討論的那樣,可見性目前是企業網絡中的一個重要短板。
我們有一個“黑暗”網絡,最終用戶是無法查看內部資源的IP或DNS條目的(可以防止DDoS攻擊)。不過,基于集中控制器設置的認證和授權以及推送到網關的信息就相當于給管理員打開了一盞燈。
網關可以是物理設備或虛擬機(VM),可以放置在云端,通過公有云訪問也可以部署在本地。
理想情況下,網關可以設置在靠近請求資源的位置上。地理位置集成點在這里是非常有用的,因為出于安全原因只有某些位置可以訪問信息,或者是只有某些位置能夠通過重定向到邏輯上更接近的服務來增強用戶體驗。
用戶同時擁有連接多個網關的多個隧道是很常見的事情。因為它們不是靜態路徑或一對一關系,更多的是用戶與應用程序的關系。應用程序可以存在于任何地方,為了提供對受保護資產的訪問,隧道是動態并且短暫的??梢哉f,網關是一種中間件設備。
當用戶通過身份驗證并被授權給控制器時,網關上會有額外的檢查。例如,使用SAML(安全聲明標記語言)對用戶進行身份驗證,然后將信息傳遞給基于SaaS的產品。
每個網關都有策略和配置,這使得網關能夠執行端點驗證,從而確保端點在被授予網絡訪問權限之前完成強制狀態評估。
本質上,所有關于用戶、設備安全狀態的設備信息以及地理位置信息都是從控制器中提取出來的,并通過安全控制平面發送到網關。
信任是一種雙向的信賴關系,即兩個交流的實體在相同背景下做應該做的事情。因此,信任應該建立在離端點最近的地方,可以在端點上使用代理或無代理客戶端來執行??蛻舳藨斂煽绮煌牟僮飨到y工作,這樣用戶就不必親自管理任何東西。
通過基于瀏覽器的解決方案,用戶可使用Web瀏覽器訪問受保護的應用程序。雖然它們不會提供全范圍的TCP和UDP端口,但是用戶可以通過HTML5做許多工作,其中許多都是原生的。
讓我們總結一下處理流程??蛻舳耸紫认蚩刂破靼l出請求。然后,控制器響應請求并返回客戶端有權訪問的資源列表。最后,控制器再根據已設置的策略進行確認。
一旦控制器完成所有確認和地理定位,以確保它們將到達正確的網關,控制器便會通過控制平面將策略信息轉發到選定的網關。隨后,網關將與端點上的客戶端(代理或無代理)建立聯系。
客戶端會識別需要運行的策略以及需要連接的網關。這時客戶端將知道提供所請求服務的正確網關。隨后,會有一個針對該客戶端的額外身份驗證程序被啟動。身份驗證會根據身份、設備、設備配置和其他背景信息展開。
這些信息將通過控制平面發送給控制器??刂破鲿z查客戶端是否滿足所有身份驗證要求,并匹配適合訪問資源的安全狀態。
一旦過程完成,客戶端將建立一條到網關的安全連接,同時數據平面也將被建立。隨后,客戶端將通過數據平面直接與網關通信,流量將不會流經集中式控制器。
SDP架構非常多,但是它們中的大多數都有著相似的理念和階段。
SDP架構是以用戶為中心的。這意味著它們在允許任何訪問之前會對用戶和設備進行驗證。訪問策略是基于用戶屬性創建的。這與傳統的網絡系統迥然不同,因為傳統的網絡系統只是單純基于IP地址,不會考慮用戶及其設備的細節。
評估背景信息是SDP的一個關鍵方面。任何與IP相關的東西都不值得信賴,因為我們沒有一個有效的東西可以強制對其執行安全策略。我們需要評估的不僅僅是IP地址。
對于設備和用戶評估,我們需要更深入地了解并超越IP,不僅僅是將其用于網絡定位,而且還要將其作為信任之錨。理想情況下,一個可行的SDP解決方案必須分析用戶、角色、設備、位置、時間、網絡、應用程序以及端點安全狀態。
此外,通過利用目錄組成員資格、IAM分配的屬性和用戶角色等元素,組織機構可以定義和控制對網絡資源的訪問。業務、安全和合規團隊還可以采取對他們有意義的方式來執行這些訪問控制。
從本質上講,破解難題的第一步是對每個用戶和連接進行身份驗證和授權。為此,我們需要執行以下幾個階段。
首先,SDP供應商需要驗證用戶。這可以通過安全聲明標記語言(SAML)或多因素身份驗證通過SSO(單點登錄)來實現。用戶的驗證取決于用戶試圖訪問的內容。網絡資源可以在云端上,例如基于SaaS的應用程序,還可以在企業本地網絡上,這些因素決定了驗證方法。
利用廣泛的多因素身份驗證和授權選項可以確??蛻舳思捌湓L問的資源在事務期間得到持續驗證??蛻舳说亩ㄆ跈z查可確保策略被持續執行。它們還可以防止用戶在連接打開時執行其他不被允許的操作。
其次,為了在端點層面上進行驗證,我們需要驗證設備的安全狀態。認證和授權對于設備和用戶同樣重要。連接前和連接后都應當進行驗證,以確保設備與相應的用戶是有效的。如果用戶有惡意行為,那么擁有經過驗證的設備是沒有意義的。
從主機檢查和位置感知的角度來看,我們需要確保設備是否是從一個異常或危險的位置訪問網絡的?確定這一點有助于防止惡意軟件、被root的設備、越獄設備連接到網絡上。解決這些問題后,我們可以通過配置的策略選擇進行隔離、允許或拒絕。
在端點上,SDP供應商應該能夠做一些檢查工作,例如注冊表設置、惡意軟件、防病毒設置、防火墻、硬盤(HD)加密等。一些供應商甚至可以更為細致地檢查并尋找特定的微軟補丁。
在這里,我們可以使用基于以上背景的策略,將這些策略應用于設備、連接和位置。如果策略是基于背景制訂的,那么我們需要盡可能多地收集信息以驗證整體態勢。
在第三階段,我們需要保護數據。在這個階段,供應商應當在每個應用程序隧道中采取必要措施以確保事務是安全的,并且在會話期間對數據進行加密。
本文作者Matt Conran擁有超過19年的網絡行業從業經驗,曾經服務于多個初創企業和政府機構。此外,他還作為高級架構師參與了全球某大型服務提供商和數據中心網絡的建設工作。
原文網址
https://www.networkworld.com/article/3404477/software-defined-perimeter-sdp-the-deployment.html