注册本站  论坛  繁體中文

电脑技巧
手机 | MP3 | MP4 | 显卡 | 主板 | 显示器 | 光存储 | 笔记本 | 网络设备 | 移动存储 | 数码相机
键鼠 | CPU | 音箱 | GPS | 电视 | 服务器 | 投影机 | 机箱电源 | 品牌电脑 | 办公打印 |
| 网站首页 | Cisco | Windows | Linux | Java | Dotnet | Oracle | 网页设计 | 平面设计 | 安全 | 软件应用 | 电脑维修 | 办公维修 |
您现在的位置: 电脑技巧 >> Linux >> Unix >> Linux正文

Solaris 10实现安全Kerberos身份验证

文章来源:IBM DW中国 作者:Manish K… 更新时间:2006-12-6 【 】 【加入收藏
    设置 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

 


清单 4. 创建 krb5.keytab 文件

root@aixdce39: / >

$ hostname

aixdce39.in.ibm.com

root@aixdce39: / >

$ /usr/krb5/bin/kinit admin/admin

Password for admin/admin@AIX_KDC:

root@aixdce39: / >

$ /usr/krb5/bin/klist

Ticket cache:  FILE:/var/krb5/security/creds/krb5cc_0

Default principal:  admin/admin@AIX_KDC



Valid starting     Expires            Service principal

09/20/06 07:24:41  09/21/06 07:24:32  krbtgt/AIX_KDC@AIX_KDC

root@aixdce39: / >

$ /usr/krb5/sbin/kadmin

Authenticating as principal admin/admin@AIX_KDC with password.

Password for admin/admin@AIX_KDC:

kadmin:  add_principal -e des3-cbc-sha1:normal -randkey host/solsarpc2.in.ibm.com

WARNING: no policy specified for host/solsarpc2.in.ibm.com@AIX_KDC;

  defaulting to no policy. Note that policy may be overridden by

  ACL restrictions.

Principal "host/solsarpc2.in.ibm.com@AIX_KDC" 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

root@aixdce39: / >

$ /usr/krb5/bin/klist -k /etc/krb5/krb5.keytab

Keytab name:  FILE:/etc/krb5/krb5.keytab

KVNO Principal

---- ---------

   3 host/solsarpc2.in.ibm.com@AIX_KDC

root@aixdce39: / >

$ cd /etc/krb5

root@aixdce39: /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.

root@aixdce39: /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/<host name> 类型的 Kerberos 主体。在本示例中,您需要创建一个称为 root/solsarpc2.in.ibm.com 的 Kerberos 主体,如下所示。

 


清单 5. 在承载 KDC 的 AIX 计算机上使用 kadmin 工具创建 Kerberos 主体

$ hostname

aixdce39.in.ibm.com

root@aixdce39: / >

$ /usr/krb5/bin/kinit admin/admin

Password for admin/admin@AIX_KDC:

root@aixdce39: / >

$ /usr/krb5/sbin/kadmin

Authenticating as principal admin/admin@AIX_KDC with password.

Password for admin/admin@AIX_KDC:

kadmin:  add_principal sandeep

WARNING: no policy specified for sandeep@AIX_KDC;

  defaulting to no policy. Note that policy may be overridden by

  ACL restrictions.

Enter password for principal "sandeep@AIX_KDC":

Re-enter password for principal "sandeep@AIX_KDC":

Principal "sandeep@AIX_KDC" created.

kadmin:  add_principal root/solsarpc2.in.ibm.com

WARNING: no policy specified for root/solsarpc2.in.ibm.com@AIX_KDC;

  defaulting to no policy. Note that policy may be overridden by

  ACL restrictions.

Enter password for principal "root/solsarpc2.in.ibm.com@AIX_KDC":

Re-enter password for principal "root/solsarpc2.in.ibm.com@AIX_KDC":

Principal "root/solsarpc2.in.ibm.com@AIX_KDC" created.

kadmin:  q

root@aixdce39: / >

$

      


清单 6. 在 Solaris 计算机上创建 Solaris 10 用户
/> hostname

solsarpc2

/> who am i

root       pts/4        Sep 21 15:26    (RSANDEEP1.in.ibm.com)

/> useradd -m -d /export/home/sandeep sandeep

64 blocks

/> passwd sandeep

New Password:

Re-enter new Password:

