概述:
自2010年Forrester分析師約翰·金德維格提出「零信任」(Zero Trust)一詞以來,隨著數位經濟和遠距辦公的興起,零信任逐漸從概念走向落地。作為新一代的網路架構理念,其核心思想是所有的資產都是身分,所有资产之间的网络连接必须经过身份认证、授权。
需要明確的是,零信任並不是一個特定的安全產品,而是一種安全管理的理念或安全管理方法,組合使用了存取控制、身分管理、背景資料等來驗證網路請求。任何具體的技術手段只要能夠做到」永不信任,處處驗證」即可認為是採用了零信任。
阿里雲作為國內份額最大的雲端廠商,內部業務結構多元,存取流量複雜、身分變動頻繁,為安全帶來了極大的挑戰。雲端安全團隊經過多年摸索,將零信任和雲端原生結合,落地並實踐了一套身分和微隔離結合的方案,解決了大企業生產網中的隔離問題。
理解零信任內核:5個假設
零信任的定義一般建立在以下5個假設之下:
- 網路無時無刻不處於危險的環境中
- 網路中自始至終存在外部或內部威脅
- 網路的位置不足以決定網路的可信程度
- 所有的設備、使用者和網路流量都應經過認證和授權
- 安全策略必須是動態的,並且基於盡可能多的資料來源計算而來
需要特別強調的是:網路的位置不足以決定網路的可信程度。因為從安全營運實務來看,企業內網管理存在著普遍迷思:「內網是安全的(辦公網和生產網),安全在邊界上搞搞就好了」。但從安全事件上來看,帶有目的性的入侵,一定會涉及到內網中進一步的橫向滲透。如果內網暢通無阻,沒有安全防護手段,必將導致嚴重安全問題。
辦公室網零信任實務:BeyondCorp & Istio
在零信任安全的落地实践中,目前广为人知的零信任方案主要集中在办公网,用以解决办公网的安全问题。比如经常被提到的Google BeyondCorp,通过将访问权限控制措施从网络边界转移至具体的用户(基于用户、设备的身份而不是设备位置),BeyondCorp 使用户几乎可以在任何地点安全地工作,而不必借助于传统 VPN,安全的访问办公网中的各类系统。
對於生產網內服務之間的零信任方案,業界成熟的方案相對較少。公開、大規模、成熟落地似乎僅有Google BeyondProd。
在開源的k8s架構下,Istio嘗試透過service mesh(服務網格)將零信任引入生產網。其核心思想是藉助k8s架構,在生產網中每個Pod均部署service mesh sidecar,由於service mesh天然的接管了Pod之間的RPC通信,所以可以在其中增加網絡訪問的認證、鑑權與安全日誌記錄。但在實務上我們也發現原生的Istio存在一些問題:
- Istio本身的安全功能未經生產環境驗證,只是Demo階段
2.Istio對於工作負載之間(Peer authentication)的身份認證是透過將RPC協定封裝在mtls中實現的。 mtls帶來的額外運算成本與延遲開銷相對較大,許多業務難以接受
3.Istio僅接管RCP流量,非RPC流量鑑權機制不完善
透過對業界實務的參考,再結合Forrester對「零信任模式「的三個基本理念,阿里雲團隊在企業內網分步驟落地零信任:
- 檢查並記錄所有網路流量的日誌
- 驗證並檢查所有來源
- 限制並嚴格執行存取控制
基於零信任的網路微隔離
生產網路中南北向的資料透過WAF、防火牆可以做到網路隔離。而對於工作負載之間的通信,也就是東西向流量,缺乏有效的網路安全隔離手段,所以微隔離的核心能力自然是聚焦在東西向流量的隔離管控。
對於一般的企業生產網,往往只部署了邊界防禦設備,如Waf、防火牆。首先,如果攻擊者突破邊界防禦(WAF、防火牆),或心懷不軌的員工連入生產網,便可直接觸內網內的所有工作負載。內網的脆弱性將直接暴露在攻擊者面前,且沒有有效的隔離手段控制爆炸半徑。其次,企業,特別是網路企業,由於業務快速發展,傳統的依照安全域、VPC的隔離手段難以有效的適應業務的快速變化,導致無法有效隔離。最後,隨著雲端原生技術的逐漸普及,k8s開始大規模應用。在雲端原生環境中,應用程式執行個體的工作負載是可遷移的、甚至是短暫存在的,一天內可能有數千、甚至上萬Pod創建與銷毀。傳統的透過IP進行隔離的手段將導致頻繁的策略變更,策略幾乎無法維護。
所以我们寄希望于通过结合云原生技术的网络微隔离将企业生产网分割成弹性可变的N网,以满足业务快速变化的弹性隔离,并且降低入侵后的攻击面,控制爆炸半径。
在實踐中,阿里雲將零信任的基於身分存取控制與網路微隔離結合,使用身分進行網路微隔離,降低入侵後的攻擊面,以提高企業生產網的安全防禦水位。
同時借鑒Istio sidecar的思想,將為基於零信任的網路微隔離下沉至每個工作負載的Pod中,這樣從架構層面帶來幾個好處:
- 隨業務工作負載部署,以應用身分為粒度進行網路管理
- 安全能力可以隨著業務的彈性擴縮容自動部署
- 安全能力與業務代碼解耦,對業務系統無侵入性
在工作負載通訊階段,我們也進行兩層的認證、鑑權能力的建置:
- 在L3/4通訊層面,附加應用身份,確保連線等級認證、鑑權
- 在L7通訊層面,附加應用身份,確保request等級的認證、鑑權
- 若L7層面無需request等級存取控制,在只開啟L3/4層認證、鑑權的情況下可以做到網路效能幾乎無損耗,並且支援各種應用層協定
在安全營運層面,阿里雲進行分階段部署與建置:
- 首先確定網際網路邊界應用、核心業務應用為優先保護對象
- 透過微隔離安全容器的部署,採集了完善的內網東西向流量數據
- 原始的東西向流量資料透過應用身分+資產庫訊息,將IP之間的存取關係轉換成應用程式身分之間的存取關係,並透過一段時間的觀察建立應用程式間的存取基線
- 在安全策略執行層面,優先對高風險服務(SSH、SMB、LDAP、Kerberos等)、關鍵服務(敏感資料介面等)進行強制的認證、鑑權,提高關鍵系統的安全隔離水位
- 最後,進行了持續的營運監控。一方面為了防止誤攔截導致業務受損,另一方面透過監控內網高風險服務流量,發現可以的橫向入侵行為或蠕蟲感染事件
原创文章,作者:xbear,如若转载,请注明出处:https://cncso.com/tw/aliyun-identity-and-network-micro-segregation-html