1. 建立系統框圖
1.1. 實現零信任網路的第一步重要工作是建立系統框圖
1.2. 系統框圖能夠幫助我們透徹地理解內部網路和外部網路間的通訊模式,有助於系統通訊通道的設計
1.3. 對於現有的網路來說,建議首先利用日誌工具來記錄網路流量,然後觀察通訊資訊的流向,一旦捕獲到網路流量資訊,構造系統框圖就是一個簡單地將通訊流量進行分類的過程
2. 理解網路流量
2.1. 網路流量是源系統和目標系統之間具有時間限制的通訊
-
2.1.1. 對於雙向傳輸協議(如TCP協議)來說,單個網路流量能夠完全覆蓋一個完整的會話過程
-
2.1.2. 對於單向傳輸協議(如UDP協議)而言,單個網路流量一般只能覆蓋網路會話的單一方向的通訊
2.2. 從邏輯上來說,捕獲現有生產網路中的所有流量是現有網路系統向零信任模型轉變的第一步
-
2.2.1. 長期記錄並分析網路流量是一種非侵入式的網路分析方法,它能夠發現現有網路中存在哪些型別的網路連線,在新的安全模型下應當如何考慮安全設計
-
2.2.2. 如果沒有預先的網路流量收集過程,那麼在現有網路系統向零信任模型遷移的過程中可能會引發頻繁的網路通訊問題,使得遷移過程具有過大的侵入性和破壞性
2.3. 網路流量的收集方式考慮因素
-
2.3.1. 網路的型別
-
2.3.1.1. 物理網路還是虛擬網路
-
2.3.1.2. 物理網路的原始網路流量資料包很容易被捕獲,大多數交換機都支援把資料包映象到SPAN埠(映象埠)
-
2.3.1.3. 在網路負載不高的交換機上啟用此方法是相對安全的,但是可能會造成網路中的某些錯誤資料包丟失
-
2.3.1.4. 利用串接在網路中的TAP裝置來捕獲資料包,TAP裝置能保證所有網路資料都被傳輸到監控裝置上
-
2.3.1.5. 虛擬網路自身提供了檢視網路流量的能力,但這種能力僅停留在相對粗粒度的階段
-
-
2.3.2. 管理員對端點系統的訪問級別
-
2.3.2.1. 在端點系統可控的情況下,安裝工具監聽網路流量可以更細粒度地掌握網路流量的來源
-
2.3.2.2. 收集並記錄所有網路流量之後,下一個目標就是基於高層的系統級連線來對網路流量進行分類
2.3.2.2.1. 零信任網路的很多安全操作都要基於這個系統級連線資料庫來進行
-
2.4. 對超大規模網路而言,捕獲和分類所有網路流量將會是一項非常繁重的工作
-
2.4.1. 零信任網路可以在現有的基於邊界安全模型的網路基礎上分階段實現,對網路流量的捕獲也可以分階段地進行
-
2.4.2. 在完成一個網路區域的零信任模型改造之後,再逐漸擴充套件到其他網路區域,逐步實現全面的零信任網路
- 2.4.2.1. 這種方法在增強現有網路的安全性的同時,也充分考慮了系統實現的可行性
3. 無控制器架構
3.1. 成熟的零信任網路的核心由幾個控制平面系統構成,它提供關鍵的安全服務
3.2. 實現所有控制平面系統是一種非常理想的狀態,在實際建設過程中,可以從現有的通用基礎設施著手一步一步向理想架構迭代
3.3. 配置管理系統
-
3.3.1. IT運營管理成熟的機構大多使用配置管理工具來管理其基礎設施
-
3.3.2. 配置管理系統可以計算出系統從當前狀態到理想狀態需要進行哪些配置變更
-
3.3.3. 可以保持整個系統變更的一致性
-
3.3.4. 配置資料可以儲存在版本控制系統中,因此能夠提供各種變更及其原因的歷史記錄
-
3.3.5. 配置漂移發生的可能性微乎其微,因為配置狀態受到配置管理系統的監管
-
3.3.6. 部署配置管理系統的第一種用途通常是管理個人計算機的配置
-
3.3.6.1. 個人計算機的初始狀態通常為“白板”狀態(即只安裝作業系統的初始安裝配置),然後配置管理系統會基於這些計算機在基礎設施中的角色重新將它們配置成理想狀態
-
3.3.6.2. 以自動化的方式實現此配置過程可以使基礎設施的變更簡單易行
-
-
3.3.7. 配置管理系統不僅有利於基礎設施的管理,也可以作為通用的自動化管理框架
- 3.3.7.1. 配置管理系統可以用作零信任網路的控制平面,提供部分安全功能
-
3.3.8. 許多控制配置管理系統支援資源或操作集合的擴充套件機制,利用這些機制,可以在系統中構建更復雜的資源概念
- 3.3.8.1. 可以定義服務資源的概念,用來表示所有使網路服務可用的標準基礎設施
-
3.3.9. 在部署配置管理系統時,應當以儘快使系統配置達到穩定狀態為目標
- 3.3.9.1. 配置管理系統只是實現零信任網路控制平面的一個過渡工具,最終將會由專用的控制器負責實現控制平面的功能
3.4. 應用認證和授權
-
3.4.1. 零信任場景中的典型機構通常會提供很多服務,並且這些服務大多是使用客戶端瀏覽器來訪問
- 3.4.1.1. 每項服務都必須具備認證和授權的能力
-
3.4.2. 將每個應用系統與外部身份管理系統進行整合,以提供集中的認證和授權檢查功能
- 3.4.2.1. SAML(安全斷言標記語言)、OAuth2等都是用來整合應用系統和身份管理系統的協議和技術
-
3.4.3. 應用系統使用集中式身份管理系統提供的認證和授權能力並不意味著其完全不需要具備授權能力
- 3.4.3.1. 應用系統需要保留應用級授權能力,特別是在使用者許可權經常變化的情況下
-
3.4.4. 正確的做法是把賬戶管理、使用者認證以及高階別的授權/訪問等任務交給外部集中式身份管理系統完成,而應用系統保留應用級授權操作
-
3.4.5. 應用系統與身份管理系統整合提供認證能力時,必須使用多因子認證機制,確保使用者憑證不會被輕易盜取
3.5. 認證負載均衡和代理
-
3.5.1. 在後端系統中,對應用進行授權的較好方法就是在執行時插入一個臨時憑證,可以是API金鑰、短期證書等
-
3.5.2. 每一個憑證都唯一代表了執行的應用例項
-
3.5.3. 在採用負載均衡的系統中,負載均衡軟體本身可以被看作是服務端應用,每個軟體例項都需要首先使用臨時憑證向上遊主機標識自己
- 3.5.3.1. 這一認證過程是終端裝置認證的一種補充
-
3.5.4. 負載均衡器就可以承擔使用者和客戶端裝置的認證和授權職責,在必要的情況下,它也可以與身份管理系統整合
-
3.5.5. 使用安全令牌而不是TOTP(基於時間的一次性口令)
-
3.5.5.1. 使用安全令牌的協議(如U2F)能夠有效防禦釣魚攻擊,同時對於使用者來說其易用性也更好
-
3.5.5.2. 應儘可能選擇安全令牌系統代替傳統的TOTP
-
3.6. 基於關係的策略
-
3.6.1. 零信任提倡由控制平面負責將授權判定結果匯入到網路中,然後建立可信通訊
-
3.6.2. 在基於關係的策略中,兩個實體之間的通訊安全策略的定義和控制與傳統的防火牆資料包過濾機制非常類似,同時還要求使用TLS連線保證安全性
-
3.6.3. 主要的區別在於策略的作用範圍,零信任模型中的策略作用範圍不再是網段之間的通訊,而是裝置之間的通訊
- 3.6.3.1. 這種機制也被稱為“微邊界”
3.7. 策略分發
-
3.7.1. 不完善的零信任網路不僅要考慮如何強制執行策略,還要考慮如何分發策略
-
3.7.2. 如果在零信任網路部署中缺少控制平面,那麼就必須用配置管理系統來彌補這一缺失
-
3.7.3. 配置管理系統能夠對裝置進行動態的配置,使裝置執行預期的網路通訊,具體實現方法是根據關係策略資料庫配置基於主機的防火牆
- 3.7.3.1. 主機防火牆能夠配置針對每臺主機的強制執行策略,這種方式比防火牆的集中式強制執行全域性策略更易於操作
-
3.7.4. 利用現有的配置管理系統構建虛擬控制平面,就可以將執行責任分發到網路結構中
-
3.7.4.1. 缺點
3.7.4.1.1. 如果該策略被刪除或者篡改,那麼主機可能會受到損害
3.7.4.1.2. 在策略被部署到系統之後,透過配置管理系統進行的變更往往不能在整個系統中長期保持一致
-
4. 定義和安裝策略
4.1. 安全策略的儲存應當獨立於實施它們的個人裝置
-
4.1.1. 有利於執行安全策略的審計,檢查安全策略的實施是否達到預期
-
4.1.2. 在切換策略執行系統時可以重複使用策略定義
4.2. 使用單獨資料庫儲存的安全策略很快就會過時,除非採取某種機制確保它和執行時的安全策略一致
- 4.2.1. 解決這一問題的較好辦法就是利用配置管理系統,基於策略資料庫生成策略的實施配置
4.3. 隨著網路成熟度的提高,系統管理員更願意把安全策略定義提取到外部進行儲存,這樣他們就可以把這些安全策略定義應用在其他地方
- 4.3.1. 如果把安全策略定義從配置管理系統中提取出來的話,基於主機的防火牆和託管的網路防火牆就可以共享同一個策略資料庫來進行配置
4.4. 在定義新策略(特別是在現有網路基礎上定義新策略)時,其測試機制會給系統管理員帶來非常大的幫助
- 4.4.1. 系統應當有能力執行提議的策略,並且在執行後報告使用新策略後哪些流量被拒絕了
4.5. 建立策略測試系統需要記錄生產環境網路流量的資料庫、策略模擬器,以及可以標識當前生產環境策略和新定義策略區別的系統等元件
4.6. “先記錄後執行”的過程能夠為發現生產環境網路中的意外事件提供充裕的時間保證
- 4.6.1. 在此基礎上分階段部署更新策略,在某一個特定的網路範圍內執行策略變更,可以在不影響整個生產系統的條件下發現意外問題
4.7. 更簡單、安全地匯入策略變更的方法
-
4.7.1. 抽取所需策略集的一個子集,該策略子集就是建議策略
-
4.7.2. 以僅記錄日誌的方式部署建議策略
-
4.7.3. 在一個足夠長的週期內收集生產環境的網路流量
-
4.7.4. 研究那些執行建議策略後被拒絕的網路流量
-
4.7.5. 執行建議策略
-
4.7.6. 重複上述(1)~(5)步驟,直到所需策略都部署完成
-
4.7.7. 完成所有策略部署後,開啟一個預設拒絕所有流量的策略