4.5. 如何设置 Kerberos 验证

4.5.1. 白名单和黑名单支持

请按照以下步骤为 Active Directory 配置 Kerberos 验证。

要获得 Kerberos 验证提供的完整功能,需要提供对 Active Directory 拥有“写入“访问权限的用户的凭证。该用户将用于从目录中读取用户和删除计算机条目。

步骤

Kerberos 验证要求在 Oracle VDI Manager 中设置用户目录之前,先在 Active Directory 服务器和 Oracle VDI 主机上进行一些特定的配置。

  1. 必须在 Active Directory 中启用 Kerberos 验证。

    它应该已作为默认设置启用。

  2. 确保每个 Active Directory 林都有一个全局目录服务器。

    将每个林中的域控制器配置为全局目录服务器。

  3. 设置“林功能级别“。

    如果域控制器是在 Microsoft Windows Server 2008 R2 上运行,则必须将“林功能级别“设置为 Windows Server 2008 或 Windows Server 2008 R2(而不是默认情况下使用的值,即 Windows Server 2003)。有关“林功能级别“的更多信息,请参阅 Microsoft 文档。

  4. 使 Oracle VDI 主机与 Active Directory 服务器的时间同步。

    使用网络时间协议 (Network Time Protocol, NTP) 软件或 rdate 命令确保所有主机上的时钟保持同步。

    例如,使用 ntpdate my.windows.host

    在生产环境中,最好是 NTP 时间服务器。

  5. 编辑 Oracle VDI 主机上的系统默认 Kerberos 配置文件。

    系统默认 Kerberos 配置文件为:

    • /etc/krb5/krb5.conf(在 Oracle Solaris OS 平台上)。

    • /etc/krb5.conf(在 Oracle Linux 平台上)。

    小心

    Kerberos 配置文件中的领域名称需要使用大写非常重要,因此请确保采用大写,如以下示例中所指示的那样。

    Kerberos 配置文件必须至少包含下面几节:

    • [libdefaults] - 此部分设置 Kerberos 验证的默认值。您必须设置 default_realm

    • [realms] - 此部分设置每个 Kerberos 领域的 KDC。一个领域可以有多个 kdc,如果使用默认端口 88,则可以忽略“端口“部分。

      要允许最终用户更新其密码(第 7.2.6 节 “如何更改用户密码”),必须指定为每个 Kerberos 领域处理密码更改的服务器的详细信息。kpasswd_serveradmin_server 条目标识用于处理密码更改的 Kerberos 管理服务器。如果忽略 kpasswd_server,则会使用 admin_server。如果使用默认端口 464,则可以忽略 port 部分。

      领域定义的格式:

      REALM_NAME = {
      kdc = host:port
      kdc = host:port
      ...
      kpasswd_server = host:port
      admin_server = host:port
      kpasswd_protocol = SET_CHANGE
      }
      
    • [domain_realm] - 此部分将 Active Directory 域映射到 Kerberos 领域。

      以下是包含一个域的林的 Kerberos 配置文件示例:

      [libdefaults]
      default_realm = MY.COMPANY.COM
      
      [realms]
      MY.COMPANY.COM = {
      kdc = my.windows.host
      admin_server = my.windows.host
      kpasswd_protocol = SET_CHANGE
      }
      
      [domain_realm]
      .my.company.com = MY.COMPANY.COM
      my.company.com = MY.COMPANY.COM
  6. 可以使用 getentnslookupkinit 检查 Kerberos 及其名称解析要求是否已正确配置。

    例如:

    • # getent hosts <my.windows.host> 必须返回 IP 地址和主机名

    • # getent hosts <IP_of_my.windows.host> 必须返回 IP 地址和主机名

    • # nslookup -query=any _gc._tcp.<my.company.com> 必须解析域

    • # kinit -V <super-user@MY.COMPANY.COM> 必须成功

  7. 启动 VDA 服务。

    # /opt/SUNWvda/sbin/vda-service restart
  8. 在 Oracle VDI Manager 中配置用户目录。

    1. 在 Oracle VDI Manager 中,转至“设置““公司“

    2. 在“公司“表中,单击“新建“以激活“新建公司“向导。

    3. 选择“Active Directory 类型“,然后单击“下一步“

    4. 选择“Kerberos 验证“

    5. 输入 Active Directory 的域。

      例如 my.company.com

    6. 输入具有足够的 Active Directory 写入权限的用户的用户主体名称。

      例如 super-usersuper-user@my.company.com

    7. 输入该用户的密码。

    8. 在完成配置之前,单击“下一步“查看您所做的选择。

关于 Kerberos 验证的更多信息

有关 Kerberos 验证的更多信息:

4.5.1. 白名单和黑名单支持

Oracle VDI 支持 Kerberos 验证的“白名单和黑名单“功能。此功能是可为公司指定的可选主机名列表集,从而对 Oracle VDI 查询哪些 Active Directory 服务器进行更精细的控制。

目录白名单是始终用于 LDAP 查询的 Active Directory 全局目录服务器的以逗号分隔列表。白名单中服务器的顺序非常重要。如果 Oracle VDI 无法联系白名单中的第一个服务器,则会尝试联系下一个服务器。目录黑名单是从不用于 LDAP 查询的 Active Directory 服务器的以逗号分隔列表。黑名单设置优先于白名单设置。

仅在 CLI 中启用此功能。