在 AIX V6 上的 telnet FTP 和 r 命令中配置和启用 Kerberos 身份验证

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

AIX 中的网络应用程序(例如,telnet、FTP 和rlogin、rsh、rcp 等r 命令)本身支持Kerberos 身份验证。

管理员需要完成的所有工作包括安装和配置Kerberos,以及配置AIX 系统以使用该Kerberos 设置进行身份验证。

Kerberos 身份验证表示一旦您拥有有效的Kerberos 票证(通过手动/usr/krb5/bin/kinit或集成登录获得),网络应用程序可以使用该票证作为您的身份验证令牌,并且一旦成功通过身份验证,您不需要输入密码就可以获得访问权限。

基本配置
为了启用Kerberos 身份验证,需要在Kerberos 前端以及AIX 系统上设置一些通用基本配置。

让我们看一下这些配置。

Kerberos 配置
∙让一台服务器计算机作为Kerberos 主密钥分发中心(Key Distribution Center,KDC)这台计算机将负责所有与Kerberos 相关的任务,例如生成票证、对用户进行身份验证,等等。

管理员需要在这台计算机上安装和配置IBM Network attached storage (NAS)(优选使用1.4.0.7 或更高版本)以作为主KDC。

∙网络中的所有其他计算机(您将在这些计算机上使用telnet、FTP 或r 命令进行登录)安装和配置IBM NAS,作为主KDC 的客户端。

∙telnet/FTP 守护进程将在这些计算机上运行,您将从客户端连接到这台计算机上。

在这些计算机上也安装和配置IBM NAS,作为主KDC 的客户端。

有关IBM NAS 服务器和客户端安装和配置的完整说明,请参考AIX Version 5.3 Expansion Pack CD 中附带的IBM NAS Version 1.4 Administration Guide。

对于本文中的示例,我参考了示例Kerberos 环境。

图 1 显示了该环境和逻辑信息流。

图1:显示Kerberized telnet 操作的示例
本文通篇使用了下列定义:
Kerberos 管理员名称:
admin/admin
Kerberos 领域名称:
IBM NAS 1.4.0.7 主KDC:
主机名: 端口:88
操作系统:AIX 5.3
IBM NAS 1.4.0.7 管理服务器:
主机名: 端口:749
操作系统:AIX 5.3
IBM NAS 1.4.0.7 客户端:
主机名:
操作系统:AIX 6.1
运行telnet 服务的计算机:
主机名: 端口:23
操作系统:AIX 5.3
运行FTP 服务的计算机:
主机名: 端口:21
操作系统:AIX 5.3
检查和同步所有计算机之间的时间差;误差不应超过 5 分钟。

若要检查Kerberos 配置的正确性,请使用'/usr/krb5/bin/kinit admin/admin',后跟'/usr/krb5/bin/klist'并查看是否能够获得Kerberos 票证,然后使用'/usr/krb5/sbin/kadmin -p admin/admin'检查所有事项(时间差以及更多项目)是否正常。

AIX 身份验证配置
为了确保所有网络应用程序在进行基于密码的标准身份验证之前尝试Kerberos 身份验证,管理员需要更改所有AIX 计算机上的身份验证方法首选项。

'/usr/bin/lsauthent'命令显示当前身份验证模式首选项。

若要更改身份验证模式首选项,请使用'/usr/bin/chauthent'命令。

现在,'/usr/bin/lsauthent'应显示类似下面的内容:
请务必保留基于密码的标准身份验证方法(上面的–std)作为后备身份验证方法,否则如果无法启用正确的Kerberos 登录,您将无法登录到系统。

为telnet 服务配置Kerberos
在Kerberos 环境中,每个Kerberos 服务是由服务主体表示的。

此服务主体只是普通的Kerberos 主体,其持有用于解密由Kerberos 服务器发送的响应的密钥。