passwd: password successfully changed for sandeep

      

    在 Solaris 10 上对 ssh/telnet/rlogin 进行 Kerberized 身份验证所需的插入式验证模块 (Pluggable Authentication Module) 的配置

    编辑 /etc/pam.conf 文件,以便使得 Telnet、SSH 和 rlogin 使用 Kerberos 作为其身份验证模块。如下面的清单 7 所示,在 /etc/pam.conf 文件中添加相应的条目,以便为 SSH、Telnet 和 rlogin 命令启用 Kerberos 身份验证。我们建议管理员应该充分理解 Solaris 插入式验证模块 (PAM) 和 /etc/pam.conf 文件的使用(可以参考 Solaris 10 中关于 pam.conf 和 sshd 的 man 页面),然后将其映射为身份验证需求,并在 /etc/pam.conf 文件中修改相应的条目。


清单 7. 在 Solaris 计算机上设置 pam.conf 文件
sshd-kbdint   auth sufficient pam_krb5.so.1

telnet        auth sufficient pam_krb5.so.1

rlogin        auth sufficient pam_krb5.so.1

	       

    在完成了设置工作之后,您就可以将 Kerberized 服务用于不同的通信服务。要对设置进行测试,可以在提供了 telnet/rlogin/ssh 的任何计算机上使用这些工具登录到 Solaris 10 计算机。成功连接之后,将会提示您输入 Kerberos 登录名和命名。您需要输入 Kerberos 主体及其关联的 Kerberos 密码。

    清单 8、9 和 10 显示了使用 Kerberos 主体 sandeep 从 AIX 计算机使用 SSH、Telnet 和 rlogin 命令登录到 Solaris 计算机的测试结果。您还可以使用 Windows 本机的 Telnet 应用程序和 PuTTY for Windows(一种免费的 telnet/ssh/rlogin 客户端)从 Windows® XP 计算机登录到 Solaris 10 计算机,以便对 Kerberized 身份验证进行测试。

    使用 AIX Version 5.3 作为 KDC 在 Solaris 10 上实现 Kerberized SSH

     清单 8 显示了 aixdce1.in.ibm.com 上所执行的命令序列,该命令序列使用 Kerberos 作为身份验证机制(将 aixdce39.in.ibm.com (AIX Version 5.3) 服务器作为 KDC),建立了到 solsarpc2.in.ibm.com 的 SSH 连接。


清单 8. 使用 Kerberos 身份验证的成功的 SSH 的示例输出

				

$hostname

aixdce1.in.ibm.com

$whoami

manish

$ssh sandeep@solsarpc2.in.ibm.com

Enter Kerberos password for sandeep:

Last login: Wed Sep 20 12:58:40 2006 from aixdce1.in.ibm.com

Welcome to the Sun Java Enterprise System 2005Q1 (Solsarpc2.in.ibm.com) !

$ hostname

solsarpc2

$ uname -a

SunOS solsarpc2 5.10 Generic_118833-17 sun4u sparc SUNW,Sun-Fire-V240

$ who am i

sandeep    pts/3        Sep 20 13:00    (aixdce1.in.ibm.com)

$ pwd

/export/home/sandeep

$ exit

Connection to solsarpc2.in.ibm.com closed.

$hostname

aixdce1.in.ibm.com

$

      

    如果在执行上述设置后,在使用 Kerberos 进行 SSH 连接时存在任何问题,可以在 /etc/hosts 中添加该计算机的完全限定的域名,然后进行重试。

    使用 AIX Version 5.3 作为 KDC 在 Solaris 10 上实现 Kerberized Telnet

    清单 9 显示了 aixdce1.in.ibm.com 上所执行的命令序列,该命令序列使用 Kerberos 作为身份验证机制(将 aixdce39.in.ibm.com (AIX Version 5.3) 服务器作为 KDC),建立了到 solsarpc2.in.ibm.com 的 Telnet 访问。

 


清单 9. 使用 Kerberos 身份验证的成功的 Telnet 的示例输出

				

[root@aixdce1 / ] #hostname

aixdce1.in.ibm.com

[root@aixdce1 / ] #whoami

root

[root@aixdce1] #telnet solsarpc2.in.ibm.com

Trying...

Connected to 9.182.192.168.

Escape character is '^]'.

login: sandeep

Enter Kerberos password for sandeep:

Last login: Tue Sep 19 15:20:06 from RSANDEEP1.in.ibm.com

Welcome to the Sun Java Enterprise System 2005Q1 (Solsarpc2.in.ibm.com) !

$ uname -a

SunOS solsarpc2 5.10 Generic_118833-17 sun4u sparc SUNW,Sun-Fire-V240

