5.9. 智能卡验证

智能卡是一种外部硬件安全功能,最常见的是在信用卡中看到,但许多业务也使用智能卡作为身份验证令牌。智能卡可用于保护红帽虚拟化虚拟机。

启用智能卡

  1. 确保智能卡硬件插入到客户端机器中,并根据制造商的指示进行安装。
  2. 单击 ComputeVirtual Machines 并选择虚拟机。
  3. Edit
  4. 单击 Console 选项卡,再选中 Smartcard enabled 复选框。
  5. 点击 确定
  6. 单击 Console 按钮,以连接至正在运行的虚拟机。智能卡验证现在从客户端硬件传递给虚拟机。
重要

如果没有正确安装智能卡硬件,启用智能卡功能将导致虚拟机无法正确加载。

禁用智能卡

  1. 单击 ComputeVirtual Machines 并选择虚拟机。
  2. Edit
  3. 单击 Console 选项卡,然后清除 已启用 Smartcard 的复选框。
  4. 点击 确定

为智能卡共享配置客户端系统

  • 智能卡可能需要某些库才能访问其证书。这些库对于 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 系统中安装了智能卡支持组,则当启用智能卡时,智能卡会重定向到客户机。

  1. 要安装智能卡支持组,请运行以下命令:

    # dnf groupinstall "Smart card support"

使用其他智能卡中间件配置 RHEL 客户端

Red Hat Enterprise Linux 在 p11-kit 中提供了一个系统范围的 pkcs11 模块 registry,这些可供所有应用程序访问。

  1. 要在 p11-kit 数据库中注册第三方 PKCS#11 库,以 root 用户身份运行以下命令:

    # echo "module: /path/to/library.so" > /etc/pkcs11/modules/my.module
  2. 要验证通过这个库的 p11-kit 可见智能卡,请运行以下命令:

    $ p11-kit list-modules

配置 Windows 客户端

红帽不向 Windows 客户端提供 PKCS #11 支持。提供 PKCS #11 支持的库必须从第三方获得。

  1. 获取此类库后,以具有升级权限的用户身份运行以下命令注册这些库:

    modutil -dbdir %PROGRAMDATA%\pki\nssdb -add "module name" -libfile C:_\Path\to\module_.dll