跳过导航链接 | |
退出打印视图 | |
![]() |
Oracle Solaris 11.1 管理:安全服务 Oracle Solaris 11.1 Information Library (简体中文) |
Kerberos V5 产品是一个单点登录系统,这表示只需键入一次口令即可。Kerberos V5 程序将为您执行验证操作(并可以选择执行加密操作),因为 Kerberos 已内置在每个熟知的现有网络程序套件中。Kerberos V5 应用程序是添加了 Kerberos 功能的现有 UNIX 网络程序的版本。
例如,使用基于 Kerberos 的程序连接到远程主机时,该程序、KDC 和远程主机将执行一组快速协商。完成这些协商后,该程序便已代表您向远程主机证明了您的身份,并且远程主机已授予您访问权限。
请注意,基于 Kerberos 的命令会首先尝试使用 Kerberos 进行验证。如果 Kerberos 验证失败,将会出现错误或尝试 UNIX 验证,具体取决于和命令一起使用的选项。有关更多详细信息,请参阅每个 Kerberos 命令手册页中的 Kerberos Security 部分。
基于 Kerberos 的网络服务是一些连接到 Internet 中某个位置的其他计算机的程序。这些程序如下:
ftp
rcp
rlogin
rsh
ssh
telnet
这些程序具有可透明地使用 Kerberos 票证与远程主机协商验证和可选加密的功能。在大多数情况下,您只会注意到不必再键入口令即可使用这些程序,因为 Kerberos 将为您提供身份证明。
Kerberos V5 网络程序包括可用于执行以下操作的选项:
将票证转发到其他主机(如果最初已获取可转发票证)。
加密您和远程主机之间传输的数据。
注 - 本节假定您已经熟悉这些程序的非 Kerberos 版本,并且将重点介绍 Kerberos V5 软件包添加的 Kerberos 功能。有关此处所述命令的详细说明,请参见各自的手册页。
下列 Kerberos 选项已添加到 ftp、rcp、rlogin、rsh 和 telnet:
尝试使用现有票证自动登录。使用 getlogin() 返回的用户名,除非该名称与当前用户 ID 不相同。有关详细信息,请参见 telnet(1) 手册页。
将不可重新转发的票证转发到远程主机。此选项与 -F 选项互斥。不能在同一命令中同时使用这两个选项。
如果您有理由相信需要向第三台主机中其他基于 Kerberos 的服务验证您的身份,则应转发票证。例如,您可能要远程登录到另一台计算机,然后从该计算机远程登录到第三台计算机。
如果远程主机上的起始目录使用 Kerberos V5 机制挂载了 NFS,则必须使用可转发票证。否则,将无法访问起始目录。也就是说,假定您最初登录到系统 1,然后从系统 1 远程登录到您的主机(系统 2),该主机从系统 3 挂载您的起始目录。在这种情况下,除非在 rlogin 中使用 -f 或 -F 选项,否则将无法访问起始目录,因为您的票证无法转发到系统 3。
缺省情况下,kinit 会获取可转发票证授予票证 (ticket-granting ticket, TGT)。但是,您的配置在这方面可能会有所不同。
有关转发票证的更多信息,请参见转发 Kerberos 票证。
将 TGT 的可重新转发副本转发到远程系统。此选项与 -f 类似,但它允许访问更多(如第四台或第五台)计算机。因此,可将 -F 选项视为 -f 选项的超集。-F 选项与 -f 选项互斥。不能在同一命令中同时使用这两个选项。
有关转发票证的更多信息,请参见转发 Kerberos 票证。
表 24-1 网络命令的 Kerberos 选项
|
也可以通过键入 protect,并后跟以上所示的任何保护级别(clear、private 或 safe),在 ftp 提示符下设置保护级别。
如基于 Kerberos 的命令概述中所述,某些命令允许您使用 -f 或 -F 选项转发票证。通过转发票证,可以“链接”网络事务。例如,可以远程登录到一台计算机,然后从该计算机远程登录到另一台计算机。使用 -f 选项可转发票证,而使用 -F 选项则可重新转发已转发的票证。
在下图中,用户 david 使用 kinit 获取了一个不可转发票证授予票证 (ticket-granting ticket, TGT)。由于该用户未指定 -f 选项,因此该票证不可转发。在方案 1 中,该用户可以远程登录到计算机 B,但不能再登录到其他计算机。在方案 2 中,由于该用户尝试转发一个不可转发票证,因此 rlogin -f 命令失败。
图 24-2 使用不可转发票证
实际上,已设置了 Kerberos 配置文件,以便 kinit 在缺省情况下可获取可转发票证。但是,您的配置可能会有所不同。为了便于说明,假定 kinit 不会获取可转发 TGT,除非使用 kinit -f 调用该命令。另请注意,kinit 不包含 -F 选项。TGT 要么是可转发的,要么是不可转发的。
在下图中,用户 david 使用 kinit -f 获取可转发的 TGT。在方案 3 中,由于该用户在 rlogin 中使用了可转发票证,因此可以访问计算机 C。在方案 4 中,由于票证不可重新转发,因此第二个 rlogin 失败。如方案 5 中所示,改用 -F 选项后,第二个 rlogin 将成功,并且票证可重新转发到计算机 D。
图 24-3 使用可转发票证
以下示例说明基于 Kerberos 的命令选项的工作方式。
示例 24-5 将 -a、-f 和 -x 选项用于 telnet
在本示例中,用户 david 已经登录,并且要通过 telnet 远程登录到计算机 denver.example.com。该用户使用 -f 选项转发其现有票证,使用 -x 选项加密会话,并使用 -a 选项自动执行登录。由于该用户不打算使用第三台主机的服务,因此可使用 -f 而非 -F。
% telnet -a -f -x denver.example.com Trying 128.0.0.5... Connected to denver.example.com. Escape character is '^]'. [ Kerberos V5 accepts you as "david@eng.example.com" ] [ Kerberos V5 accepted forwarded credentials ] SunOS 5.9: Tue May 21 00:31:42 EDT 2004 Welcome to SunOS %
请注意,david 的计算机使用 Kerberos 来向 denver.example.com 进行自我验证,并且以自己的身份自动登录。该用户具有一个加密会话(即该用户已有的票证副本),因此永远不必键入其口令。如果该用户使用了非 Kerberos 版本的 telnet,则可能会提示其输入口令,并将此口令在未加密的情况下通过网络发送。如果入侵者在此期间一直在观察网络通信流量,则可能会知道 david 的口令。
如果转发 Kerberos 票证,telnet(以及此处讨论的其他命令)将会在退出时销毁这些票证。
示例 24-6 使用带有 -F 选项的 rlogin
在此示例中,用户 jennifer 希望登录到自己的计算机 boston.example.com。该用户使用 -F 选项转发其现有票证,并使用 -x 选项加密会话。由于该用户在登录到 boston 后,可能希望执行需要重新转发票证的其他网络事务,因此会选择 -F 而非 -f。另外,由于该用户要转发其现有票证,因此不必键入其口令。
% rlogin boston.example.com -F -x This rlogin session is using encryption for all transmissions. Last login Mon May 19 15:19:49 from daffodil SunOS Release 5.9 (GENERIC) #2 Tue Nov 14 18:09:3 EST 2003 %
示例 24-7 在 ftp 中设置保护级别
假定 joe 要使用 ftp 从计算机 denver.example.com 的目录 ~joe/MAIL 中获取其邮件并加密会话。交换过程如下所示:
% ftp -f denver.example.com Connected to denver.example.com 220 denver.example.org FTP server (Version 6.0) ready. 334 Using authentication type GSSAPI; ADAT must follow GSSAPI accepted as authentication type GSSAPI authentication succeeded Name (daffodil.example.org:joe) 232 GSSAPI user joe@MELPOMENE.EXAMPLE.COM is authorized as joe 230 User joe logged in. Remote system type is UNIX. Using BINARY mode to transfer files. ftp> protect private 200 Protection level set to Private ftp> cd ~joe/MAIL 250 CWD command successful. ftp> get RMAIL 227 Entering Passive Mode (128,0,0,5,16,49) 150 Opening BINARY mode data connection for RMAIL (158336 bytes). 226 Transfer complete. 158336 bytes received in 1.9 seconds (1.4e+02 Kbytes/s) ftp> quit %
为了加密会话,joe 将保护级别设置为 private。