许多发行版中已包括 Kerberos 服务组件。Kerberos 服务以及对用于支持 Kerberos 服务的基本操作系统进行的更改最初都使用产品名 "Sun Enterprise Authentication Mechanism"(缩写为 SEAM)来发行。由于 Solaris 软件中包括的 SEAM 产品部件越来越多,因此 SEAM 发行版的内容会相应减少。Solaris 10 发行版中包括了 SEAM 产品的所有部件,因此不再需要 SEAM 产品。由于历史原因,文档中仍存在 SEAM 产品名。
下表说明了每个发行版中包括的组件。各个产品发行版按时间顺序列出。以下各节中对所有组件进行了说明。
表 20–1 Kerberos 发行版内容
发行版名称 |
内容 |
---|---|
Solaris Easy Access Server 3.0 中的 SEAM 1.0 |
Solaris 2.6 和 7 发行版中 Kerberos 服务的完整发行版 |
Solaris 8 发行版中的 Kerberos 服务 |
仅 Kerberos 客户机软件 |
Solaris 8 Admin Pack 中的 SEAM 1.0.1 |
Solaris 8 发行版中的 Kerberos KDC 和远程应用程序 |
Solaris 9 发行版中的 Kerberos 服务 |
仅 Kerberos KDC 和客户机软件 |
SEAM 1.0.2 |
Solaris 9 发行版中的 Kerberos 远程应用程序 |
Solaris 10 发行版中的 Kerberos 服务 |
带有增强功能的 Kerberos 服务的完整发行版 |
与 MIT 发布的 Kerberos V5 产品类似,Solaris Kerberos 服务也包括以下内容:
密钥分发中心 (Key Distribution Center, KDC)(主):
Kerberos 数据库管理守护进程-kadmind。
Kerberos 票证处理守护进程-krb5kdc。
从 KDC。
数据库管理程序-kadmin 和 kadmin.local。
数据库传播软件-kprop。
用于获取、查看和销毁票证的用户程序-kinit、klist 和 kdestroy。
用于更改 Kerberos 口令的用户程序-kpasswd。
远程应用程序-ftp、rcp、rdist、rlogin、rsh、ssh 和 telnet。
远程应用程序守护进程-ftpd、rlogind、rshd、sshd 和 telnetd。
管理实用程序-ktutil 和 kdb5_util。
通用安全服务应用程序编程接口 (Generic Security Service Application Programming Interface, GSS-API)-允许应用程序使用多种安全机制,并且不需要在每次添加新机制时重新编译应用程序。因为 GSS-API 与计算机无关,所以适用于 Internet 上的各种应用程序。使用 GSS-API,应用程序可包括完整性和保密性的安全服务以及验证。
RPCSEC_GSS 应用程序编程接口 (Application Programming Interface, API)-允许 NFS 服务使用 Kerberos 验证。RPCSEC_GSS 是一种安全特性,可提供与要使用的机制无关的安全服务。RPCSEC_GSS 位于 GSS-API 层的顶部。使用 RPCSEC_GSS 的应用程序可以使用所有基于可插拔 GSS_API 的安全机制。
多个库。
此外,Solaris Kerberos 服务还包括:
SEAM 管理工具 (gkadmin)-允许您管理 KDC。借助此基于 JavaTM 技术的 GUI,管理员可以执行通常通过 kadmin 命令执行的任务。
可插拔验证模块 (Pluggable Authentication Module, PAM)-允许应用程序使用各种验证机制。使用 PAM 可使登录和注销操作对用户而言透明化。
内核模块-为 NFS 提供 GSS-API 和 RPCSEC_GSS API 的内核实现。
Solaris 10 发行版中包括以下 Kerberos 增强功能。其中的一些增强功能已在先前的 Software Express 发行版中引入,并在 Solaris 10 Beta 版中进行了更新。
远程应用程序(如 ftp、rcp、rdist、rlogin、rsh、ssh 和 telnet)支持 Kerberos 协议。有关更多信息,请参见每个命令或守护进程的手册页和 krb5_auth_rules(5) 手册页。
Kerberos 主体数据库现在可以通过增量更新进行传送,而不必每次传送整个数据库。增量传播有以下优点:
增强了跨服务器数据库的一致性
所需资源(网络、CPU 等)更少
更新的传播更加及时
是一种自动传播方法
可提供有助于自动配置 Kerberos 客户机的新脚本。此脚本可以帮助管理员迅速而轻松地安装 Kerberos 客户机。有关使用新脚本的过程,请参见配置 Kerberos 客户机。此外,有关更多信息,请参见 kclient(1M) 手册页。
在 Kerberos 服务中添加了几种新的加密类型。这几种加密类型提高了安全性,并增强了与支持这几种类型的其他 Kerberos 实现的兼容性。有关更多信息,请参见使用 Kerberos 加密类型。新的加密类型包括:
AES,该加密类型可用于高速、高安全性的 Kerberos 会话加密。通过加密框架启用 AES。
ARCFOUR-HMAC,该加密类型可提供与其他 Kerberos 实现的更好兼容性。
带有 SHA1 的三重 DES (3DES),该加密类型提高了安全性,还增强了与支持此种加密类型的其他 Kerberos 实现的互操作性。
KDC 软件、用户命令和用户应用程序现在支持使用 TCP 网络协议。这种增强功能可提供更强健的操作,以及与其他 Kerberos 实现(包括 Microsoft 的 Active Directory)之间更好的互操作性。现在,KDC 可在传统的 UDP 端口和 TCP 端口进行侦听,因此可响应使用 UDP 或 TCP 协议的请求。用户命令和应用程序在将请求发送到 KDC 时,首先尝试使用 UDP,如果该操作失败,则尝试使用 TCP。
KDC 软件(包括 kinit、klist 和 kprop 命令)中增加了对 IPv6 的支持。缺省情况下,提供对 IPv6 地址的支持。无需更改任何配置参数即可启用 IPv6 支持。kadmin 和 kadmind 命令不支持 IPv6。
kadmin 命令的多个子命令中添加了新的 -e 选项。使用此新选项可以在创建主体过程中选择加密类型。有关更多信息,请参见 kadmin(1M) 手册页。
对 pam_krb5 模块进行扩充是为了使用 PAM 框架来管理 Kerberos 凭证高速缓存。有关更多信息,请参见 pam_krb5(5) 手册页。
支持自动搜索以下各项:Kerberos KDC、管理服务器、kpasswd 服务器以及使用 DNS 查找的主机(或域名)到领域的映射。此增强功能减少了安装 Kerberos 客户机所需的某些步骤。客户机可通过使用 DNS 而不是通过读取配置文件来找到 KDC 服务器。有关更多信息,请参见 krb5.conf(4) 手册页。
引入了称为 pam_krb5_migrate 的新 PAM 模块。该新模块可以帮助那些尚未有 Kerberos 帐户的用户自动向本地 Kerberos 领域迁移。有关更多信息,请参见 pam_krb5_migrate(5) 手册页。
现在,~/.k5login 文件可以用于 GSS 应用程序 ftp 和 ssh。有关更多信息,请参见 gss_auth_rules(5) 手册页。
kproplog 实用程序已更新,可输出每个日志项的所有属性名。有关更多信息,请参见 kproplog(1M) 手册页。
使用新的配置文件选项,可以基于每个领域对严格的 TGT 验证功能进行选择性配置。有关更多信息,请参见 krb5.conf(4) 手册页。
通过扩充更改口令实用程序,Solaris Kerberos V5 管理服务器可接受未运行 Solaris 软件的客户机的口令更改请求。有关更多信息,请参见 kadmind(1M) 手册页。
重放高速缓存的缺省位置已从基于 RAM 的文件系统移动到 /var/krb5/rcache/ 中的持久性存储器。新位置在系统重新引导时可以避免重放。rcache 代码的性能得到增强。但是,由于使用了持久性存储器,因此整个重放高速缓存的性能有可能降低。
现在,可以将重放高速缓存配置为使用文件存储器或仅限于内存的存储器。 有关可为密钥表和凭证高速缓存类型或位置配置的环境变量的更多信息,请参阅 krb5envvar(5) 手册页。
对 Kerberos GSS 机制来说,GSS 凭证表不再是必需的。有关更多信息,请参见将 GSS 凭证映射到 UNIX 凭证或 gsscred(1M)、gssd(1M) 和 gsscred.conf(4) 手册页。
Kerberos 实用程序 kinit 和 ktutil 现在都基于 MIT Kerberos 版本 1.2.1。此更改为 kinit 命令添加了新的选项,并为 ktutil 命令添加了新的子命令。有关更多信息,请参见 kinit(1) 和 ktutil(1) 手册页。
Solaris Kerberos 密钥分发中心 (KDC) 和 kadmind 现在都基于 MIT Kerberos 版本 1.2.1。现在,KDC 在缺省情况下是一个基于二叉树的数据库,这比当前基于散列的数据库更可靠。有关更多信息,请参见 kdb5_util(1M) 手册页。
kpropd、kadmind、krb5kdc 和 ktkt_warnd 守护进程由服务管理工具管理。 可以使用 svcadm 命令对此服务执行管理操作,如启用、禁用或重新启动。 可使用 svcs 命令来查询此服务对应的所有守护进程的状态。有关服务管理工具的概述,请参阅《系统管理指南:基本管理》中的第 14 章 “管理服务(概述)”。
在 Solaris 10 6/06 发行版中,ktkt_warnd 守护进程可以自动更新凭证,而不是在凭证即将到期时才向用户发出警告。用户必须登录才能自动更新凭证。
Solaris 9 发行版包括Kerberos 组件中除远程应用程序外的所有组件。
SEAM 1.0.2 发行版包括远程应用程序。这些应用程序是 Solaris 9 发行版唯一未包括的部分 SEAM 1.0。远程应用程序的组件如下:
客户机应用程序-ftp、rcp、rlogin、rsh 和 telnet
服务器守护进程-ftpd、rlogind、rshd 和 telnetd
Solaris 8 发行版仅包括 Kerberos 服务的客户端部分,因此有许多组件未包括在内。借助此产品,运行 Solaris 8 发行版的系统可成为 Kerberos 客户机,而不需要单独安装 SEAM 1.0.1。要使用这些功能,必须安装使用 Solaris Easy Access Server 3.0 或 Solaris 8 Admin Pack 的 KDC、MIT 分发或 Windows 2000。如果没有配置 KDC 来分发票证,则客户端组件将不起作用。此发行版中包括以下组件:
用于获取、查看和销毁票证的用户程序-kinit、klist 和 kdestroy。
用于更改 Kerberos 口令的用户程序-kpasswd。
密钥表管理实用程序-ktutil。
可插拔验证模块 (Pluggable Authentication Module, PAM) 的新增功能-允许应用程序使用各种验证机制。使用 PAM 可使登录和注销操作对用户而言透明化。
GSS_API 插件-提供 Kerberos 协议和加密支持。
NFS 客户机和服务器支持。
SEAM 1.0.1 发行版包括 Solaris 8 发行版中未包括的所有 SEAM 1.0 发行版组件。这些组件包括:
密钥分发中心 (Key Distribution Center, KDC)(主):
Kerberos 数据库管理守护进程-kadmind
Kerberos 票证处理守护进程-krb5kdc
从 KDC。
数据库管理程序-kadmin 和 kadmin.local。
数据库传播软件-kprop。
远程应用程序-ftp、rcp、rlogin、rsh 和 telnet。
远程应用程序守护进程-ftpd、rlogind、rshd 和 telnetd。
管理实用程序-kdb5_util。
SEAM 管理工具 (gkadmin)-允许您管理 KDC。借助此基于 Java 技术的 GUI,管理员可以执行通常通过 kadmin 命令执行的任务。
预配置过程-允许您设置用于安装和配置 SEAM 1.0.1 的参数,使用这些参数可以自动进行 SEAM 安装。此过程对于批量安装尤其有用。
多个库。
SEAM 1.0 发行版包括Kerberos 组件中的所有项以及以下各项:
实用程序 (gsscred) 和守护进程 (gssd)-这些程序有助于将 UNIX 用户 ID (user ID, UID) 映射到主体名称。需要使用这些程序是因为 NFS 服务器使用 UNIX UID 来标识用户,而不是使用以不同格式存储的主体名称来标识用户。
通用安全服务应用程序编程接口 (Generic Security Service Application Programming Interface, GSS-API)-允许应用程序使用多种安全机制,并且不需要在每次添加新机制时重新编译应用程序。因为 GSS-API 与计算机无关,所以适用于 Internet 上的各种应用程序。使用 GSS-API,应用程序可包括完整性和保密性的安全服务以及验证。
RPCSEC_GSS 应用程序编程接口 (Application Programming Interface, API)-允许 NFS 服务使用 Kerberos 验证。RPCSEC_GSS 是一种安全特性,可提供与要使用的机制无关的安全服务。RPCSEC_GSS 位于 GSS-API 层的顶部。使用 RPCSEC_GSS 的应用程序可以使用所有基于可插拔 GSS_API 的安全机制。
预配置过程-允许您设置用于安装和配置 SEAM 1.0.1 的参数,使用这些参数可以自动进行 SEAM 安装。此过程对于批量安装尤其有用。