频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

使用Kerberos5实现统一认证(一)

来源:51CTO.com 作者:Alf Wachsmann/黄永兵 出处:巧巧读书 2008-04-19 进入讨论组
上一页 1 2 3 4 5 6 下一页 
配置客户端

启用Kerberos认证的最容易的方法是使用可插拔认证模块(PAM),因为它使用的是Kerberos API调用,它工作需要配置文件/etc/krb5.conf,因此,第一步是从你的KDC上拷贝/etc/krb5.conf到各个客户端机器。

Kerberos不仅提供对用户的认证,也对计算机提供认证,防止你使用一个劫持的ip地址登陆到机器,要这样工作,每个计算机都需要它自己的Kerberos委托人和存储在文件(keytab文件)中的密钥(密码),计算机委托人构成如下:
host/<hostname>.example.com@EXAMPLE.COM.

第一步是为每个客户端计算机创建一个新的委托人,下面的命令用client1作为计算机名当例子,用客户端计算机主机名替换client1,登陆到你的每个客户端计算机并执行:
% sudo /usr/local/sbin/kadmin
kadmin: addprinc -randkey host/
?client1.example.com@EXAMPLE.COM

它给新委托人指定一个随机密码,然后,提取密钥放入keytab文件:
kadmin: ktadd host/client1.example.com@EXAMPLE.COM

它创建了/etc/krb5.keytab文件,要获得对/etc/目录的写入许可,你需要用suho运行kadmin命令,简单创建一个委托人不需要这些特殊的权限,小心/etc/krb5.keytab所有权和文件许可,无论如何,它只能对root是可读的,否则,这个机器的安全就会受到威胁。

有几个为Kerberos 5准备的PAM可用,它们都叫pam_krb5。因为在MIT Kerberos 5 1.3版本中有一些API发生了变化,它们中的大部分都不再工作,你现在最好的选择是使用来自你的Linux发行版中的PAM模块,请查看前面的小节了解如何从源代码创建一个PAM模块。

现在,通过编辑文件/etc/pam.d/system-auth (在Red Hat系统上)来添加一个新的PAM模块到你的系统认证堆栈:

auth  required    /lib/security/$ISA/pam_env.so
auth  sufficient  /lib/security/$ISA/pam_unix.so likeauth nullok
auth  sufficient  /lib/security/$ISA/pam_krb5.so use_first_pass
auth  required    /lib/security/$ISA/pam_deny.so

account   required      /lib/security/$ISA/pam_unix.so
account   [default=bad success=ok user_unknown=ignore
?service_err=ignore system_err=ignore]
?/lib/security/$ISA/pam_krb5.so

password  required    /lib/security/$ISA/pam_cracklib.so
?retry=3 type=
password  sufficient  /lib/security/$ISA/pam_unix.so
?nullok use_authtok md5 shadow
password  sufficient  /lib/security/$ISA/pam_krb5.so
?use_authtok
password  required    /lib/security/$ISA/pam_deny.so

session   required    /lib/security/$ISA/pam_limits.so
session   required    /lib/security/$ISA/pam_unix.so
session   optional    /lib/security/$ISA/pam_krb5.so

这些改变使每个程序都要使用system-auth PAM堆栈(它的配置文件在/etc/pam.d/目录下)完成Kerberos认证。

与非Linux客户端的内部操作

如果你已经安装了一个windows活动目录(AD)KDC,你可以将它作为你Linux/Unix机器的主KDC,假如这样,你可以跳过全部服务器的安装,只需要安装上面叙述的设置你的客户端,你的/etc/krb5.conf文件需要定义windows KDC而不是Unix KDC,关于如何创建和拷贝keytab文件的更多信息请参考资源部分列出的文章。

如果在你的工作组中有许多的windows机器,你也可以使用Unix KDC为它们提供服务,但是仅当你的windows客户端不属于windows AD域时才可以。

在你的Kerberos 5区域中使用Mac OS X客户端很容易,只需要在你的Mac上配置好你的Unix KDC的名字就可以了。再说一下,账号名必须匹配。

更多文章 更多内容请看Cisco认证体系专题专题,或进入讨论组讨论。
上一页 1 2 3 4 5 6 下一页 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章