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

http://tech.ddvip.com   2008年03月28日    社区交流

Kerberos可以解决你的账号管理方面的痛苦。在一个分布式的Uinux/Linux环境中,如果通过手工进行账号管理,将变得复杂、混乱。

  创建委托人过程中输入的密码在john获取Kerberos TGT时需要或登陆到一个被配置成使用你的Kerberos 5区域的计算机时需要。现在你可以手工给你所有的账号创建委托人或使用下一小节将要介绍的迁移技术。

  添加从KDC

  如果你计划在你站点上的产品中使用Kerberos,你应该使用额外的从KDC来为你的安装提供故障容错功能。主KDC需要安装一个额外的传播服务,由它来发送KDC数据库版本更新到所有的从KDC服务器,从服务器需要为传播服务安装一个接收终端,请查看MIT文档。

  配置客户端

  启用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是可读的,否则,这个机器的安全就会受到威胁。

来源:51CTO    作者:黄永兵    责编:豆豆技术应用

正在加载评论...