对于telnet 服务也是如此,您将需要在telnet 服务器上创建telnet 服务主体并执行一些配置步骤。

请执行下列分步步骤为telnet 服务配置Kerberos。

如果您已经使用AIX 'mkkrb5clnt'命令配置了Kerberos 客户端,那么您不需要执行步骤 1 和2。

'mkkrb5clnt'命令创建host 服务主体并将其存储在/var/krb5/security/keytab/<hostname>.keytab文件中。

将此文件链接到缺省keytab 文件
/etc/krb5/krb5.keytab。

1.在运行telnet 服务的计算机() 上,创建名为“host/<FQDN_telnetd_hostname>”的telnet 服
务主体。

对于本例,它将是“host/”。

使用完全限定域名(Fully Qualified Domain Name,FQDN)对于此设置的正常工作非常关键。

bash-2.05b# hostname
bash-2.05b# kadmin -p admin/admin
Authenticating as principal admin/admin with password.
Password for admin/admin@:
kadmin: addprinc -randkey host/
WARNING: no policy specified for
host/@;
defaulting to no policy. Note that policy may be
overridden by
ACL restrictions.
Principal "host/@"
created.
2.将telnet 服务主体添加到keytab 文件(/etc/krb5/krb5.keytab) 中。

如果由于某种原因无法运行“kadmin”,则在KDC 上创建服务主体并添加到keytab 文件(/etc/krb5/krb5.keytab) 中,然后将该keytab 文件传送到运行telnetd 的计算机(对于本例,是)上。

3.在运行telnet 服务的计算机() 上,运行'/usr/krb5/bin/klist -k'并检查条目。

bash-2.05b# hostname
bash-2.05b# /usr/krb5/bin/klist -k
Keytab name: FILE:/etc/krb5/krb5.keytab
KVNO Principal
---- ---------
3 host/@
3 host/@
3 host/@
3 host/@
3 host/@
bash-2.05b#
4.
5.在运行telnet 服务的计算机() 上,创建新用户“vipin”,您将使用该用户远程登录到fsaix005。

更改该用户的密码。

6.
7.创建具有相同名称“vipin”的Kerberos 主体。

可以从Kerberos 领域中的任何计算机(主KDC 或客户机)上完成此操作。

bash-2.05b# hostname
bash-2.05b# kadmin -p admin/admin
Authenticating as principal admin/admin with password.
Password for admin/admin@:
kadmin: ank -pw vipin vipin
WARNING: no policy specified for vipin@;
defaulting to no policy. Note that policy may be overridden by
ACL restrictions.
Principal "vipin@" created.
kadmin: q
bash-2.05b#
8.
9.转到配置了Kerberos 客户端的任何其他客户端计算机() 上。

运行'/usr/krb5/bin/kinit vipin'
以获取初始Kerberos 票证,如下所示:
10.
11.尝试远程登录到telnetd 计算机()。

如果一切顺利,系统将要求您输入密码,您将以用户“vipin”
的身份登录。

下面是完成这项工作的命令:
bash-2.05b# hostname
bash-2.05b# telnet -l vipin
Trying...
Connected to .
Escape character is '^]'.
[ Kerberos V5 accepts you as ``vipin@'' ]
telnet ()
*******************************************************************************
* *
* *
* Welcome to AIX Version 5.3! *
* *
* *
* Please see the README file in /usr/lpp/bos for information pertinent to *
* this release of the AIX Operating System. *
* *
* *
*******************************************************************************
Last unsuccessful login: Wed Feb 13 11:50:40 CST 2008 on /dev/pts/2 from
Last login: Fri Feb 15 12:49:06 CST 2008 on /dev/pts/3 from
$ hostname
$ id
uid=237(vipin) gid=1(staff)
$ exit
Connection closed
12.
13.这就是以Kerberos 方式运行telnet 所需完成的全部工作!请注意在发出telnet 命令时的附加选项(位于上面突出显示
的文本中)。

