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文件。