Hashicorp Vault在企業信息化系統中應用的可行性調研
一、Hashicorp Vault 簡介
HashiCorp Vault是一款企業級私密信息管理工具。Vault的創造者HashiCorp公司是一家專注于DevOps工具鏈的公司,其旗下明星級產品包括Vagrant、Packer、Terraform、Consul、Nomad等,再加上Vault,這些工具貫穿了持續交付的整個流程。
Hashicorp Vault 是一個基于身份認證的機密數據安全和加密管理系統。機密數據是您想要嚴格控制訪問的任何內容,例如 API 加密密鑰、密碼或證書。Vault 提供由身份驗證和授權方法控制的加密服務。使用 Vault 的 UI、CLI 或 HTTP API,可以安全地存儲和管理對機密和其他敏感數據的訪問,嚴格控制數據訪問,而且是可審計的。
現在很多系統需要訪問大量機密數據:數據庫憑證、外部服務的 API 密鑰、面向服務的架構通信的憑證等。了解誰在訪問哪些機密已經非常困難。如果沒有自定義解決方案,幾乎不可能添加密鑰滾動、安全存儲和詳細的審計日志。這就是 Vault 介入的地方。
以下是 Vault 的關鍵特性:
- 靜態存儲:
任意鍵/值可以存儲在 Vault 中。Vault 在將這些機密數據持久化之前對其進行加密,因此獲得對原始存儲的訪問權不足以訪問您的機密數據。Vault 可以寫入磁盤、Consul 等。
- ·動態存儲:
Vault 可以為某些系統按需生成機密數據,例如 AWS 或 SQL 數據庫。例如,當應用程序需要訪問 S3 存儲桶時,它會向 Vault 索取憑證,而 Vault 將根據需要生成具有有效權限的 AWS 密鑰對。創建這些動態機密數據后,Vault 會在租約到期后自動撤銷它們。
- 數據加密:
Vault 可以在不存儲數據的情況下加密和解密數據。這允許安全團隊定義加密參數,開發人員可以將加密數據存儲在 SQL 數據庫等位置,而無需設計自己的加密方法。
- 租賃和續訂:
Vault 中的所有機密數據都有與之相關的租約。在租約結束時,Vault 將自動撤銷該機密數據。客戶也可以通過內置的更新 API 更新租約。
- 撤銷:
Vault 具有對秘密撤銷的內置支持。Vault 不僅可以撤銷單個機密數據,還可以撤銷機密樹,例如特定用戶讀取的所有機密數據,或特定類型的所有機密數據。撤銷有助于密鑰滾動以及在入侵情況下鎖定系統。
Vault 帶有各種稱為 secrets engines 和 authentication methods 的可插拔組件,允許您與外部系統集成。這些組件的目的是管理和保護動態基礎設施中的機密(例如數據庫憑證、密碼、API 密鑰)。
二、引入 Vault 的可行性分析
(一)企業信息化系統中敏感信息安全現狀
大多數企業信息化系統或平臺中,有很大一部分的敏感數據。在分析某一個企業信息化軟件時,在敏感數據方面發現了以下信息,這些信息應是具有一些代表性的:
- 系統使用的敏感配置信息,比如數據庫賬號信息等;
- 用戶的賬號及密碼,登錄 web 使用;
- 主機賬號、密碼、密鑰,使用遠程桌面時使用;
- 數據庫賬號、密碼,登錄數據庫時使用。
這些敏感信息,安全方面主要采取了以下幾種方式:
- 系統配置相關敏感信息,無安全措施;
- 用戶密碼采用了MD5+SHA256方式靜態加密;
- 主機密碼、密鑰,數據庫密碼,采用的是python自帶的加密模塊進行靜態加密。
這些敏感數據的存儲位置也大致分為兩個地方:
- 系統的敏感配置信息,明文存儲;
- git 上存儲著系統使用的加密方式和 salt;
- 數據庫里存儲著加密后的數據。
(二)當前企業信息化系統加密存儲方式風險分析
要解密一份加密后的敏感數據,需要三個方面的信息:加密方式 + salt + 加密后數據,這三個數據的存儲本身,也就成了安全風險所在。
目前許多企業的信息化性中,敏感信息任意存放,無序管理,缺乏系統性安全管理手段和系統,因此,這些敏感信息風險非常高。
(三)引入 Vault 可行性分析
Vault 的字面意思是“保險庫”。
對于靜態加密模型來說,最重要的是加密密鑰的存儲位置以及對這些密鑰的訪問控制。密鑰如果能夠進行嚴格的保護,能夠由指定的用戶進行管理,并可供特定的服務使用,那靜態加密的安全性就會得到大幅提升。
對于企業的信息化系統來說,目前的安全性保證依賴于產品本身上,如果能借助保險庫,將數據存入保險庫中,并由用戶保管各自鑰匙,那系統的安全性就有了很大的保證。
針對 Vault 的特性,以及企業信息化系統的現狀,我們可以作如下安全提升方案:
- 系統配置信息:
比如數據庫憑證,采用靜態存儲方案,不再以明文方式存儲在配置文件中;
- 用戶賬號信息、主機憑證信息:
采用靜態存儲方案,將密碼、SSL 密鑰以靜態方式存儲在 Vault 中,信息化系統中不再存儲直接的憑證信息;
- 數據庫堡壘機憑證信息:
支持靜態和動態兩種存儲方式,可以讓用戶自行選擇,信息化系統中不再存儲直接的憑證信息。
安全提升方案落地后,給用戶在使用信息化系統時提供安全方案選擇,可以選擇默認的平臺加密方案,也可以選擇安全性更高的 Vault 解決方案,提高用戶的選擇權和靈活性。
這樣的安全提升方案,在PaaS/SaaS 平臺中,由各租戶管理員自行配置獨立的安全方案,安全優勢將更為明顯。
三、引入 Vault 的成本分析
- Hashicorp Vault 提供開源版本,授權采用 MPL V2.0 協議,商業軟件可免費使用;
- 接入的人力成本需要考慮,主要包括產品、研發、測試的人力成本。
四、引入 Vault 對產品亮點的提升
近幾年,在信息化全面普及的大環境下,各種安全問題層出不窮,國家對信息化的安全也越來越重視,《網絡安全法》、《數據安全法》、《個人信息保護法》相繼出爐。相關的企業和個人對信息安全的要求也越來越高。
企業信息化系統引入 Vault 來提高敏感數據的安全性,可以令企業在信息安全管理方面合規,并成為企業信息化系統的安全亮點。