14.如果您希望检查是否确实获得telnet 服务主体的票证,请在客户端上运行/usr/krb5/bin/klist并查看其输出。

您应该
看到与下面所示类似的内容:
为FTP 服务配置Kerberos
与telnet 服务类似,您也可以配置FTP 服务以接受和使用Kerberos 身份验证。

使用下列分步过程来实现这一目的:
1.创建FTP 服务主体。

这一次FTP 服务主体的名称应为“ftp/<FQDN_ftpd_hostname>”。

因此对于本例,它类似于
“ftp/”。

创建主体:
2.
3.现在,将此主体条目添加到keytab 文件(/etc/krb5/krb5.keytab) 中。

kadmin: ktadd ftp/
Entry for principal ftp/ with kvno 3, encryption type Triple DES
cbc
mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab.
Entry for principal ftp/ with kvno 3, encryption type ArcFour
with
HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
Entry for principal ftp/ with kvno 3, encryption type AES-256 CTS
mode
with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab.
Entry for principal ftp/ with kvno 3, encryption type DES
cbc mode with
RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
Entry for principal ftp/ with kvno 3, encryption type AES-128 CTS
mode
with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab.
kadmin: q
bash-2.05b#
4.
5.在运行FTP 服务的计算机() 上,运行'/usr/krb5/bin/klist -k'并检查keytab 文件中的
条目。

此时该文件应当与如下所示类似:
bash-2.05b# hostname
bash-2.05b# /usr/krb5/bin/klist -k
Keytab name: FILE:/etc/krb5/krb5.keytab
KVNO Principal
---- ---------
3 host/@
3 host/@
3 host/@
3 host/@
3 host/@
3 ftp/@
3 ftp/@
3 ftp/@
3 ftp/@
3 ftp/@
6.
7.下一步是获取初始Kerberos 票证。

由于我们已经拥有名为“vipin”的Kerberos 用户,因此我们将使用此主体来获取初始
Kerberos 票证,方法是使用'/usr/krb5/bin/kinit'命令。

bash-2.05b# hostname
bash-2.05b# /usr/krb5/bin/kinit vipin
Password for vipin@:
bash-2.05b# /usr/krb5/bin/klist
Ticket cache: FILE:/var/krb5/security/creds/krb5cc_0
Default principal: vipin@
Valid starting Expires Service principal
02/16/08 04:47:46 02/17/08 04:47:45 krbtgt/@
bash-2.05b#
8.
9.一旦我们拥有有效的票证,我们就已准备好以kerborise 方式运行FTP。

bash-2.05b# hostname
bash-2.05b# ftp
Connected to .
220 FTP server (Version 4.2 Sat Jun 16 07:20:05 CDT 2007) ready.
334 Using authentication type GSSAPI; ADAT must follow
GSSAPI accepted as authentication type
GSSAPI authentication succeeded
Name (:root): vipin
232 GSSAPI user vipin@ is authorized as vipin
ftp>
ftp> bye
221 Goodbye.
bash-2.05b#
10.
11.若要交叉检查Kerberos 形式的FTP 会话是否成功,可以关闭FTP 会话并执行/usr/krb5/bin/klist以查看我们
FTP 服务主体的其他票证。

为r
AIX r 命令(如rlogin、rsh 和rcp)也支持Kerberos 身份验证。

我们来看一下这些命令如何使用Kerberos 票证来允许我们无缝地执行工作。

所有r 命令的Kerberos 服务主体将再次采用“host/<FQDN_service_hostname>”,与telnet 服务主体相同。

因此,如果您已经配置了Kerberos 形式的telnet 身份验证,那么您就不需要执行任何其他配置步骤。

您只需获取初始Kerberos 票证并发出r 命令。

