跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 管理:安全服务 Oracle Solaris 11 Information Library (简体中文) |
许多发行版中已包括 Kerberos 服务组件。Kerberos 服务以及对用于支持 Kerberos 服务的基本操作系统进行的更改最初都使用产品名 "Sun Enterprise Authentication Mechanism"(缩写为 SEAM)来发行。随着 Oracle Solaris 软件中包括的 SEAM 产品组件越来越多,SEAM 发行版的内容会越来越少。从 Oracle Solaris 10 发行版开始,包括了 SEAM 产品的所有组件,因此不再需要 SEAM 产品。由于历史原因,文档中仍存在 SEAM 产品名。
下表说明了每个发行版中包括的组件。各个产品发行版按时间顺序列出。以下各节中对所有组件进行了说明。
表 19-1 Kerberos 发行版内容
|
有关 Oracle Solaris 10 发行版中包括的增强功能的更多信息,请参见Kerberos 组件。
与 MIT 发布的 Kerberos V5 产品类似,Oracle Solaris 发行版的 Kerberos 服务也包括以下内容:
密钥分发中心 (Key Distribution Center, KDC):
Kerberos 数据库管理守护进程-kadmind。
Kerberos 票证处理守护进程-krb5kdc。
数据库管理程序-kadmin(仅主 KDC)、kadmin.local 和 kdb5_util。
数据库传播软件-kprop(仅从 KDC)和 kpropd。
用于管理凭证的用户程序-kinit、klist 和 kdestroy。
用于更改 Kerberos 口令的用户程序-kpasswd。
远程应用程序-ftp、rcp、rlogin、rsh、ssh 和 telnet。
远程应用程序守护进程-ftpd、rlogind、rshd、sshd 和 telnetd。
密钥表管理实用程序-ktutil。
通用安全服务应用编程接口 (Generic Security Service Application Programming Interface, GSS-API)-允许应用程序使用多种安全机制,并且不需要在每次添加新机制时重新编译应用程序。GSS-API 使用标准接口,允许将应用程序移植到多种操作系统上。使用 GSS-API,应用程序可包括完整性和保密性安全服务以及验证。ftp 和 ssh 均使用 GSS-API。
RPCSEC_GSS 应用编程接口 (Application Programming Interface, API)-允许 NFS 服务使用 Kerberos 验证。RPCSEC_GSS 是一种安全特性,可提供与要使用的机制无关的安全服务。RPCSEC_GSS 位于 GSS-API 层的顶部。使用 RPCSEC_GSS 的应用程序可以使用所有基于可插拔 GSS_API 的安全机制。
此外,Oracle Solaris 发行版的 Kerberos 服务还包括以下内容:
一个基于 GUI 的 Kerberos 管理工具 (gkadmin)-允许您管理主体和主体策略。这一基于 Java 技术的 GUI 是 kadmin 命令的替代方法。
PAM 的 Kerberos V5 服务模块-为 Kerberos 服务提供验证、帐户管理、会话管理和口令管理。使用该模块可使 Kerberos 验证对用户而言透明化。
内核模块-提供 kerberos 服务的基于内核的实现以供 NFS 服务使用,这可大大提高性能。
本节列出了 Oracle Solaris 11 发行版中的可用更改。
Kerberos 软件已与 MIT 1.8 发行版进行了同步。包括以下功能:
缺省情况下,arcfour-hmac-md5-exp、des-cbc-md5 和 des-cbc-crc 弱加密类型处于禁用状态。可以在 /etc/krb5/krb5.conf 文件中添加 allow_weak_crypto = true 声明以便允许使用更弱的加密算法。
在 /etc/krb5/krb5.conf 文件中,permitted_enctypes 关系可以使用可选的 DEFAULT 关键字以及 + 或 - enctyp_family 来从缺省设置中添加或删除指定的加密类型。
在大多数情况下,都可以消除客户端对 domain_realm 映射表的需要,方法是在 KDC 中实现最小引用支持,并通过该协议向客户机提供映射信息。客户机可以在没有 domain_realm 映射表的情况下运行,方法是将对服务主体 name service/canonical-fqdn@LOCAL.REALM 的请求发送到本地 KDC 并请求引用。此功能可能会受限于特定名称类型或特定格式的服务主体名称。KDC 只能使用其 domain_realm 映射表。无法引入对 DNS 的分块查询。
如果是将 LDAP 后端用于 Kerberos 数据库,则可以为主体条目创建别名。如果服务可供不同的主机名访问,或者 DNS 不可用于标准化主机名(意味着使用的是简短形式),则主体别名支持会很有用。可以对已知的各种服务主体名称使用一个别名,对于系统密钥表文件中的实际服务主体,系统只需一组密钥即可。
可以使用 kvno 实用程序诊断存储在 /etc/krb5/krb5.keytab 中的服务主体密钥存在的问题。
kadmin ktadd 命令支持 -norandkey 选项,后者阻止 kadmind 命令创建新的随机密钥。如果您要为一个包含口令派生密钥的主体创建密钥表,-norandkey 选项可能会很有用。可以创建一个密钥表用于运行 kinit 命令,而无需指定口令。
在给定时间限制内,预验证失败一定次数后,可以锁定主体。有关更多信息,请参见如何配置帐户锁定。
OK_AS_DELEGATE 标志使 KDC 能够将本地领域策略传递给客户机,该策略与是否信任中间服务器接受委托凭证有关。有关更多信息,请参见委托服务的信任。
为 Kerberos 添加了一组用户级静态定义的跟踪点。这些探测器提供对 Kerberos 协议消息的逻辑视图。有关示例,请参见对 Kerberos 服务使用 DTrace。
kclient 脚本已得到增强。脚本包括加入 Microsoft Active Directory 服务器的功能。有关说明,请参见如何交互配置 Kerberos 客户机和如何为 Active Directory 服务器配置 Kerberos 客户机。此外,脚本还包括 -T 选项,可用于识别客户机的 KDC 服务器类型。该脚本的所有选项在 kclient(1M) 手册页中均有介绍。
不再需要 /etc/krb5/kadm5.keytab 文件。存储在该文件中的密钥现在可以直接从 Kerberos 数据库中读取。
添加了对使用 LDAP 从目录服务器访问 Kerberos 主体和策略记录的支持。此更改简化了管理,并可提供更高的可用性,具体取决于 KDC 和 目录服务器的部署。有关与 LDAP 相关的过程列表,请参见在 LDAP 目录服务器上管理 KDC。
新增的 kdcmgr 命令可用于自动或交互设置任何 KDC。该命令创建主 KDC 服务器和从 KDC 服务器。此外,与 status 选项结合使用时,kdcmgr 命令显示任何安装在本地主机上的 KDC 的相关信息。有关自动和交互式过程的链接,请参见表 21-1。
此发行版中添加了对无需额外设置的 Oracle Solaris 客户机的支持。对 Kerberos 服务和一些缺省值进行了更改。Kerberos 客户机可在进行了适当配置的环境中采用无客户端配置。有关更多信息,请参见客户机配置选项。