在 AIX V6 上的 telnet FTP 和 r 命令中配置和启用 Kerberos 身份验证.docx
《在 AIX V6 上的 telnet FTP 和 r 命令中配置和启用 Kerberos 身份验证.docx》由会员分享,可在线阅读,更多相关《在 AIX V6 上的 telnet FTP 和 r 命令中配置和启用 Kerberos 身份验证.docx(18页珍藏版)》请在冰点文库上搜索。
在AIXV6上的telnetFTP和r命令中配置和启用Kerberos身份验证
AIX中的网络应用程序(例如,telnet、FTP和rlogin、rsh、rcp等r命令)本身支持Kerberos身份验证。
管理员需要完成的所有工作包括安装和配置Kerberos,以及配置AIX系统以使用该Kerberos设置进行身份验证。
Kerberos身份验证表示一旦您拥有有效的Kerberos票证(通过手动/usr/krb5/bin/kinit或集成登录获得),网络应用程序可以使用该票证作为您的身份验证令牌,并且一旦成功通过身份验证,您不需要输入密码就可以获得访问权限。
基本配置
为了启用Kerberos身份验证,需要在Kerberos前端以及AIX系统上设置一些通用基本配置。
让我们看一下这些配置。
Kerberos配置
∙让一台服务器计算机作为Kerberos主密钥分发中心(KeyDistributionCenter,KDC)这台计算机将负责所有与Kerberos相关的任务,例如生成票证、对用户进行身份验证,等等。
管理员需要在这台计算机上安装和配置IBMNetworkattachedstorage(NAS)(优选使用1.4.0.7或更高版本)以作为主KDC。
∙网络中的所有其他计算机(您将在这些计算机上使用telnet、FTP或r命令进行登录)安装和配置IBMNAS,作为主KDC的客户端。
∙telnet/FTP守护进程将在这些计算机上运行,您将从客户端连接到这台计算机上。
在这些计算机上也安装和配置IBMNAS,作为主KDC的客户端。
有关IBMNAS服务器和客户端安装和配置的完整说明,请参考AIXVersion5.3ExpansionPackCD中附带的IBMNASVersion1.4AdministrationGuide。
对于本文中的示例,我参考了示例Kerberos环境。
图1显示了该环境和逻辑信息流。
图1:
显示Kerberizedtelnet操作的示例
本文通篇使用了下列定义:
Kerberos管理员名称:
admin/admin
Kerberos领域名称:
ISL.IN.IBM.COM
IBMNAS1.4.0.7主KDC:
主机名:
端口:
88
操作系统:
AIX5.3
IBMNAS1.4.0.7管理服务器:
主机名:
端口:
749
操作系统:
AIX5.3
IBMNAS1.4.0.7客户端:
主机名:
操作系统:
AIX6.1
运行telnet服务的计算机:
主机名:
端口:
23
操作系统:
AIX5.3
运行FTP服务的计算机:
主机名:
端口:
21
操作系统:
AIX5.3
检查和同步所有计算机之间的时间差;误差不应超过5分钟。
若要检查Kerberos配置的正确性,请使用'/usr/krb5/bin/kinitadmin/admin',后跟'/usr/krb5/bin/klist'并查看是否能够获得Kerberos票证,然后使用'/usr/krb5/sbin/kadmin-padmin/admin'检查所有事项(时间差以及更多项目)是否正常。
AIX身份验证配置
为了确保所有网络应用程序在进行基于密码的标准身份验证之前尝试Kerberos身份验证,管理员需要更改所有AIX计算机上的身份验证方法首选项。
'/usr/bin/lsauthent'命令显示当前身份验证模式首选项。
bash-2.05b#/usr/bin/lsauthent
StandardAix
若要更改身份验证模式首选项,请使用'/usr/bin/chauthent'命令。
bash-2.05b#/usr/bin/chauthent-k5-std
现在,'/usr/bin/lsauthent'应显示类似下面的内容:
bash-2.05b#/usr/bin/lsauthent
Kerberos5
StandardAix
请务必保留基于密码的标准身份验证方法(上面的–std)作为后备身份验证方法,否则如果无法启用正确的Kerberos登录,您将无法登录到系统。
为telnet服务配置Kerberos
在Kerberos环境中,每个Kerberos服务是由服务主体表示的。
此服务主体只是普通的Kerberos主体,其持有用于解密由Kerberos服务器发送的响应的密钥。
对于telnet服务也是如此,您将需要在telnet服务器上创建telnet服务主体并执行一些配置步骤。
请执行下列分步步骤为telnet服务配置Kerberos。
如果您已经使用AIX'mkkrb5clnt'命令配置了Kerberos客户端,那么您不需要执行步骤1和2。
'mkkrb5clnt'命令创建host服务主体并将其存储在/var/krb5/security/keytab/.keytab文件中。
将此文件链接到缺省keytab文件/etc/krb5/krb5.keytab。
1.在运行telnet服务的计算机()上,创建名为“host/”的telnet服务主体。
对于本例,它将是“host/”。
使用完全限定域名(FullyQualifiedDomainName,FQDN)对于此设置的正常工作非常关键。
bash-2.05b#hostname
bash-2.05b#kadmin-padmin/admin
Authenticatingasprincipaladmin/adminwithpassword.
Passwordforadmin/admin@ISL.IN.IBM.COM:
kadmin:
addprinc-randkeyhost/
WARNING:
nopolicyspecifiedforhost/@ISL.IN.IBM.COM;
defaultingtonopolicy.Notethatpolicymaybeoverriddenby
ACLrestrictions.
Principal"host/@ISL.IN.IBM.COM"created.
2.将telnet服务主体添加到keytab文件(/etc/krb5/krb5.keytab)中。
kadmin:
ktaddhost/
Entryforprincipalhost/withkvno3,encryptiontypeTripleDES
cbc
modewithHMAC/sha1addedtokeytabWRFILE:
/etc/krb5/krb5.keytab.
Entryforprincipalhost/withkvno3,encryptiontypeArcFour
with
HMAC/md5addedtokeytabWRFILE:
/etc/krb5/krb5.keytab.
Entryforprincipalhost/withkvno3,encryptiontypeAES-256
CTSmode
with96-bitSHA-1HMACaddedtokeytabWRFILE:
/etc/krb5/krb5.keytab.
Entryforprincipalhost/withkvno3,encryptiontypeDEScbc
mode
withRSA-MD5addedtokeytabWRFILE:
/etc/krb5/krb5.keytab.
Entryforprincipalhost/withkvno3,encryptiontypeAES-128
CTSmode
with96-bitSHA-1HMACaddedtokeytabWRFILE:
/etc/krb5/krb5.keytab.
kadmin:
q
bash-2.05b#
如果由于某种原因无法运行“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
Keytabname:
FILE:
/etc/krb5/krb5.keytab
KVNOPrincipal
-------------
3host/@ISL.IN.IBM.COM
3host/@ISL.IN.IBM.COM
3host/@ISL.IN.IBM.COM
3host/@ISL.IN.IBM.COM
3host/@ISL.IN.IBM.COM
bash-2.05b#
4.
5.在运行telnet服务的计算机()上,创建新用户“vipin”,您将使用该用户远程登录到fsaix005。
更改该用户的密码。
bash-2.05b#hostname
bash-2.05b#mkuser-Rfilesvipin
bash-2.05b#passwdvipin
Changingpasswordfor"vipin"
vipin'sNewpassword:
Enterthenewpasswordagain:
bash-2.05b#
6.
7.创建具有相同名称“vipin”的Kerberos主体。
可以从Kerberos领域中的任何计算机(主KDC或客户机)上完成此操作。
bash-2.05b#hostname
bash-2.05b#kadmin-padmin/admin
Authenticatingasprincipaladmin/adminwithpassword.
Passwordforadmin/admin@ISL.IN.IBM.COM:
kadmin:
ank-pwvipinvipin
WARNING:
nopolicyspecifiedforvipin@ISL.IN.IBM.COM;
defaultingtonopolicy.Notethatpolicymaybeoverriddenby
ACLrestrictions.
Principal"vipin@ISL.IN.IBM.COM"created.
kadmin:
q
bash-2.05b#
8.
9.转到配置了Kerberos客户端的任何其他客户端计算机()上。
运行'/usr/krb5/bin/kinitvipin'以获取初始Kerberos票证,如下所示:
bash-2.05b#hostname
bash-2.05b#/usr/krb5/bin/kinitvipin
Passwordforvipin@ISL.IN.IBM.COM:
bash-2.05b#/usr/krb5/bin/klist
Ticketcache:
FILE:
/var/krb5/security/creds/krb5cc_0
Defaultprincipal:
vipin@ISL.IN.IBM.COM
ValidstartingExpiresServiceprincipal
02/16/0804:
31:
4102/17/0804:
31:
39krbtgt/ISL.IN.IBM.COM@ISL.IN.IBM.COM
bash-2.05b#
10.
11.尝试远程登录到telnetd计算机()。
如果一切顺利,系统将要求您输入密码,您将以用户“vipin”的身份登录。
下面是完成这项工作的命令:
bash-2.05b#hostname
bash-2.05b#telnet-lvipin
Trying...
Connectedto.
Escapecharacteris'^]'.
[KerberosV5acceptsyouas``vipin@ISL.IN.IBM.COM'']
telnet()
*******************************************************************************
**
**
*WelcometoAIXVersion5.3!
*
**
**
*PleaseseetheREADMEfilein/usr/lpp/bosforinformationpertinentto*
*thisreleaseoftheAIXOperatingSystem.*
**
**
*******************************************************************************
Lastunsuccessfullogin:
WedFeb1311:
50:
40CST2008on/dev/pts/2from
Lastlogin:
FriFeb1512:
49:
06CST2008on/dev/pts/3from
$hostname
$id
uid=237(vipin)gid=1(staff)
$exit
Connectionclosed
bash-2.05b#hostname
bash-2.05b#
12.
13.这就是以Kerberos方式运行telnet所需完成的全部工作!
请注意在发出telnet命令时的附加选项(位于上面突出显示的文本中)。
14.如果您希望检查是否确实获得telnet服务主体的票证,请在客户端上运行/usr/krb5/bin/klist并查看其输出。
您应该看到与下面所示类似的内容:
bash-2.05b#hostname
bash-2.05b#/usr/krb5/bin/klist
Ticketcache:
FILE:
/var/krb5/security/creds/krb5cc_0
Defaultprincipal:
vipin@ISL.IN.IBM.COM
ValidstartingExpiresServiceprincipal
02/16/0804:
31:
4102/17/0804:
31:
39krbtgt/ISL.IN.IBM.COM@ISL.IN.IBM.COM
02/16/0804:
32:
5602/17/0804:
31:
39host/@ISL.IN.IBM.COM
bash-2.05b#
为FTP服务配置Kerberos
与telnet服务类似,您也可以配置FTP服务以接受和使用Kerberos身份验证。
使用下列分步过程来实现这一目的:
1.创建FTP服务主体。
这一次FTP服务主体的名称应为“ftp/”。
因此对于本例,它类似于“ftp/”。
创建主体:
bash-2.05b#hostname
bash-2.05b#kadmin-padmin/admin
Authenticatingasprincipaladmin/adminwithpassword.
Passwordforadmin/admin@ISL.IN.IBM.COM:
kadmin:
ank-randkeyftp/
WARNING:
nopolicyspecifiedforftp/@ISL.IN.IBM.COM;
defaultingtonopolicy.Notethatpolicymaybeoverriddenby
ACLrestrictions.
Principal"ftp/@ISL.IN.IBM.COM"created.
2.
3.现在,将此主体条目添加到keytab文件(/etc/krb5/krb5.keytab)中。
kadmin:
ktaddftp/
Entryforprincipalftp/withkvno3,encryptiontypeTripleDES
cbc
modewithHMAC/sha1addedtokeytabWRFILE:
/etc/krb5/krb5.keytab.
Entryforprincipalftp/withkvno3,encryptiontypeArcFour
with
HMAC/md5addedtokeytabWRFILE:
/etc/krb5/krb5.keytab.
Entryforprincipalftp/withkvno3,encryptiontypeAES-256CTS
mode
with96-bitSHA-1HMACaddedtokeytabWRFILE:
/etc/krb5/krb5.keytab.
Entryforprincipalftp/withkvno3,encryptiontypeDES
cbcmodewith
RSA-MD5addedtokeytabWRFILE:
/etc/krb5/krb5.keytab.
Entryforprincipalftp/withkvno3,encryptiontypeAES-128CTS
mode
with96-bitSHA-1HMACaddedtokeytabWRFILE:
/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
Keytabname:
FILE:
/etc/krb5/krb5.keytab
KVNOPrincipal
-------------
3host/@ISL.IN.IBM.COM
3host/@ISL.IN.IBM.COM
3host/@ISL.IN.IBM.COM
3host/@ISL.IN.IBM.COM
3host/@ISL.IN.IBM.COM
3ftp/@ISL.IN.IBM.COM
3ftp/@ISL.IN.IBM.COM
3ftp/@ISL.IN.IBM.COM
3ftp/@ISL.IN.IBM.COM
3ftp/@ISL.IN.IBM.COM
bash-2.05b#
6.
7.下一步是获取初始Kerberos票证。
由于我们已经拥有名为“vipin”的Kerberos用户,因此我们将使用此主体来获取初始Kerberos票证,方法是使用'/usr/krb5/bin/kinit'命令。
bash-2.05b#hostname
bash-2.05b#/usr/krb5/bin/kinitvipin
Passwordforvipin@ISL.IN.IBM.COM:
bash-2.05b#/usr/krb5/bin/