10.3. 配置属性加密
使用命令行或 Web 控制台为特定属性启用和禁用属性加密。
10.3.1. 使用命令行启用属性加密
要配置目录服务器,例如,在
userRoot
数据库 AES 加密中的 telephoneNumber
属性:
- 另外,要加密现有的
telephoneNumber
属性,请导出数据库。请参阅 第 10.4.1 节 “导出加密的数据库”。 - 为
userRoot
数据库中的telephoneNumber
属性启用 AES 加密:# dsconf -D "cn=Directory Manager" ldap://server.example.com backend attr-encrypt --add-attr telephoneNumber userRoot
- 如果您导出数据库来加密现有属性,请重新导入数据库。请参阅 第 10.4.2 节 “将 LDIF 文件导入到加密的数据库中”。
10.3.2. 使用 Web 控制台启用属性加密
要配置目录服务器在数据库 AES 加密中存储
telephoneNumber
属性:
- 另外,要加密现有的
telephoneNumber
属性,请导出数据库。请参阅 第 10.4.1 节 “导出加密的数据库”。 - 在 web 控制台中打开 Directory Server 用户界面。请参阅 第 1.4 节 “使用 Web 控制台登录到目录服务器”。
- 选择实例。
- 打开菜单。
- 选择后缀条目。
- 打开 Encrypted Attributes 选项卡。
- 输入要加密的属性的名称。
- 单击。
- 如果您导出数据库来加密现有属性,请重新导入数据库。请参阅 第 10.4.2 节 “将 LDIF 文件导入到加密的数据库中”。
10.3.3. 使用命令行为属性禁用加密
要配置目录服务器不再存储,例如,在
userRoot
数据库中加密的 telephoneNumber
属性:
- (可选)要解密现有的
telephoneNumber
属性,请导出数据库。请参阅 第 10.4.1 节 “导出加密的数据库”。 - 为
userRoot
数据库中的telephoneNumber
属性禁用加密:# dsconf -D "cn=Directory Manager" ldap://server.example.com backend attr-encrypt --del-attr telephoneNumber userRoot
- 如果您导出数据库来解密现有属性,请重新导入数据库。请参阅 第 10.4.2 节 “将 LDIF 文件导入到加密的数据库中”。
10.3.4. 使用 Web 控制台禁用属性加密
要配置目录服务器在数据库 AES 加密中存储
telephoneNumber
属性:
- 另外,要加密现有的
telephoneNumber
属性,请导出数据库。请参阅 第 10.4.1 节 “导出加密的数据库”。 - 在 web 控制台中打开 Directory Server 用户界面。请参阅 第 1.4 节 “使用 Web 控制台登录到目录服务器”。
- 选择实例。
- 打开菜单。
- 选择后缀条目。
- 打开 Encrypted Attributes 选项卡。
- 单击
telephoneNumber
属性右侧的 按钮。 - 单击以确认。
- 如果您导出数据库来解密现有属性,请重新导入数据库。请参阅 第 10.4.2 节 “将 LDIF 文件导入到加密的数据库中”。
10.3.5. 启用属性加密后的常规注意事项
当您为已在数据库中的数据启用加密:
- 未加密的数据可以保留在服务器的数据库页面池后备文件中。删除这个数据:
- 停止实例:
# dsctl instance_name stop
- 删除
/var/lib/dirsrv/slapd-instance_name/db/guardian
文件:# rm /var/lib/dirsrv/slapd-instance_name/db/guardian
- 启动实例:
# dsctl instance_name start
- 启用加密并成功导入数据后,使用未加密的数据删除 LDIF 文件。
- 启用加密后,目录服务器会在重新导入数据时删除并创建新数据库。
- 复制日志文件没有加密。要保护这些数据,请将其存储在加密的磁盘上。
- 服务器内存(RAM)中的数据是未加密的,可以临时存储在交换分区中。要保护这些数据,请设置加密的交换空间。
重要
即使删除了包含未加密的数据的文件,在某些情况下也可以恢复这些数据。