例如:
显示“rlogin”中的Kerberos 身份验证的示例
bash-2.05b# hostname
bash-2.05b# /usr/krb5/bin/kinit vipin
Password for vipin@:
bash-2.05b# /usr/krb5/bin/klist
Ticket cache: FILE:/var/krb5/security/creds/krb5cc_0
Default principal: vipin@
Valid starting Expires Service principal
04/21/08 08:54:26 04/22/08 08:54:25 krbtgt/@
bash-2.05b# rlogin -l vipin
*******************************************************************************
* *
* *
* Welcome to AIX Version 5.3! *
* *
* Please see the README file in /usr/lpp/bos for information pertinent to *
* this release of the AIX Operating System. *
* *
* *
*******************************************************************************
Last unsuccessful login: Mon Apr 21 07:55:42 CDT 2008 on /dev/pts/1 from 9.182.185.101 Last login: Mon Apr 21 08:01:29 CDT 2008 on /dev/pts/1 from
$ hostname
$ exit
Connection closed.
bash-2.05b# /usr/krb5/bin/klist
Ticket cache: FILE:/var/krb5/security/creds/krb5cc_0
Default principal: vipin@
Valid starting Expires Service principal
04/21/08 08:54:26 04/22/08 08:54:25 krbtgt/@
04/21/08 08:54:49 04/22/08 08:54:25 host/@
bash-2.05b#
显示“rsh”中的Kerberos 身份验证的示例
我们也可以在“rsh”中执行与rlogin 方式相同的Kerberos 身份验证。

bash-2.05b# hostname
bash-2.05b# /usr/krb5/bin/kinit vipin
Password for vipin@:
bash-2.05b# /usr/krb5/bin/klist
Ticket cache: FILE:/var/krb5/security/creds/krb5cc_0
Default principal: vipin@
Valid starting Expires Service principal
04/21/08 08:58:08 04/22/08 08:58:39 krbtgt/@
bash-2.05b# rsh -l vipin
*******************************************************************************
* *
* Welcome to AIX Version 5.3! *
* *
* *
* Please see the README file in /usr/lpp/bos for information pertinent to *
* this release of the AIX Operating System. *
* *
* *
*******************************************************************************
Last unsuccessful login: Mon Apr 21 07:55:42 CDT 2008 on /dev/pts/1 from 9.182.185.101
Last login: Mon Apr 21 08:54:58 CDT 2008 on /dev/pts/1 from
$ hostname
$ exit
Connection closed.
bash-2.05b# /usr/krb5/bin/klist
Ticket cache: FILE:/var/krb5/security/creds/krb5cc_0
Default principal: vipin@
Valid starting Expires Service principal
04/21/08 08:58:08 04/22/08 08:58:39 krbtgt/@
04/21/08 08:58:33 04/22/08 08:58:39 host/@
显示“rcp”中的Kerberos 身份验证的示例
本例使用Kerberos 身份验证将文件从一台计算机() 复制到另一台远程计算机()。

1.下面是我们要传送的位于 上的文件:
2.
3.将此文件复制到 上的/home/vipin 目录中。

上的/home/vipin 中的当
前内容如下:
4.
5.在 上运行Kerberos 身份验证并获取初始Kerberos 票证。

bash-2.05b# hostname
bash-2.05b# /usr/krb5/bin/kinit vipin
Password for vipin@:
bash-2.05b# /usr/krb5/bin/klist
Ticket cache: FILE:/var/krb5/security/creds/krb5cc_0
Default principal: vipin@
Valid starting Expires Service principal
04/21/08 09:20:13 04/22/08 09:20:45 krbtgt/@
bash-2.05b#
6.
7.一旦我们拥有有效的票证,我们就可以运行“rcp”命令:
8.
9.请注意我们如何传递 的用户名。

我们还传递 上的目标目录。

请牢记目标目
录必须允许用户执行写操作,这一点非常重要。

10.在 上,我们还可以交叉检查文件复制操作,如下所示:
11.
12.请注意新复制文件的用户ACL。

相关文档
最新文档