跳过导航链接 | |
退出打印视图 | |
系统管理指南:安全性服务 Oracle Solaris 10 8/11 Information Library (简体中文) |
19. 使用 Oracle Solaris 安全 Shell(任务)
20. Oracle Solaris 安全 Shell(参考)
Kerberos 服务与 DNS 的交互方式和 nsswitch.conf 文件
加密类型可标识执行加密操作时要使用的加密算法和模式。使用 aes、des3-cbc-sha1 和 rc4–hmac 加密类型可以创建用于较高强度加密操作的密钥。这些较高强度的操作可增强 Kerberos 服务的整体安全性。
注 - 在 Solaris 10 8/07 之前的发行版中,如果安装了非捆绑强加密软件包,则可以将 aes256-cts-hmac-sha1-96 加密类型用于 Kerberos 服务。
客户机向 KDC 请求票证时,KDC 必须使用其加密类型与客户机和服务器都兼容的密钥。尽管 Kerberos 协议允许客户机请求 KDC 对客户机的票证回复部分使用特定的加密类型,但该协议不允许服务器为 KDC 指定加密类型。
注 - 如果安装的主 KDC 上未运行 Solaris 10 发行版,在升级主 KDC之前,从 KDC 必须升级到 Solaris 10 发行版。Solaris 10 主 KDC 将使用新的加密类型,而较早版本的从 KDC 将无法处理这些加密类型。
下面列出了在更改加密类型前必须考虑的问题:
KDC 假定服务器支持与主体数据库中的服务器主体项关联的第一个密钥/加密类型。
在 KDC 上,应确保生成的主体密钥与将验证主体的系统兼容。缺省情况下,kadmin 命令将为所有支持的加密类型创建密钥。如果使用主体的系统不支持该缺省加密类型集,则您在创建主体时应限制这些加密类型。通过在 kadmin addprinc 中使用 -e 标志,或在 kdc.conf 文件中将 supported_enctypes 参数设置为此子集,可以限制加密类型。如果 Kerberos 领域中的大多数系统都支持缺省加密类型集的子集,则应使用 supported_enctypes 参数。如果设置 supported_enctypes,则将指定 kadmin addprinc 在为特定领域创建主体时使用的加密类型的缺省集。一般情况下,最好使用这两种方法之一来控制 Kerberos 使用的加密类型。
确定系统支持的加密类型时,请考虑系统中运行的 Kerberos 版本,以及为其创建服务器主体的服务器应用程序所支持的加密算法。例如,创建 nfs/hostname 服务主体时,应将加密类型限制为相应主机中的 NFS 服务器支持的类型。请注意,在 Solaris 10 发行版中,NFS 服务器也支持所有受支持的 Kerberos 加密类型。
kdc.conf 文件中的 master_key_enctype 参数可用于控制加密主体数据库中各项的主密钥的加密类型。如果已创建 KDC 主体数据库,请勿使用此参数。可在创建数据库时使用 master_key_enctype 参数,以便将缺省主密钥加密类型从 des-cbc-crc 更改为更强的加密类型。配置从 KDC 时,请确保所有从 KDC 都支持选择的加密类型,并且其 kdc.conf 中具有相同的 master_key_enctype 项。另外,如果在 kdc.conf 中设置了 supported_enctypes,则还应确保将 master_key_enctype 设置为 supported_enctypes 中的加密类型之一。如果未正确处理其中任一问题,则主 KDC 可能无法使用从 KDC。
在客户机上,可以控制客户机在通过 krb5.conf 中的多个参数从 KDC 获取票证时请求的加密类型。default_tkt_enctypes 参数用于指定客户机在通过 KDC 请求票证授予票证 (ticket-granting ticket, TGT) 时要使用的加密类型。客户机可使用 TGT 以一种更有效的方式获取其他服务器票证。如果客户机使用 TGT 请求服务器票证(称为 TGS 请求),则设置 default_tkt_enctypes 将提供客户机对加密类型(用于保护客户机和 KDC 之间的通信)的部分控制。请注意,default_tkt_enctypes 中指定的加密类型必须至少与 KDC 中存储的主体数据库中的一种主体密钥加密类型匹配。否则,TGT 请求将会失败。在大多数情况下,最好不要设置 default_tkt_enctypes,因为此参数可能会导致互操作性问题。缺省情况下,客户机代码会请求所有受支持的加密类型,而 KDC 会基于在主体数据库中找到的密钥来选择加密类型。
default_tgs_enctypes 参数可限制客户机在其 TGS 请求(用于获取服务器票证)中请求的加密类型。另外,此参数还可限制 KDC 在创建客户机和服务器共享的会话密钥时使用的加密类型。例如,如果客户机要在执行安全 NFS 时仅使用 3DES 加密,则应将 default_tgs_enctypes 设置为 des3-cbc-sha1。请确保客户机主体和服务器主体在主体数据库中具有 des-3-cbc-sha1 密钥。与 default_tkt_enctype 一样,在大多数情况下,最好不要设置此参数,因为如果在 KDC 和服务器上未正确设置凭证,则此参数可能会导致互操作性问题。
在服务器上,可使用 kdc.conf 中的 permitted_enctypes 来控制服务器可接受的加密类型。此外,还可指定创建 keytab 项时使用的加密类型。同样,一般情况下最好不要使用其中任一方法来控制加密类型,而应由 KDC 来确定要使用的加密类型,因为 KDC 不会与服务器应用程序进行通信以确定要使用的密钥或加密类型。