0、零信任簡介
零信任架構是一種系統設計方法,其中消除了對網絡的固有信任。
相反,假設網絡是敵對的,并且每個訪問請求都根據訪問策略進行驗證。
對請求可信度的置信度是通過構建上下文來實現的,而上下文又依賴于強身份驗證、授權、設備運行狀況和所訪問數據的價值。
如果不確定零信任是否是滿足正確網絡架構需求,或者如果不熟悉零信任,從現在開始了解應該是一個不錯的起點。
關鍵概念
網絡充滿敵意
網絡應被視為受到威脅,因此具有敵意,意味著需要從網絡中刪除(固有)信任。
在零信任架構中,固有信任從網絡中移除。因為連接到網絡,不意味著應該能夠訪問網絡上的所有內容。每個訪問數據或服務的請求都應根據訪問策略進行身份驗證和授權。如果連接不滿足訪問策略,連接將被丟棄。
在漏洞中,攻擊者在網絡上站穩腳跟,然后橫向移動攻擊是很常見的。因為網絡上的所有內容和每個人都可以訪問網絡的其余部分。在零信任架構中,網絡被視為敵對網絡,因此每個數據或服務訪問請求都會根據訪問策略不斷進行驗證。與傳統的圍墻花園相比,將改進對攻擊者橫向移動嘗試的監控和檢測。
但請記住:零信任不會完全消除威脅。
動態獲得信心
如果從網絡中刪除信任,必須獲得對用戶、設備和服務的信心。與其在用戶、設備或服務連接到網絡時拍攝快照并允許產生的權限持續存在,更應該繼續評估這些連接的可信度。
對于訪問服務的用戶,必須先建立對用戶身份和行為以及設備健康的信任,然后他們才能訪問服務。對于相互交互的服務,例如使用 API 進行數據交換,這是通過確保正確的服務相互通信并獲得對托管的服務的健康狀況的信任來實現的。
信任連接所需的信心取決于所訪問數據的價值或所請求操作的影響。
例如,訪問敏感的個人數據可能需要一個訪問策略,根據定義的配置策略(如加密、補丁級別和正在啟用安全啟動。
另一方面,組織中的任何人都可以訪問低價值數據,例如午餐菜單,無論他們的身份驗證強度或設備健康狀況如何。
術語
在討論零信任架構時,需要了解一些通用的術語。以下是零信任原則中使用的一些術語。
這些術語與其他來源緊密結合,在討論零信任技術時提供幫助。
訪問策略- 訪問請求被信任和授權的要求。
配置策略- 描述設備和服務配置選項的策略。
信號- 一條信息,如設備運行狀況或位置,可用于獲得對資產可信度的信心。會經常使用許多信號來決定是否授予對資源的訪問權限。
策略引擎- 獲取信號并將其與訪問策略進行比較以確定訪問決策的組件。
策略執行點- 使用策略引擎來調解用戶或設備對服務或數據的請求,以確定是否可以授權請求。
設備運行狀況- 設備符合配置策略并且處于良好狀態的置信度。例如,安裝了最新的補丁,或者啟用了安全啟動等功能。
1、零信任原則:了解架構,包括用戶、設備、服務和數據
在零信任網絡模型中,了解用戶、設備、服務和數據比以往任何時候都重要。
介紹
為了從零信任中獲益,需要了解架構的每個組件,包括用戶、設備以及他們正在訪問的服務和數據。
正確理解資產很可能涉及資產發現階段,這是零信任之旅的第一步。在某些環境中,這可能具有挑戰性,并且可能涉及使用自動化工具來發現網絡上的資產。在其他情況下,可能能夠通過遵循非技術程序(例如查詢采購記錄)來確定您的資產。
了解環境中存儲了哪些數據、其位置和敏感性也很重要。了解數據及其相關敏感性將有助于制定有效且適當的訪問策略,有助于實現使用策略來授權請求。
過渡到零信任
無論是從具有許多預先存在的服務的已建立系統過渡到零信任架構,還是開始全新的架構部署,資產發現都同樣重要。
如果在不考慮現有服務的情況下實施零信任架構,它們可能面臨更高的風險。這些服務可能不是為敵對的、不受信任的網絡設計的,因此將無法保護自己免受攻擊。
進行風險評估
一旦了解了架構,就可以更好地確定新目標架構的風險并確保它們得到緩解。
在資產發現階段之后開始進行風險評估是明智的 ,包括對零信任方法進行威脅建模。此評估可用于幫助了解正在考慮的零信任組件是否會減輕 - 防范 - 所有風險。
風險緩解的程度可能取決于資產的重要性和風險偏好。因此,必須評估資產的重要性并為其提供適當的保護措施。
如果使用零信任方法無法緩解所有風險,則需要保留當前網絡架構中的現有安全控制。
2、零信任原則:了解用戶、服務和設備身份
在零信任網絡中做出訪問決策時,用戶、服務和設備身份是一個非常重要的因素。
介紹
身份可以代表用戶(人)、服務(軟件過程)或設備。在零信任架構中,每個都應該是唯一可識別的。這是決定是否應授予某人或某物訪問數據或服務的權限的最重要因素之一。
這些唯一身份是輸入策略引擎的眾多信號之一,策略引擎使用此信息做出訪問決策。例如,在允許訪問服務或數據之前,策略引擎可以評估用戶和設備身份信號以確定兩者是否真實。
用戶、服務和設備分配單一身份來源的重要第一步。
用戶身份
組織應使用明確的用戶目錄,創建與個人相關聯的帳戶。這可以以虛擬目錄或目錄同步的形式出現,以呈現單個用戶目錄的外觀。
每個身份都應該分配給一個角色,并且應該將其配置為“最低權限”,因此用戶只能訪問他們執行角色所需的內容。事實上,這些特權通常源自用戶在組織內的工作職能。
無論從何處訪問,用戶有一個單一的身份和登錄來源。這將允許更好的用戶體驗,但也允許所有服務具有單一的強身份。
用戶身份服務應該能夠:
創建群組
定義已配置為“最低權限”的角色
支持強大的現代身份驗證方法,例如多因素或無密碼身份驗證。
安全地為用戶提供憑據
啟用對服務的聯合身份驗證(例如 SAML 2.0、OAuth 2.0 或 OpenID Connect)
在適用的情況下管理外部服務中的用戶身份(例如 SCIM 2.0)
支持您的加入者、移動者和離開者流程
支持第三方聯合 ID(接受來自其他受信任的第三方用戶目錄的身份)
遷移
如果有一個現有目錄,遷移到另一個目錄需要仔細規劃。某些目錄服務允許在目錄之間導入、同步或聯合,這將實現分階段遷移,或者有效地提供共享目錄。
外部訪問
應該考慮如何向組織外部的人員提供訪問權限。服務可以與外部身份提供者聯合,以允許訪問適當的服務和數據。例如,訪客可以查看午餐菜單,或者承包商只能訪問與其工作相關的文檔。
身份和身份驗證是一個需要仔細考慮的廣泛主題。
服務令牌
服務不應該能夠代表用戶采取無限的行動。如果這樣的服務受到威脅,它將提供對系統中任何服務或任何數據的高特權訪問。
為服務提供適當訪問權限的更好方法是將每個操作與與用戶身份相關聯的范圍和限時訪問令牌相關聯。這樣,如果同一服務受到損害,對您的服務造成的損害將僅限于原始操作的權限。
如果檢測到異常行為,用戶和設備評估服務或數據的信心水平將會下降。應立即觸發補救措施,因為由于用戶或設備健康狀況的變化,令牌的可信度低于發布時的可信度。一些補救措施的示例是終止連接或觸發 MFA 提示。
服務標識
一項服務或者更準確地說,提供一項服務的軟件——應該有自己獨特的身份,并被授予正常運行所需的最低權限。這包括根據服務的身份維護連接的允許列表,將服務之間的網絡通信限制為所需的最小數量。
示例身份驗證方法可能涉及每個服務的唯一證書。然后可以使用證書身份驗證在構成服務的軟件進程之間形成相互的TLS(傳輸層安全)連接。
用戶對應用程序或容器平臺的訪問應聯合到單個用戶目錄中,并使用策略引擎根據多個信號授權訪問。如果滿足策略,策略引擎可以做出訪問決策并釋放令牌。
設備標識
組織擁有的每臺設備都應在單個設備目錄中唯一標識。這可以實現高效的資產管理,并提供訪問服務和數據的設備的清晰可見性。
定義的零信任策略將使用設備的合規性和健康聲明來決定它可以訪問哪些數據以及它可以執行的操作。需要一個強大的身份來確保這些聲明可以得到驗證。
設備身份的強度取決于設備類型、硬件和平臺:
設備身份應在安全硬件協處理器(例如 TPM)上與設備緊密綁定,這將使您對設備身份充滿信心。應盡可能使用密鑰證明來證明身份在安全硬件協處理器中受到保護。
與基于 TPM 的方法相比,使用基于軟件的密鑰存儲存儲在管理良好的設備上的身份對設備身份的信心較低。
相對于上述內容,基于軟件的密鑰庫中的非托管設備上的身份對設備身份的可信度最低。
識別來自另一個組織的設備需要在兩個組織之間建立信任關系。這應該發生在治理和技術層面。
自帶設備場景
當允許來自不擁有和管理的設備的請求時,識別可能具有挑戰性。BYOD 模型中的設備仍應具有與其相關聯的身份以進行監控,但對該設備身份的置信度可能會降低。
3、零信任原則:評估用戶行為、服務和設備健康狀況
用戶行為以及服務或設備健康狀況是建立對系統安全性的信心的重要指標。
介紹
應該持續監控來自用戶和設備的健康信號,以評估對其可信度的信心。衡量用戶行為和設備健康狀況有助于對他們的網絡衛生以及他們沒有受到損害有信心。該信息可以輸入到策略引擎中以做出訪問決策,如原則中所述。使用策略來授權請求。
例如,可能想知道用戶嘗試從何處訪問服務并對設備的健康狀況充滿信心。然后,這些健康信號可以流入策略引擎以幫助做出訪問決策。
為了促進這些評估,應該擁有用戶、設備和服務的單一身份來源。這些應該先于資產發現階段。
設備
需要確信訪問的服務和數據的設備是健康的。這些設備的健康狀況代表了一些最重要的信號,用于控制對數據和服務的訪問。設備運行狀況包括遵守設備配置策略和設備狀態。
首先,定義配置策略,為設備實施安全基線。該NCSC的設備安全指導可以幫助這一點。使用設備管理服務,將這些策略應用到設備并強制執行。然后不斷檢查設備是否合規。
可以從平臺上的安全功能狀態確定設備健康狀況。例如,是否啟用了安全啟動?是否安裝了最新的操作系統更新?是否啟用了基于虛擬化的安全或系統完整性保護?
更進一步,確定設備固件、啟動過程、端點安全套件和操作系統內核的潛在健康狀況是有助于確定整體設備健康狀況的強信號。證明是實現這一目標的一種方式,它獲取設備狀態的快照,并聲明硬件和操作系統的不同組件。某些端點安全套件可以提供有助于確定設備是否值得信賴的信號。
如果設備意外低于所需標準,應該確保為合法用戶提供明確且清晰的路徑,使他們的設備恢復良好的網絡健康。如果設備錯過了一些日常維護,合法用戶可能會被阻止訪問服務或數據。
例如,如果設備已離線一段時間且未收到操作系統補丁,則應為用戶提供更新其設備的能力和所需的支持,因此它可以被視為合規。
服務
不僅在最終用戶設備訪問它們時,而且在服務與其他服務交談時,還應考慮服務健康狀況。零信任基礎設施,例如策略引擎和策略執行點,也應該在這里被視為服務。
服務應配置為使用其本機安全功能滿足我們的零信任原則。例如,通過強制執行強身份驗證機制并禁用不支持現代身份驗證的舊協議。
服務必須與最新的軟件補丁保持同步。還應該能夠確定服務的版本和補丁級別。應盡早應用修復漏洞的補丁。
需要監控的服務的健康狀況。狀態的意外變化可能表示未經授權的更改或惡意活動。一些示例信號可能是,確保服務補丁是最新的并根據配置策略進行配置 - 例如,容器未以特權用戶身份運行。組成服務的代碼來源應該被驗證為來自可信來源,即代碼交付管道。
用戶
應仔細考慮用戶訪問服務和數據的行為。可以使用監控來定義什么是正常的用戶活動。
應該定義檢查用戶連接健康狀況的策略。例如,用戶從不同的地理區域連接到他們通常所在的地方,或者在半夜進行活動,可能是意料之外的。
通過請求另一個身份驗證因素,可以請求進一步的信號,以提高用戶操作的完整性。
基礎設施
了解可以作為 IaaS(基礎設施即服務)托管在數據中心或云中的基礎設施的健康狀況也將是有利的。
這種與健康相關的信息可能來自監控網絡流量或來自基礎設施日志記錄的信息。
例如,這可以幫助您發現網絡上的惡意設備、向惡意域發出信號的未經授權的數據流,或者可能表明系統中存在惡意軟件的意外進程啟動。