5.9. 智能卡验证
智能卡是一种外部硬件安全功能,最常见的是在信用卡中看到,但许多业务也使用智能卡作为身份验证令牌。智能卡可用于保护红帽虚拟化虚拟机。
启用智能卡
- 确保智能卡硬件插入到客户端机器中,并根据制造商的指示进行安装。
- 单击 Compute → Virtual Machines 并选择虚拟机。
- 点 Edit。
- 单击 Console 选项卡,再选中 Smartcard enabled 复选框。
- 点击 确定。
- 单击 Console 按钮,以连接至正在运行的虚拟机。智能卡验证现在从客户端硬件传递给虚拟机。
重要
如果没有正确安装智能卡硬件,启用智能卡功能将导致虚拟机无法正确加载。
禁用智能卡
- 单击 Compute → Virtual Machines 并选择虚拟机。
- 点 Edit。
- 单击 Console 选项卡,然后清除 已启用 Smartcard 的复选框。
- 点击 确定。
为智能卡共享配置客户端系统
-
智能卡可能需要某些库才能访问其证书。这些库对于 NSS 库必须可见,而
spice-gtk
使用它为 guest 提供智能卡。NSS 要求库提供 PKCS #11 接口。 -
确保模块架构与
spice-gtk
/remote-viewer
架构匹配。例如,如果您只提供 32b PKCS #11 库,则必须安装 32b 构建的 virt-viewer 才能使智能卡正常工作。
为智能卡配置 RHEL 客户端
Red Hat Enterprise Linux 提供智能卡支持。安装智能卡支持
组。如果在 Red Hat Enterprise Linux 系统中安装了智能卡支持组,则当启用智能卡时,智能卡会重定向到客户机。
要安装
智能卡支持
组,请运行以下命令:# dnf groupinstall "Smart card support"
使用其他智能卡中间件配置 RHEL 客户端
Red Hat Enterprise Linux 在 p11-kit 中提供了一个系统范围的 pkcs11 模块 registry,这些可供所有应用程序访问。
要在 p11-kit 数据库中注册第三方 PKCS#11 库,以 root 用户身份运行以下命令:
# echo "module: /path/to/library.so" > /etc/pkcs11/modules/my.module
要验证通过这个库的 p11-kit 可见智能卡,请运行以下命令:
$ p11-kit list-modules
配置 Windows 客户端
红帽不向 Windows 客户端提供 PKCS #11 支持。提供 PKCS #11 支持的库必须从第三方获得。
获取此类库后,以具有升级权限的用户身份运行以下命令注册这些库:
modutil -dbdir %PROGRAMDATA%\pki\nssdb -add "module name" -libfile C:_\Path\to\module_.dll