IBM Network Authentication Service KDC 配置,第 3 部分: 使用 LDAP 在 AIX 上配置一个从 KDC
2009-07-13 08:34:19 来源:WEB开发网简介
这个 共分三部分的系列教程 的前两个部分围绕存储身份验证数据的遗留方法,针对性地介绍了 IBM Network Authentication Service (IBM NAS) 从 KDC 的配置。最近,轻量型目录访问协议(Lightweight Directory Access Protocol,LDAP)目录被广泛用于存储访问频繁但不常进行修改的数据。Kerberos 身份验证数据就非常适合存储到 LDAP 中。
将 Kerberos 身份验证数据存储到 LDAP 中非常方便,并且也有助于遗留环境的迁移,比如将基于 IBM Distributed Computing Environment(IBM DCE 或 Distributed File System)的应用程序迁移到更新的受支持环境中,比如基于 IBM NAS (AIX NFS V4 - Network File System Version 4) 的应用程序。为了迎合这些需求,IBM NAS 提供了一种 LDAP 插件,该插件可以方便地将用户身份验证信息存储到 LDAP 数据库中。
本文旨在帮助面临以下情形的管理员:现有 IBM NAS 域在使用 LDAP 作为后端数据库的情况下运行,并计划扩展管理操作以对身份验证请求实现负载平衡。本文详细解释了在 IBM NAS 从 KDC 中使用 LDAP 目录的配置步骤,以及如何配置客户机以使用从 KDC 来帮助减轻负载。
为何使用 LDAP 目录?
LDAP 目录是应用最广泛的企业解决方案,用于存储被频繁引用但很少修改的静态数据。Kerberos 数据包含这类静态数据,因此使用 LDAP 目录保存 Kerberos 数据非常方便和实用。
理由:
标准协议:
LDAP 是一种行业标准,能够存储任何类型的数据。它附带了多种标准模式,得到了各种应用程序的广泛支持。
控制对敏感数据的访问:
LDAP 可以方便地存储敏感数据并可以更精确地控制这些数据,包括控制数据访问的方式和访问者。因此,LDAP 是存储网络身份验证数据的最佳选择。
优点:
使用集中式服务器存储数据。
基于事务的系统:
LDAP 是一种基于事务的系统;任何成功的操作都会导致生成即时的 “活动” 数据。
配置从 KDC 时,不需要将数据从主 KDC 传播到从 KDC。
自动索引的数据:
在使用 IBM 目录服务器作为 LDAP 目录为 IBM NAS 存储数据时,IBM NAS 将自动对数据执行索引,确保可以更快地检索需要的数据记录。
迁移遗留系统(比如 DCE)并将身份验证数据传递给 IBM NAS。这种典型的场景常常用于客户希望从 DCE/DFS 迁移到 NFS V4 时。要了解有关 DCE 迁移的更多信息,请参考 DCE Replacement Strategies Redbook(参见 参考资料)。
为了利用以上这些优点,IBM NAS V1.4 提供了对某种 LDAP 目录插件的支持。通过使用这种插件,可以在以下几种场景使用 LDAP 配置 IBM NAS:
在 IBM NAS 服务器目录中使用 LDAP:
这一内容在文章 “IBM Network Authentication Service KDC and administration servers discovery using LDAP for AIX”(参见 参考资料)中做了阐述。
使用 LDAP 目录存储 Kerberos 数据
可以配置 IBM NAS 主 KDC 和从 KDC,以使用 LDAP 目录。要获得使用 LDAP 作为后端数据库对 IBM NAS 主 KDC 进行配置的详细信息,请参考 IBM NAS 产品附带的 IBM Network Authentication Service Version 1.4 管理员和用户指南。由于本系列主要针对 IBM NAS 从 KDC 配置,本文将详细介绍使用 LDAP 作为后端数据库时如何配置 IBM NAS 从 KDC。
示例设置
Kerberos Administrator Name:
admin/admin
Kerberos Realm Name:
ISL.IN.IBM.COM
IBM NAS 1.4.0.7 Master KDC:
Hostname:fsaix12.in.ibm.com Port:88
OS:AIX 5.3
IBM NAS 1.4.0.7 Administration Server:
Hostname:fsaix12.in.ibm.com Port:749
OS:AIX 5.3
IBM NAS 1.4.0.7 Slave KDC:
IBM Tivoli® Directory Client v6.1:
Hostname:huntcup.in.ibm.com Port:754
OS:AIX 5.2
IBM Tivoli Directory Server v6.1:
Hostname:land.in.ibm.com Port:389
OS:AIX 5.3
IBM NAS 1.4.0.7 client:
Hostname:aixdce3.in.ibm.com
OS:AIX 5.3
配置从 KDC 以使用 LDAP 目录
使用 LDAP 目录配置从 KDC 并没有看上去那样复杂。只需正确理解将要使用的命令行参数。
注意,本文在将从 KDC 配置为使用 LDAP 目录时,假设主 KDC 已经配置为使用 LDAP 目录并且运行良好。
使用 IBM NAS 配置脚本 /usr/krb5/sbin/config.krb5 配置这个从 KDC。 bash-2.05b# /usr/krb5/sbin/config.krb5
To configure a Server:
Usage: /usr/krb5/sbin/config.krb5 -h | -S [-a admin] -d domain -r realm [[-l
{ ldapserver | ldapserver:port }] [-u ldap_DN -p ldap_DN_pw] [-f {keyring |
keyring:entry_dn} -k keyring_pw] [-m masterkey_location] [-b bind_type]
[-R ldap_replica_list]]
To configure a slave KDC:
On a slave KDC machine:
Usage: /usr/krb5/sbin/config.krb5 -h | -E -d domain -r realm -s server { [-a admin] | -l
{ ldapserver | ldapserver:port } -u ldap_DN -p ldap_DN_PW [-f {keyring |
keyring:entry_dn} -k keyring_pw] [-b bind_type]
[-R ldap_replica_list] }
On a master server machine:
Usage: /usr/krb5/sbin/config.krb5 -h | -P -r realm -d domain -e slave_KDC -g
To configure a Client:
Usage: /usr/krb5/sbin/config.krb5 -h | [-C] -r realm -d domain { -c KDC -s server | -l
{ ldapserver | ldapserver:port_number } [-c KDC -s server] }
-bash-2.05b#
现在查看一下将用来使用 LDAP 目录设置从 KDC 的命令行参数:
-E | 表示将要进行配置的从 KDC。 |
-d <domain> | <domain> 指 Kerberos 域所属的域的名称。 |
-r <realm> | <realm> 指正在运行主 KDC 的 Kerberos 域的名称。 |
-s <server> | <server> 指运行主 KDC 和 kadmind 管理服务器的机器的主机名。 |
-u <ldap_DN> | <ldap_DN> 指用于连接 LDAP 服务器(比如 cn=root)的 LDAP bind DN 的名称。 |
-p <ldap_DN_pw> | <ldap_DN_pw> 是 LDAP bind DN 的密码。 |
-b <bind_type> | <bind_type> 指定在连接 LDAP 服务器时将使用 LDAP bind 机制。可能的值包括 ‘simple’、‘cram-md5’ 和 ‘external’。默认值为 ‘simple’ LDAP bind。 |
-f <keyring | keyring:enrty_dn> | 这个选项在使用 SSL 连接方法时指定 LDAP keyring 数据库文件。在这里,<keyring> 指文件名的完全限定名,而 <entry_dn> 指 keyring 中的验证条目名。 |
-k <keyring_pw> | 它指定了访问 LDAP keyring 数据库的密码。如果没有给出的话,那么 SSL 使用存储在相应的 stash 文件中的密码。 |
-R <ldap_replica_list> | <ldap_replica_list> 是使用空格分隔的 LDAP replica 服务器列表,从 KDC 将使用它实现负载平衡。 |
请阅读本系列的 第 1 部分,回顾一下如何使用遗留数据库配置 IBM NAS KDC,您需要同时在主 KDC 和从 KDC 上运行 conifig.krb5,但是在引入 LDAP 目录后,则不需要在主 KDC 上运行任何内容。只需要在从 KDC 上运行一个 conifig.krb5 命令,仅此而已。
现在将 huntcup.in.ibm.com 上的从 KDC 配置为主 KDC(fsaix12.in.ibm.com),这将使用运行在 land.in.ibm.com 上的 LDAP 服务器。
-bash-2.05b# hostname
huntcup.in.ibm.com
-bash-2.05b# /usr/krb5/sbin/config.krb5 -E -d in.ibm.com -r ISL.IN.IBM.COM
-s fsaix11.in.ibm.com -l fsaix11.in.ibm.com -u cn=root -p secret
Initializing configuration...
Creating /etc/krb5/krb5_cfg_type...
Creating /etc/krb5/krb5.conf...
Creating /var/krb5/krb5kdc/kdc.conf...
Password for admin/admin@ISL.IN.IBM.COM:
Starting krb5kdc...
Attempting to bind to one or more LDAP servers. This may take a while...
krb5kdc was started successfully.
The command completed successfully.
-bash-2.05b# ps -ef| grep krb5
root 6476 1 0 18:23:43 - 0:00 /usr/krb5/sbin/krb5kdc
-bash-2.05b# cat /etc/krb5/krb5_cfg_type
slave
-bash-2.05b# cat /etc/krb5/krb5.conf
[libdefaults]
default_realm = ISL.IN.IBM.COM
default_keytab_name = FILE:/etc/krb5/krb5.keytab
default_tkt_enctypes = des3-cbc-sha1 arcfour-hmac aes256-cts
des-cbc-md5 des-cbc-crc
default_tgs_enctypes = des3-cbc-sha1 arcfour-hmac aes256-cts
des-cbc-md5 des-cbc-crc
[realms]
ISL.IN.IBM.COM = {
kdc = fsaix11.in.ibm.com:88
admin_server = fsaix11.in.ibm.com:749
default_domain = in.ibm.com
vdb_plugin_lib = /usr/lib/libkrb5ldplug.a
}
[domain_realm]
.in.ibm.com = ISL.IN.IBM.COM
fsaix11.in.ibm.com = ISL.IN.IBM.COM
[logging]
kdc = FILE:/var/krb5/log/krb5kdc.log
admin_server = FILE:/var/krb5/log/kadmin.log
default = FILE:/var/krb5/log/krb5lib.log
(0) root @ huntcup: 52S () : /home/vipin #
完成此操作后,通过设置一个客户机来对以上配置进行测试。
配置客户机以结合使用从 KDC 和 LDAP 目录
使用另一台 AIX 机器 aixdce3.in.ibm.com,然后在其上配置一个 IBM NAS 客户机。确保您已经对客户机配置文件进行了更新以反映从 KDC(只在确定了 KDC 首选参数后)。
注意,首先尝试 /etc/krb5/krb5.conf 中的第一个 kdc 条目;只有在它失败的情况下才能尝试下一个条目。
bash-2.05b# hostname
aixdce3.in.ibm.com
bash-2.05b# /usr/krb5/sbin/config.krb5 -C -d in.ibm.com -r ISL.IN.IBM.COM
-s fsaix11.in.ibm.com -c fsaix11.in.ibm.com
Initializing configuration...
Creating /etc/krb5/krb5_cfg_type...
Creating /etc/krb5/krb5.conf...
The command completed successfully.
bash-2.05b# cat /etc/krb5/krb5.conf
[libdefaults]
default_realm = ISL.IN.IBM.COM
default_keytab_name = FILE:/etc/krb5/krb5.keytab
default_tkt_enctypes = des3-cbc-sha1 arcfour-hmac aes256-cts
des-cbc-md5 des-cbc-crc
default_tgs_enctypes = des3-cbc-sha1 arcfour-hmac aes256-cts
des-cbc-md5 des-cbc-crc
[realms]
ISL.IN.IBM.COM = {
kdc = fsaix11.in.ibm.com:88
kdc = huntcup.in.ibm.com:88
admin_server = fsaix11.in.ibm.com:749
default_domain = in.ibm.com
}
[domain_realm]
.in.ibm.com = ISL.IN.IBM.COM
fsaix11.in.ibm.com = ISL.IN.IBM.COM
huntcup.in.ibm.com = ISL.IN.IBM.COM
[logging]
kdc = FILE:/var/krb5/log/krb5kdc.log
admin_server = FILE:/var/krb5/log/kadmin.log
default = FILE:/var/krb5/log/krb5lib.log
bash-2.05b# /usr/krb5/bin/kinit admin/admin
Password for admin/admin@ISL.IN.IBM.COM:
bash-2.05b# /usr/krb5/bin/klist
Ticket cache: FILE:/var/krb5/security/creds/krb5cc_0
Default principal: admin/admin@ISL.IN.IBM.COM
Valid starting Expires Service principal
09/26/08 09:31:08 09/27/08 09:30:31 krbtgt/ISL.IN.IBM.COM@ISL.IN.IBM.COM
bash-2.05b# /usr/krb5/sbin/kadmin
Authenticating as principal admin/admin@ISL.IN.IBM.COM with password.
Password for admin/admin@ISL.IN.IBM.COM:
kadmin: getprincs
admin/admin@ISL.IN.IBM.COM
kadmin/changepw@ISL.IN.IBM.COM
kadmin/admin@ISL.IN.IBM.COM
kadmin/history@ISL.IN.IBM.COM
krbtgt/ISL.IN.IBM.COM@ISL.IN.IBM.COM
K/M@ISL.IN.IBM.COM
kadmin: q
bash-2.05b#
在配置完毕后,停止主 KDC 服务器,以测试从 KDC。
bash-2.05b# hostname
fsaix11.in.ibm.com
bash-2.05b# stop.krb5 krb5kdc
Stopping /usr/krb5/sbin/krb5kdc...
/usr/krb5/sbin/krb5kdc was stopped successfully.
The command completed successfully.
bash-2.05b#
现在,在客户机上尝试获得一个票据(ticket)。
bash-2.05b# hostname
aixdce3.in.ibm.com
bash-2.05b# /usr/krb5/bin/kinit admin/admin
Password for admin/admin@ISL.IN.IBM.COM:
bash-2.05b# /usr/krb5/bin/klist
Ticket cache: FILE:/var/krb5/security/creds/krb5cc_0
Default principal: admin/admin@ISL.IN.IBM.COM
Valid starting Expires Service principal
09/26/08 09:34:20 09/27/08 09:33:43 krbtgt/ISL.IN.IBM.COM@ISL.IN.IBM.COM
bash-2.05b# /usr/krb5/sbin/kadmin
Authenticating as principal admin/admin@ISL.IN.IBM.COM with password.
Password for admin/admin@ISL.IN.IBM.COM:
kadmin: getprincs
admin/admin@ISL.IN.IBM.COM
kadmin/changepw@ISL.IN.IBM.COM
kadmin/admin@ISL.IN.IBM.COM
kadmin/history@ISL.IN.IBM.COM
krbtgt/ISL.IN.IBM.COM@ISL.IN.IBM.COM
K/M@ISL.IN.IBM.COM
kadmin: q
bash-2.05b#
即使在主 KDC 被关闭的情况下,客户机也能按预期工作。现在,我们已经将 LDAP 配置为从 KDC 的后端数据库。
成功地配置了一个从 KDC 后,Kerberos 管理员需要确保在处理身份验证请求时,整个域中存在适当的负载平衡。为此,根据网络范围和主 KDC 上的负载,可以添加更多的从 KDC。同样,需要对客户机进行配置,使所有从 KDC 和主 KDC 都能得到充分利用。
结束语
在这个 三部分系列 的完结篇中,您了解了如何配置一个从 KDC,使它将 LDAP 用作后端数据库。通过这样做,Kerberos 管理员能够获得一个更加可靠、更具伸缩性的 Kerberos 环境。
本系列其他文章:
IBM Network Authentication Service KDC 配置,第 1 部分: 配置和管理 AIX 上 IBM Network Authentication Service 中的从 KDC
IBM Network Authentication Service KDC 配置,第 2 部分: 把从 KDC 升级为主 KDC
Tags:IBM Network Authentication
编辑录入:爽爽 [复制链接] [打 印]- ››IBM WebSphere常见问题解答
- ››IBM WebSphere Studio V5相关认证资料
- ››IBM WebSphere应用服务器发展趋势
- ››IBM WebSphere Application Server诊断和调优(一...
- ››IBM WebSphere Application Server诊断和调优(二...
- ››IBM WebSphere Performance Pack服务器
- ››IBM WebSphere软件概述
- ››IBM PowerVM 实战手册,第 3 部分 : VIO server 配...
- ››IBM PowerVM 实战手册,第 2 部分 : VIO server 准...
- ››IBM p 系列服务器系统固件升级攻略
- ››IBM PowerVM 概述
- ››IBM Systems Director 在 AIX 上的常见问题及解决...
更多精彩
赞助商链接