Chinaunix首页 | 论坛 | 博客
  • 博客访问: 90344861
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-27 15:38:24

作者: 佚名 出处:IBM DW中国 
 
阅读提示:随着安全需求的日益增长,现在的企业需要易于维护的安全机制,然而这些安全机制必须为其提供一个安全的环境。

设置 Kerberized 环境以便与 Solaris(TM) 10 协同工作,了解如何在 AIX(R) Version 5.3 中配置密钥分发中心 (KDC)。您还将浏览在 Solaris 10 中配置 Kerberos 客户端的一系列步骤,以使用 AIX Version 5.3 作为 KDC 对 Telnet、远程 Shell (rsh) 和安全 Shell (SSH) 的用户进行身份验证。在不同的平台之间使用单个 AIX IBM Network Authentication Service (NAS) KDC 进行身份验证非常有用,尤其是在混合环境中。

引言

随着安全需求的日益增长,现在的企业需要易于维护的安全机制,然而这些安全机制必须为其提供一个安全的环境。安全机制需要提供强大的身份验证特性以及保密性和其他的特性,例如单点登录 (SSO)。Kerberos 正是这样的一种身份验证协议,它通过在称为密钥分发中心 (KDC) 的中央存储库中存储相关信息的数据库,从而提供集中式的身份验证。

现在,所有的供应商都具有其自己的 Kerberos 实现。在混合环境中,这些 Kerberos 实现之间必须能够进行 互操作。Solaris™ 在其 Sun Enterprise Authentication Mechanism™ (SEAM) 软件中提供了 Kerberos Version 5 协议的实现,而 IBM 的 Kerberos 实现是 IBM Network Authentication Service (NAS)。正如 Sun Solaris 10 的文档(请参见参考资料部分)中说明的,Solaris 10 中包含了 SEAM 产品的所有组成部分,所以不再需要使用 SEAM。

本文将向您介绍在 Solaris 10 中配置 Kerberos 客户端所需的步骤,以便利用 AIX® Version 5.3 作为 KDC,对使用常用通信服务的用户进行身份验证,如 Telnet、远程 Shell (rsh) 和安全 Shell (SSH)。在混合环境中,可以使用单个 AIX IBM NAS KDC 进行不同平台的身份验证,管理员将可以从中受益。

使用 AIX Version 5.3 在 Solaris 10 中实现 Kerberized 身份验证

本部分介绍了将 AIX Version 5.3 配置作为 KDC 以及在 Solaris 10 中配置 Kerberos 客户端所需的步骤。下面是在示例中使用到的一些定义:

Kerberos Realm Name / Domain Name                  AIX_KDC
IBM NAS1.4 KDC                                     hostname: aixdce39.in.ibm.com,  OS:
AIX Version 5.3
SSH/telnet/rlogin Server                           hostname: solsarpc2.in.ibm.com, OS:
Solaris 10
Solaris 10 Kerberos Client                         hostname: solsarpc2.in.ibm.com, OS:
Solaris 10
SSH/telnet/rlogin client                           hostname: aixdce1.in.ibm.com,   OS:
AIX Version 5.3
Windows test machine(with rsh/SSH/telnet client)   hostname: winsarpc2.in.ibm.com, OS:
Windows XP


下面的图 1 显示了示例的设置。

图 1. 示例设置

在 AIX V5.3 中配置 IBM NAS KDC 

要执行清单 1 中的命令,请安装 IBM NAS krb5.server.rte 文件集。AIX Version 5.3 Expansion Pack CD 中提供了 IBM NAS 文件集。


清单 1. 安装 IBM NAS 文件集
[root@aixdce39 / ]# hostname
aixdce39.in.ibm.com

[root@aixdce39 / ]# installp -aqXYgd  .  krb5.server
[root@aixdce39 / ]# echo 'export PATH=/usr/krb5/sbin:/usr/krb5/bin:$PATH' > ~/.profile

执行清单 2 中的命令,以便在 AIX 计算机中对 IBM NAS 服务器的遗留配置进行配置。对于其他类型的 IBM NAS 服务器配置,请参阅 AIX Version 5.3 Expansion Pack CD 中附带的 IBM NAS1.4 Administration Guide。

清单 2. 配置遗留配置

[root@aixdce39 / ]# hostname
aixdce39.in.ibm.com

[root@aixdce39 / ]# /usr/krb5/sbin/config.krb5 -S -d in.ibm.com -r
AIX_KDC

Initializing configuration...
Creating /etc/krb5/krb5_cfg_type...
Creating /etc/krb5/krb5.conf...
Creating /var/krb5/krb5kdc/kdc.conf...
Creating database files...
Initializing database '/var/krb5/krb5kdc/principal' for realm 'AIX_KDC'
master key name
You are prompted for the database Master Password.
It is important that you DO NOT FORGET this password.
Enter database Master Password:
Re-enter database Master Password to verify:
WARNING: no policy specified for ;
defaulting to no policy. Note that policy may be overridden by
ACL restrictions.
Enter password for principal "":
Re-enter password for principal "":
Principal "" created.
Creating keytable...
Creating /var/krb5/krb5kdc/kadm5.acl...
Starting krb5kdc...
krb5kdc was started successfully.
Starting kadmind...
kadmind was started successfully.
The command completed successfully.       

配置 Solaris 10 Kerberos 客户端

在 Solaris 10 中,该操作系统缺省情鱿绿峁┝?Kerberos 客户端,这是与以前版本的不同之处,以前的版本中附带了一个称为 SEAM 的单独的组件。要在 Solaris 10 中配置 Kerberos 客户端,至少需要创建一个合适的 /etc/krb5/krb5.conf 文件。清单 3 显示了 krb5.conf 文件的内容,我们将在 Solaris 10 计算机的 Kerberos 客户端使用这个文件。

