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