$ who am i

sandeep    pts/3        Sep 19 15:24    (aixdce1.in.ibm.com)

$ pwd

/export/home/sandeep

$ exit

Connection closed.

[root@aixdce1] #hostname

aixdce1.in.ibm.com

[root@aixdce1] #

      


    在缺省情况下,已启用了 Telnet 服务器并运行于 Solaris 10。如果没有,请参考 Solaris 10 中关于 telnetd 的 man 页面。

     使用 AIX Version 5.3 作为 KDC 在 Solaris 10 上实现 Kerberized rlogin

     清单 10 显示了 aixdce1.in.ibm.com 上所执行的命令序列,该命令序列使用 Kerberos 作为身份验证机制(将 aixdce39.in.ibm.com (AIX Version 5.3) 服务器作为 KDC),建立了到 solsarpc2.in.ibm.com 的远程登录访问。


清单 10. 使用 Kerberos 身份验证的成功的 rlogin 的示例输出

				

[root@aixdce1 / ] #hostname

aixdce1.in.ibm.com

[root@aixdce1 / ] #whoami

root

[root@aixdce1 / ] #rlogin solsarpc2.in.ibm.com -l sandeep

Enter Kerberos password for sandeep:

Last login: Tue Sep 19 15:24:14 from aixdce39.in.ibm.com

Welcome to the Sun Java Enterprise System 2005Q1 (Solsarpc2.in.ibm.com) !

$ hostname

solsarpc2

$ uname -a

SunOS solsarpc2 5.10 Generic_118833-17 sun4u sparc SUNW,Sun-Fire-V240

$ who am i

sandeep    pts/3        Sep 19 15:31    (aixdce1.in.ibm.com)

$ pwd

/export/home/sandeep

$ exit

Connection closed.

[root@aixdce1 / ]hostname

aixdce1.in.ibm.com

      

    在缺省情况下,已启用了 Telnet 服务器并运行于 Solaris 10。如果没有,请参考 Solaris 10 中关于 rlogind 的 man 页面。

总结

    本文向管理员介绍了如何在 AIX Version 5.3 上配置 KDC,以及使用它来设置 Kerberized 环境,以便与 Solaris 10 协同工作。本文还说明了如何使用它为不同类型的通信进行身份验证。该内容可以帮助管理员使用单个 AIX KDC 实现不同操作系统的身份验证。要了解如何为 Windows 配置 AIX KDC,请参见参考资料部分。

原文链接:http://www-128.ibm.com/developerworks/cn/aix/library/au-kerberoskdc/index.html

  • 上一篇Linux:

  • 下一篇Linux:
  • 最 新 热 门
     VMware下Linux与真实主机共享上网
     Linux系统安全隐患及加强安全管理方法
     各类Unix和Linux密码丢失解决方法
     配置Linux操作系统的环境变量
     在Linux系统下刷新主板BIOS的好方法
     删除文件提示:Operation not permitted
     Linux系统下硬盘挂载详细说明
     Linux文本模式下如何发送带附件的Email
     在Linux自动生成一个保险密码的方法
     Linux商业电影动画制作软件列表
    最 新 推 荐
     在Fedora Core系统中共享Windows打印机
     不同的类UNIX操作系统密码破解方法介绍
     UNIX的分支 服务器上的FreeBSD操作系统
     UNIX操作系统的加锁解锁:等待事件及唤醒
     Solaris TELNET ftp时间超长的解决方法
     SCO UNIX到Linux操作系统的程序移植问题
     使用Unix命令行模式高效地进行文本编辑
     Solaris第一次亲密接触
     Unix学习方法-高手之路
     FreeBSD下3D功能的实现
    相 关 文 章

    Linux下的定时器:alarm()与setitimer()
    使用Smartmontools工具来检测硬盘的状态
    Linux系统下用Sopcast收看网络电视
    Slackware系统下缺省网络配置安全问题
    Linux系统下安装Flash浏览器插件的方法
    Linux系统下Matlab的安装设置
    Linux系统下ISO镜像文件的制作与刻录
    Linux下使用h3c Aolynk WuB320G无线网卡
    不能通过mysql.sock连接MySQL问题的方法
    lastcomm:显示用户在主机执行哪些命令

    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告

     

    Copyright 2006-2008 pcjx.com All Rights Reserved
    电脑技巧 版权所有 粤ICP备06059145号 地图
    本网站所有内容未经许可不得转载或做其他使用