跳过导航链接 | |
退出打印视图 | |
系统管理指南:安全性服务 Oracle Solaris 10 8/11 Information Library (简体中文) |
19. 使用 Oracle Solaris 安全 Shell(任务)
许多发行版中已包括 Kerberos 服务组件。Kerberos 服务以及对用于支持 Kerberos 服务的基本操作系统进行的更改最初都使用产品名 "Sun Enterprise Authentication Mechanism"(缩写为 SEAM)来发行。由于 Oracle Solaris 软件中包括的 SEAM 产品部件越来越多,因此 SEAM 发行版的内容会相应减少。Oracle Solaris 发行版中包括了 SEAM 产品的所有部件,因此不再需要 SEAM 产品。由于历史原因,文档中仍存在 SEAM 产品名。
下表说明了每个发行版中包括的组件。各个产品发行版按时间顺序列出。以下各节中对所有组件进行了说明。
表 21-1 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、rdist、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 服务还包括:
图形化 Kerberos 管理工具 (gkadmin)-允许您管理主体和主体策略。这一基于 Java 技术的 GUI 可以替代 kadmin 命令。
PAM 的 Kerberos V5 服务模块-为 Kerberos 服务提供验证、帐户管理、会话管理和口令管理。使用该模块可使 Kerberos 验证对用户而言透明化。
内核模块-提供 kerberos 服务的基于内核的实现以供 NFS 服务使用,这可大大提高性能。
从 Solaris 10 5/08 发行版开始,提供了以下增强功能:
Solaris Kerberos 软件已与 MIT 1.4 版本进行了同步。特别是,用于 KDC 的软件、kinit 命令和 Kerberos 机制已更新。
添加了对使用 LDAP 从目录服务器访问 Kerberos 主体和策略记录的支持。此更改简化了管理,并可提供更高的可用性,具体取决于 KDC 和 DS 的部署。有关与 LDAP 相关的过程列表,请参见在 LDAP 目录服务器上管理 KDC。
此发行版中添加了对无需额外设置的 Solaris 客户机的支持。对 Kerberos 服务和一些缺省设置进行了更改。Solaris Kerberos 客户机可在进行了适当配置的环境中采用无客户端配置。有关更多信息,请参见客户机配置选项。
Solaris 10 8/07 发行版支持 MIT Kerberos V5 应用编程接口 (krb5-api)。有关更多信息,请参见 libkrb5(3LIB) 和 krb5-config(1) 手册页。另请参见 mit.edu 上有关 MIT Kerberos V5 项目的 Web 页,以在其可用后获取更详细的文档。
虽然现在已推出 krb5-api,但 Oracle 仍强烈建议使用 GSS-API 来进行网络验证以及提供完整性和保密性服务,因为 GSS-API 是一种独立于安全机制的 IETF 标准。有关更多信息,请参见 libgss(3LIB) 手册页。
在 Solaris 10 6/06 发行版中,ktkt_warnd 守护进程可以自动更新凭证,而不只是在凭证即将过期时提醒用户。用户必须登录才能自动更新凭证。
这些 Kerberos 增强功能包括在 Oracle Solaris 发行版中。其中的一些增强功能已在先前的 Software Express 发行版中引入,并在 Solaris 10 Beta 版中进行了更新。
远程应用程序(如 ftp、rcp、rlogin、rsh、ssh 和 telnet)支持 Kerberos 协议。有关更多信息,请参见每个命令或守护进程的手册页以及 krb5_auth_rules(5) 手册页。
Kerberos 主体数据库现在可以通过增量更新进行传送,而不必每次传送整个数据库。增量传播有以下优点:
增强了跨服务器数据库的一致性
所需资源(网络、CPU 等)更少
更新的传播更加及时
是一种自动传播方法
现在可提供有助于自动配置 Kerberos 客户机的新脚本。此脚本可以帮助管理员迅速而轻松地安装 Kerberos 客户机。有关使用新脚本的过程,请参见配置 Kerberos 客户机。此外,有关更多信息,请参见 kclient(1M) 手册页。
在 Kerberos 服务中添加了几种新的加密类型。这几种加密类型提高了安全性,并增强了与支持这几种类型的其他 Kerberos 实现的兼容性。有关更多信息,请参见使用 Kerberos 加密类型。加密类型包括:
AES,该加密类型可用于高速、高安全性的 Kerberos 会话加密。
ARCFOUR-HMAC,该加密类型可提供与其他 Kerberos 实现的更好兼容性。
带有 SHA1 的三重 DES (3DES) 提高了安全性。这种加密类型还增强了与支持此种加密类型的其他 Kerberos 实现的互操作性。
这些加密类型通过加密框架启用。该框架可以为 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 模块 pam_krb5_migrate。该新模块可以帮助那些尚没有 Kerberos 帐户的用户自动向本地 Kerberos 领域迁移。有关更多信息,请参见 pam_krb5_migrate(5) 手册页。
现在,~/.k5login 文件可以用于 GSS 应用程序 ftp 和 ssh。有关更多信息,请参见 gss_auth_rules(5) 手册页。
kproplog 实用程序已更新,可输出每个日志项的所有属性名。有关更多信息,请参见 kproplog(1M) 手册页。
现在,可以使用 krb5.conf 文件中的配置选项来禁用严格的 TGT 验证。有关更多信息,请参见 krb5.conf(4) 手册页。
通过扩充更改口令实用程序,Oracle Solaris Kerberos V5 管理服务器可接受未运行 Oracle 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) 手册页。
Oracle Solaris Kerberos 密钥分发中心 (Key Distribution Center, KDC) 和 kadmind 现在基于 MIT Kerberos 版本 1.2.1。现在,KDC 在缺省情况下是一个基于二叉树 (btree) 的数据库,这比当前基于散列的数据库更可靠。有关更多信息,请参见 kdb5_util(1M) 手册页。
kpropd、kadmind、krb5kdc 和 ktkt_warnd 守护进程由服务管理工具管理。可以使用 svcadm 命令对此服务执行管理操作,如启用、禁用或重新启动。可使用 svcs 命令来查询此服务对应的所有守护进程的状态。有关服务管理工具的概述,请参阅《系统管理指南:基本管理》中的第 18 章 "管理服务(概述)"。
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。
图形化 Kerberos 管理工具 (gkadmin)-允许您管理主体和主体策略。这一基于 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 的参数,这样便可以自动进行 SEAM 安装。此过程对于批量安装尤其有用。