BeyondCorp 打造得物零信任安全架構

陶然陶然發表於2022-11-01

   1. 背景

  當前,大部分企業都使用防火牆 (firewall) 來加強網路邊界安全。然而,這種安全模型是有缺陷,因為當該邊界被破壞,攻擊者可以相對容易地訪問公司的特權內部網。

  邊界安全模型通常被比作中世紀城堡:城牆厚厚的堡壘,四周有護城河,戒備森嚴單點入口和出口。任何位於牆外的東西都被認為是危險的,而位於牆內的任何東西都是可信的。任何透過吊橋的人可以隨時訪問城堡的資源。

  傳統的安全模型:  

  當所有員工都在公司提供的辦公地點工作時,這種方式可以很好的工作,隨著移動辦公的出現、以及當前疫情的關係,越來越多人在家辦公,這種安全模型的方式不再成立。雖然大多數企業認為內部網路是應用的安全環境,但 Google 的經驗證明這種信念是錯誤的。相反,人們應該假設內部網路與公共 Internet 一樣充滿危險,並基於此假設來構建我們的企業應用程式。

  企業安全攻擊示意圖:  

  企業安全的痛點:

  如何防護應用安全漏洞?

  應能夠防護應用安全攻擊,避免被內部和外部人員攻擊,以及及時發現各類應用安全漏洞。

  如何防範各類業務風險?

  需要防止應用上如越權、未授權、資料洩露等被利用,導致業務出現風險,引起重大損失。

  如何具備快速響應能力?

  沒有永遠的安全,一旦出現安全事件,應能及時響應,可以快速溯源攻擊來源以及攻擊目標,評估影響。

  如何兼顧效率與安全?

  因為安全人員緊張,應儘可能提高安全效率,實現安全一體化,以及避免對業務的效率降低影響。

   2. BeyondCorp理念

  2.1 歷史背景

  BeyondCorp 是 Google 打造的零信任模型。它以 Google 十年的經驗為基礎,並借鑑了相關社群提出的理念和優秀實踐。透過將訪問許可權控制措施從網路邊界轉移至具體的使用者,BeyondCorp 使使用者幾乎可以在任何地點安全的工作,訪問僅取決於裝置和使用者憑據,而不必藉助於傳統 VPN。無論使用者的網路位置如何——無論是企業位置、家庭網路,還是酒店或咖啡店。根據裝置狀態和使用者憑據,對企業資源的所有訪問都經過完全身份驗證、完全授權和完全加密。因此,所有 Google 員工都可以在任何網路上成功工作,本地和遠端訪問企業資源之間的使用者體驗是一致的。  

  2.2 核心模組

  BeyondCorp 由許多協作元件組成,以確保只有經過適當身份驗證的裝置和使用者才有權訪問必要的企業應用程式。

  2.2.1 BeyondCord 元件與訪問控制流程  

  2.2.2 裝置可信驗證

  可信裝置資料庫

  BeyondCorp使用“託管裝置”的概念,託管裝置就是企業採購和主動管理的裝置,只有受控的裝置才能訪問公司的應用程式,一個準確的裝置資料庫是BeyondCorp模型的基礎。如何把所有的公司裝置都能納入管理範圍,不漏、不錯非常的關鍵。安全就是要全方位,不留死角,否則就會千里之提,潰於蟻穴。我們得物IT部門建設了自己的資產中心,能夠對全司所有資產進行管理。

  裝置認證

  所有受管裝置在裝置庫中均有記錄,完成裝置特有標識的方式是為每個裝置頒發證書,證書儲存在硬體或者TPM(Trusted Platform Module) 上,裝置認證過程會去驗證裝置的有效性,只有足夠安全的裝置才算受管裝置,證書也會定期更新。得物並沒有採用此種方式,而是基於位元組飛連終端軟體(集 NAC准入、有線、VPN於一身),透過賬號密碼實現身份認證。

  2.2.3 可信使用者身份

  使用者資料庫

  BeyondCorp 會跟蹤和管理使用者資料,這些資料與人力資源系統緊密整合,新員工加入公司,角色或者職責變更、或者離職,資料庫都會更新。

  單點登入(SSO)

  外部化SSO(外網可以訪問)系統驗證使用者身份,生成短期令牌Token作為訪問資源的憑證。得物建設有自己的單點登入系統,能夠實現多因子認證,支援賬密、簡訊,KEY口令等方式,未來還會支援指紋、人臉等方式。

  2.2.4 去除網路可信

  802.1x 認證

  對於有線和無線訪問,透過RADIUS伺服器,基於802.1x 認證協議為裝置分配到一個合適的網路裡面,這樣就不依賴與交換機埠的靜態配置。託管裝置提供其證書作為此 802.1x 握手的一部分並分配給非特權的網路,沒有被識別和管理的裝置分配給訪客網路。

  2.2.5 裝置可信的訪問控制實現

  裝置可信

  使用者或者裝置的訪問級別會隨著時間環境改變,透過各類資料,動態的判斷訪問級別,這些資訊會作為訪問控制引擎(Access Control Engine)決策的一部分。舉個例子,一個沒有升級新版本OS的裝置在訪問的時候等級可能會被降低。使用者在新的地點登入或者訪問會被屬於不同的訪問級別。

  訪問控制引擎

  訪問控制引擎基於使用者、裝置、環境資料為每個服務請求提供授權,甚至是基於地理位置的訪問控制。比如對於gitlib的訪問只會授權給技術部門,對於財務系統的訪問只會授權給財務部門的同事。

   3. 得物零信任安全實踐

  3.1 得物零信任需要達到的目標

  因為不同企業面臨的現狀,技術能力,基礎架構都有所不同,零信任的實施也不能照搬照抄。我們需要思考如何在現有元件下建立起適合得物的零信任體系。因此,得物安全技術經過反覆討論,驗證與思考,決定得物零信任需要具備以下幾個關鍵要點:

  裝置可信

  使用者身份可信

  環境可信

  應用身份可信(ACL靜態授權)

  動態訪問控制

  使用者行為審計(UEBA)  

  得物零信任的長期業務目標:不需要VPN、防火牆就可以隨時隨地安全的訪問公司資源。

  3.2 得物零信任架構  

  3.2.1 架構說明

  裝置認證,可信裝置基於飛連終端與飛連裝置資料。(802.1x協議)

  輕量級終端(得物安全控制元件):我們基於Rust語言編寫的輕量級終端,透過自研硬體裝置指紋做到有效、準確標識每一臺訪問裝置的目的。

  飛書、EHR提供使用者身份認證資料:得物的SSO是基於飛書認證,我們打通了飛書與得物內部系統。

  無Access Proxy,透過應用閘道器接入訪問控制引擎,實現同時動態與靜態的訪問鑑權。

  4層和7層縱深防禦:我們不僅在7層對每一次訪問做動態認證,在4層,透過AC控制器在網路層也做精準的防控和攔截。

  3.2.2 實施挑戰

  挑戰一:自研硬體裝置指紋技術

  在建設得物零信任架構過程中,主要面臨的挑戰是裝置確定性的問題,一開始我們嘗試了透過瀏覽器指紋技術比如開源的 fingerprintjs、clientjs來實現終端特有標識,但是試驗資料表明,瀏覽器指紋穩定性、碰撞率都不達預期,所以我們決定自研硬體指紋技術,100%特有、0.01%的碰撞率。

  挑戰二:資訊加密與防偽造

  裝置資訊的上傳過程中,我們採用了多種加密演算法,資料防篡改技術保障了資料傳輸的安全性。資料在傳輸過程中還做了充分壓縮,避免資料太大影響系統效能與使用者體驗。

  3.3 零信任平臺產品能力  

  3.4 應用場景舉例

  賬號安全

  得物是一家非常重視效率、使用者體驗的公司,公司有招聘大量的客服人員24小時服務使用者,透過終端裝置指紋,能對賬號共用場景精準識別,降低公司資金損失。

  資料安全

  資料洩露是每個網際網路公司都要面臨的巨大難題,得物零信任基於各類大資料體系,能夠對內網爬蟲等資料場景進行實時分析、阻斷,有效降低企業資料安全風險。

   4. 總結

  網際網路安全事件頻發,給我們做安全的同學敲響了一記沉重的警鐘,作為安全技術人員,我們在時刻思考著要如何透過工程技術、AI等手段幫助公司建設牢固的安全體系,為企業業務保駕護航。零信任只是一個理念,在具體實施環境要因地制宜。此外,安全體系化建設不是靠一個產品,一種技術就能夠輕鬆達到,要時刻保持警惕,從細節入手,不放過任何一個隱患,得物零信任體系建設還在發展階段,我們希望能夠將零信任的理念在得物充分實施,切實保障企業安全與得物使用者資料安全!

來自 “ 得物技術 ”, 原文作者:靜志;原文連結:http://server.it168.com/a2022/1028/6771/000006771011.shtml,如有侵權,請聯絡管理員刪除。

相關文章