KMIP 用戶端

我分享一下我的經驗,希望能幫助到有類似需求的人。

為了配合資安稽核的要求,我們必須在所有八台 QNAP 伺服器上安裝一個 KMS 伺服器,用來儲存共用資料夾的加密金鑰。很高興看到最新版本的 QuTS 已經內建了 KMIP 用戶端,但可惜的是,卻沒有包含伺服器端的功能。因此我們考慮過像 Thales、Entrust 或 Vault 等方案來當 KMS 伺服器。就在最後一刻,我們發現 Synology 伺服器其實有內建 KMS 伺服器。雖然我們對 Synology 沒有特別喜好,但仍然考慮購入一台 Synology 伺服器做測試。在此之前,我們同時諮詢了 QNAP 和 Synology,雙方都表示理論上應該可以運作,因為 KMIP 是一個標準協議,但也無法保證,畢竟各家廠商可能會依自家需求在標準上做客製化。考量其他方案的價格實在太高,我們決定冒險買了一台 Synology NAS,在經過幾週的測試後,我可以說運作得非常完美。

所以,在 QNAP 尚未內建伺服器端功能之前(希望他們不久的將來能加入),我們會持續僅用 Synology 伺服器來執行這個任務,並符合資安稽核的要求。

敬祝順心

你從來沒有說過你的 NAS 型號啊

根據這一點,為什麼不考慮用 Docker 呢?

對我們來說,這並不是選擇 NAS 型號的問題;我們尋找的是一個支援 KMIP 協定的 KMS 伺服器,以便連接 QNAP 的 KMIP 用戶端並儲存共享資料夾的加密金鑰。我們已經用多種型號進行了測試。

我認為 @dolbyman 的建議是,在 Docker 容器中運行一個 KMS 伺服器。能否這麼做,或者能否做得好,其實取決於你的 NAS 機型。

@InfQNAP

感謝你撥空分享你的 KMIP 部署經驗。
我想補充一點 QNAP 設計意圖的背景,因為「只支援客戶端,不支援伺服器端」的設計是刻意為之,而非疏漏。
當企業發展到需要 KMIP 的階段,代表整個環境中的加密金鑰需要集中治理——不僅僅是 NAS。本地企業典型的場景包含虛擬化平台(如 VMware vSphere/vSAN 虛擬機及資料存儲加密、Hyper-V、Nutanix)、自加密儲存陣列、資料庫 TDE(Oracle、SQL Server)、備份系統(Veeam、Commvault)以及 SED/磁帶庫——而且往往橫跨多個場域。由於 KMS 成為所有這些設備的唯一信任根,其安全要求遠高於被管設備:需要 HSM 支援的金鑰庫、嚴格的職責分離、完整可稽核的金鑰生命週期,以及獨立的密碼模組驗證。
因此,我們的立場是:儲存設備應該處於 KMIP 的客戶端位置——作為託管金鑰交付予可信、具稽核認可權威的受管終端——而不是自行擔任 KMS。讓同一台設備同時儲存生產資料又充當企業的金鑰權威,違反了多數安全稽核特別強調的職責分離原則。
實務上,我們建議的部署順序如下:

高度稽核需求下:建議將 QNAP 的 KMIP 客戶端配合既有且經過認證的 KMS——如 Thales CipherTrust Manager、Entrust KeyControl、IBM Guardium Key Lifecycle Manager 或 HashiCorp Vault Enterprise(KMIP secrets engine)。這些系統專為符合法規與稽核要求的密碼模組與金鑰生命週期管理而設計,QNAP 客戶端也能和這類標準 KMIP 伺服器互通。
若預算是主因:可考慮在專屬、受控、可稽核的主機上以容器方式自建 KMIP 伺服器。能支援 KMIP 的方案包括 HashiCorp Vault/OpenBao(搭載 KMIP engine)、Cosmian KMS,或是僅供測試用途的 PyKMIP。對稽核來說,重點不在於哪台主機運行,而是主機有加固、訪問有控管並且能產生稽核軌跡以供查核。

有一點要提醒——給有嚴格稽核要求的朋友——這三項常被混淆:

互通性 — KMS 能透過 KMIP 連接並運作。
演算法驗證(NIST CAVP) — 廠商的 AES/SHA/RSA 實作被確認正確。
密碼模組驗證(NIST CMVP,FIPS 140-2/140-3) — 包含金鑰管理和安全邊界的模組本身經過驗證並取得憑證。

稽核人員通常最在意第三項,門檻也是最高。僅有 CAVP 演算法驗證或模組只列在「測試中」,不能等同於持有有效的 CMVP 模組憑證(證書)並涵蓋你想仰賴的金鑰管理組件。建議無論選哪種 KMS,都要直接到 NIST CMVP 驗證模組列表查證其狀態,同時和你的稽核人員確認憑證範圍。

再次感謝你的建議與詳細回饋——我們會將市場對於 QNAP 環境中低成本、可稽核 KMS 的需求,帶回內部討論。期間內,上述認證 KMS 或加固容器路徑都能讓你的金鑰權威符合稽核標準。