生產網零信任,阿里云落地最佳實踐
隨著數字化經濟和遠程辦公的興起,網絡訪問方式的轉變,讓企業意識到傳統的安全防護暗含著巨大的風險。在此背景下,零信任逐漸從概念走向落地,作為新一代的網絡架構理念,其核心思想是所有的資產都是身份,所有的流量都需要被看見、被認證,所有資產之間的網絡連接必須經過身份認證和授權。
但說概念容易,落地難,業內目前大多企業主要在辦公網采用了零信任的安全管理理念或方法,例如Google BeyondCrop。但是對于內部的生產網管控,則很少能有企業,根據新一代的網絡架構,真正進行零信任的落地。
阿里云作為國內份額最大的云廠商,內部業務結構多元,訪問流量復雜、身份變動頻繁,給安全帶來了極大的挑戰。云安全團隊經過多年摸索,將零信任和云原生進行結合,落地并實踐了一套身份和微隔離結合的方案,解決了大企業生產網中的隔離問題。
理解新一代網絡架構下,零信任的內核
5個假設
零信任的定義一般建立在以下5個假設之下:
- 網絡無時無刻不處于危險的環境中
- 網絡中自始至終存在外部或內部威脅
- 網絡的位置不足以決定網絡的可信程度
- 所有的設備、用戶和網絡流量都應當經過認證和授權
- 安全策略必須是動態的,并基于盡可能多的數據源計算而來
需要特別強調的是:網絡的位置不足以決定網絡的可信程度。因為從安全運營實踐來看,企業內網管理存在著普遍誤區:“內網是安全的(辦公網和生產網),安全在邊界上搞搞就好了”。但從安全事件上來看,帶有目的性的入侵,一定會涉及到內網中進一步的橫向滲透。如果內網暢通無阻,沒有安全防護手段,必將導致嚴重安全問題。
生產網的零信任嘗試
BeyondProd & Istio
在零信任安全的落地實踐中,目前廣為人知的零信任方案主要集中在辦公網。比如經常被提到的Google BeyondCorp,通過將訪問權限控制措施從網絡邊界轉移至具體的用戶(基于用戶、設備的身份而不是設備位置),BeyondCorp 使用戶幾乎可以在任何地點安全地工作,而不必借助于傳統 VPN,安全的訪問辦公網中的各類系統。

對于生產網內服務之間的零信任方案,業界成熟的方案相對較少。公開、大規模、成熟落地似乎僅有Google BeyondProd。
在開源的k8s架構下,Istio嘗試通過service mesh(服務網格)將零信任引入生產網。其核心思想是借助k8s架構,在生產網中每個Pod均部署service mesh sidecar,由于service mesh天然的接管了Pod之間的RPC通信,所以可以在其中增加網絡訪問的認證、鑒權與安全日志記錄。但在實踐中我們也發現原生的Istio存在一些問題:
1、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中,這樣從架構層面帶來幾個好處:
1隨業務工作負載部署,以應用身份為粒度進行網絡管理
2安全能力可以隨著業務的彈性擴縮容自動部署
3安全能力與業務代碼解耦,對業務系統無侵入性
在工作負載通信階段,我們也進行兩層的認證、鑒權能力的建設:
在L3/4通信層面
附加應用身份,保證連接級別認證、鑒權
在L7通信層面
附加應用身份,保證request級別的認證、鑒權
若L7層面無需request級別訪問控制
在只開啟L3/4層認證、鑒權的情況下可以做到網絡性能幾乎無損耗,并且支持各種應用層協議

在安全運營層面,阿里云進行分階段部署與建設:
1首先確定互聯網邊界應用、核心業務應用為優先保護對象
2通過微隔離安全容器的部署,采集了完善的內網東西向流量數據
3原始的東西向流量數據通過應用身份+資產庫信息,將IP之間的訪問關系轉換成應用身份之間的訪問關系,并通過一段時間的觀察建立應用間的訪問基線
4在安全策略執行層面,優先對高危服務(SSH、SMB、LDAP、Kerberos等)、關鍵服務(敏感數據接口等)進行強制的認證、鑒權,提高關鍵系統的安全隔離水位
5最后,進行了持續的運營監控。一方面為了防止誤攔截導致業務受損,另一方面通過監控內網高危服務流量,發現可以的橫向入侵行為或蠕蟲感染事件

未來展望
在經過不斷探索后,我們發現結合云原生技術,在安全領域可以做出新的創新實踐。在過去的一段時間中,各個安全企業一直在思考云原生架構的安全問題,如何保護云原生系統。其實安全可以利用云原生架構的優勢,做出新的安全方案。比如將WAF、防火墻能力下沉至sidecar中,隨業務快速彈性部署。如果安全sidecar在擁有認證鑒權能力之外,還具備WAF、防火墻的能力,這樣可以做到內網安全水位與邊界安全水位持平,最大限度的保護每一臺工作負載。
在云原生安全的路上,阿里云將持續探索。