6.7. 使用密码保护 IPsec NSS 数据库
默认情况下,只有 root 用户可以访问 /var/lib/ipsec/nss/
目录中的 IPsec 网络安全服务(NSS)数据库。如果需要,您还可以使用密码保护数据库。例如,如果您在联邦信息处理标准(FIPS)模式下运行 RHEL,则需要此项。
先决条件
-
/var/lib/ipsec/nss/
目录包含 NSS 数据库。
流程
为 Libreswan NSS 数据库启用密码保护:
certutil -W -d /var/lib/ipsec/nss/
# certutil -W -d /var/lib/ipsec/nss/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入当前密码:
Enter Password or Pin for "NSS Certificate DB": <password>
Enter Password or Pin for "NSS Certificate DB": <password>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果数据库目前不受密码保护,请按 Enter 键。
输入新密码:
Enter new password: <new_password> Re-enter password: <new_password>
Enter new password: <new_password> Re-enter password: <new_password>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要解锁数据库,
ipsec
服务需要/etc/ipsec.d/nsspassword
文件。使用以下内容创建文件:如果主机没有以 FIPS 模式运行:
NSS Certificate DB:<password>
NSS Certificate DB:<password>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果主机以 FIPS 模式运行:
NSS FIPS 140-2 Certificate DB:<password>
NSS FIPS 140-2 Certificate DB:<password>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
在
/etc/ipsec.d/nsspassword
文件中设置安全权限:chmod 600 /etc/ipsec.d/nsspassword chown root:root /etc/ipsec.d/nsspassword
# chmod 600 /etc/ipsec.d/nsspassword # chown root:root /etc/ipsec.d/nsspassword
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重启
ipsec
服务:systemctl restart ipsec
# systemctl restart ipsec
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
验证
ipsec
服务是否正在运行:systemctl is-active ipsec
# systemctl is-active ipsec
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果命令返回
活动
,则服务成功使用密码文件来解锁 NSS 数据库。对需要密码的 NSS 数据库执行操作。例如,显示私钥:
certutil -K -d /var/lib/ipsec/nss/
# certutil -K -d /var/lib/ipsec/nss/ certutil: Checking token "NSS Certificate DB" in slot "NSS User Private Key and Certificate Services" Enter Password or Pin for "NSS Certificate DB":
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证命令是否提示输入密码。