CryptCTL是使用流行良好的Luks方法來設置磁盤加密的實用程序。它會生成隨機數字以用作加密密鑰,並安全地將密鑰保存在集中式密鑰服務器上。它可以將任意目錄加密到加密的磁盤分區中。
密鑰服務器將所有加密密鑰存儲在數據庫目錄(默認情況下/var/lib/cryptctl/keydb)中,並通過TCP通過RPC協議(默認情況下端口3737上的RPC協議)為客戶端計算機提供密鑰。關鍵服務器是加密設置的核心組件,因此必須採用額外的物理/網絡安全度量來部署它。必須執行密鑰數據庫的定期備份以確保其可用性。密鑰服務器和客戶端計算機之間的通信通過TLS通過證書保護,並通過系統管理員在密鑰服務器的初始設置中指定的密碼進行授權。
加密例程使用AES-XTS-Plain64密碼設置了加密的文件系統,該密碼具有固定大小(512位)鍵,該密鑰是由加密量隨機池生成的。通過從密鑰服務器檢索其加密鍵,將始終在系統啟動時自動安裝加密目錄;該操作通過進行連續嘗試直至成功,最多24小時,可以容忍臨時網絡故障或密鑰服務器停機時間。
系統管理員可以定義一個可以同時獲得密鑰的計算機數量。客戶端計算機成功檢索鍵後,它將繼續向密鑰服務器報告其在線的密鑰服務器,並且密鑰服務器密切跟踪其IP,主機名和時間戳,以便使用鍵積極地確定計算機數量;如果達到上限的上限數,則將不再自動分發密鑰;系統管理員總是可以使用密鑰服務器的訪問密碼來檢索加密密鑰。
CryptCTL可以選擇使用一個外部密鑰管理設備,該設備了解KMIP v1.3來存儲實際的磁盤加密密鑰。如果您選擇使用外部設備,則可以在服務器初始化序列期間輸入KMIP連接詳細信息,例如主機名,端口,證書和用戶憑據。如果您不想使用外部設備,CryptCTL將將加密密鑰存儲在其自己的數據庫中。
要嘗試使用CryptCTL功能,您可以在同一台計算機上臨時部署密鑰服務器和加密分區;請記住,打敗將關鍵數據與加密數據分開的目的,因此始終在QA和生產方案中部署密鑰服務器。
CryptCtl由“ SUSE Linux Enterprise Server for SAP應用程序”在商業上支持。
使用GO 1.8或更新版本構建CryptCTL。它僅取決於GO標準庫,不使用第三方庫。
將CryptCTL二進製文件以及配置文件和SystemD服務ospackage/目錄到密鑰服務器和客戶端計算機。然後,請仔細閱讀“手冊” ospackage/man/cryptctl.8以進行設置和使用說明。
可以在此處找到一個現成的RPM規格文件和RPM軟件包:https://build.opensuse.org/package/package/show/security/cryptctl
CryptCTL是一種開源免費軟件,您可以根據免費軟件基金會發布的GNU通用公共許可證版本3的條款進行重新分配和/或修改它。
有關完整的許可條款和條件,請參見LICENSE文件。