我们建议管理员根据其需要创建 /etc/krb5/krb5.conf 文件。有关 Solaris 10 的 krb5.conf 的详细信息,请参见参考资料部分。

清单 3. Solaris 计算机中 krb5.conf 文件的内容

/> hostname
solsarpc2
/> cat /etc/krb5/krb5.conf
[libdefaults]
default_realm = AIX_KDC
default_keytab_name = FILE:/etc/krb5/krb5.keytab
default_tkt_enctypes = des3-cbc-sha1
default_tgs_enctypes = des3-cbc-sha1

[realms]
AIX_KDC = {
kdc = aixdce39.in.ibm.com:88
admin_server = aixdce39.in.ibm.com:749
default_domain = in.ibm.com
}


[domain_realm]
.in.ibm.com = AIX_KDC
aixdce39.in.ibm.com = AIX_KDC

[logging]
kdc = FILE:/var/krb5/log/krb5kdc.log
admin_server = FILE:/var/krb5/log/kadmin.log
default = FILE:/var/krb5/log/krb5lib.log     

要为 Solaris 10 计算机配置 Kerberized 身份验证,您需要将用于这台 Solaris 计算机的 Kerberos 服务主体的类型设置为 host/(在本示例中为 host/solsarpc2.in.ibm.com),并将其放入 Solaris 计算机上的 keytab 文件中。请注意,keytab 文件的缺省位置是 /etc/krb5/krb5.keytab。

在 keytab 文件中创建服务主体条目的方法有很多种。清单 4 显示了其中一种方法,创建 Kerberos 服务主体,并使用承载 KDC 的 AIX 计算机中的 IBM NAS 提供的 kadmin 工具将其条目添加到 keytab 文件中。然后使用 FTP 将 keytab 文件从 AIX 计算机传输到合适的 Solaris 计算机。Kerberos 实用工具,如 ktutil,在需要的情况下也可以用来完成相同的任务。

清单 4. 创建 krb5.keytab 文件

: / >
$ hostname
aixdce39.in.ibm.com
: / >
$ /usr/krb5/bin/kinit admin/admin
Password for :
: / >
$ /usr/krb5/bin/klist
Ticket cache:  FILE:/var/krb5/security/creds/krb5cc_0
Default principal: 

Valid starting     Expires            Service principal
09/20/06 07:24:41  09/21/06 07:24:32 
: / >
$ /usr/krb5/sbin/kadmin
Authenticating as principal with password.
Password for :
kadmin:  add_principal -e des3-cbc-sha1:normal -randkey host/solsarpc2.in.ibm.com
WARNING: no policy specified for ;
defaulting to no policy. Note that policy may be overridden by
ACL restrictions.
Principal "" created.
kadmin:  ktadd -e des3-cbc-sha1:normal host/solsarpc2.in.ibm.com
Entry for principal host/solsarpc2.in.ibm.com with kvno 3, encryption type Triple DES
cbc mode
with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab.
kadmin:
kadmin:  q
: / >
$ /usr/krb5/bin/klist -k /etc/krb5/krb5.keytab
Keytab name:  FILE:/etc/krb5/krb5.keytab
KVNO Principal
---- ---------
3
: / >
$ cd /etc/krb5
: /etc/krb5 >
$ ftp solsarpc2.in.ibm.com
Connected to solsarpc2.in.ibm.com.
220 solsarpc2 FTP server ready.
Name (solsarpc2.in.ibm.com:root): root
331 Password required for root.
Password:
230 User root logged in.
ftp> cd /etc/krb5
250 CWD command successful.
ftp> binary
200 Type set to I.
ftp> mput krb5.keytab
mput krb5.keytab? y
200 PORT command successful.
150 Opening BINARY mode data connection for krb5.keytab.
226 Transfer complete.
306 bytes sent in 0.1978 seconds (1.511 Kbytes/s)
local: krb5.keytab remote: krb5.keytab
ftp> bye
221-You have transferred 306 bytes in 1 files.
221-Total traffic for this session was 842 bytes in 1 transfers.
221-Thank you for using the FTP service on solsarpc2.
221 Goodbye.
: /etc/krb5 >

我们选择创建 Triple DES 加密类型的 host/solsarpc2.in.ibm.com 服务主体,因为 AIX 和 Solaris Kerberos 都支持这种类型。如果希望选择其他的加密类型,您必须确保 IBM NAS 和 SUN Kerberos 能够支持这些加密类型。

创建 Kerberos 主体和相应的 Solaris 用户

下一步,让我们创建用于登录到 Solaris 10 计算机的 Kerberos 主体。您可以使用 kadmin 工具创建这个 Kerberos 主体,IBM NAS for AIX 中附带了 kadmin 工具。有关 kadmin 工具的详细信息,请参阅 AIX Expansion CD 中的 IBM NAS Administration Guide。

在我们的设置中,我们创建了一个称为 sandeep 的 Kerberos 主体,如清单 5 所示,以及相应的 Solaris 10 用户,如清单 6 所示。为了通过上面的设置,使得 Solaris 10 计算机的 root 用户能够使用 telnet/ssh/rlogin 进行登录,您需要创建一个 root/ 类型的 Kerberos 主体。在本示例中,您需要创建一个称为 root/solsarpc2.in.ibm.com 的 Kerberos 主体,如下所示。

阅读(1906) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~