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

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-04-26 17:22:07

作者: Alf Wachsmann/黄永兵 译 出处:51CTO.com 
 
阅读提示:Kerberos可以解决你的账号管理方面的痛苦。在一个分布式的Uinux/Linux环境中,如果通过手工进行账号管理,将变得复杂、混乱。

【51CTO.com 独家翻译】Kerberos可以解决你的账号管理方面的痛苦。在一个分布式的Uinux/Linux环境中,如果通过手工进行账号管理,将变得复杂、混乱。大型站点使用特殊的工具来解决这个问题,在本文中,我叙述的是针对少量计算机的环境如何解决这个问题,如你家里的三太电脑组成的小网络。

在一个分布式环境中的问题是,如果发生账号改动的情况,每台机器上的passwd文件和shadow文件需要一个一个地去修改,账号改动包括修改密码、添加/删除账号、账号名修改(任何情况下,修改UID/GID是一个大问题)、添加/删除登陆计算机的权限等。我也将叙述如何用Kerberos解决分布式计算环境中的认证问题,在第二部分,我将叙述一个解决认证问题的解决方案。

认证一个连接到计算机的用户大多数是通过密码来解决的,尽管有其他方法(包括智能卡和生物特征)是可用的,这些密码存储在/etc/passwd中,现在使用影子密码,它存储在/etc/shadow中,因为这些文件是在本地计算机上的,要保持是最新状态是很大的一个问题,目录服务如NIS、NIS+和LDAP能解决这个问题,但是这些服务引入了新的问题:它们工作在网络上,密码也是暴露在网络上的,它们只使用了很弱的加密。

通过Kerberos实施的认证协议联合网络服务的优势,完全不需要在两台计算机之间传输密码了,要实现这个,Kerberos需要你在一个安全的服务器上运行两个后台进程,密钥分发中心(KDC)后台进程处理所有的密码验证请求,并生成Kerberos证书,叫做凭证授予凭证(TGT),第二个后台进程,Kerberos管理进程,它允许你远程添加、删除和修改账号,而不用登陆到运行Kerberos管理进程的计算机上,它也处理来自用户的密码修改请求,使用Kerberos,只有一个密码修改需要通过网络传输一个强壮的加密密码。

在认证用户的过程中,Kerberos KDC给用户授予一个临时的证书,TGT,典型地,这些证书有10或24小时的有效期,这个有效期是可以配置的,但是不能超过24小时,万一TGT被偷,小偷只能在TGT的有效期时间内使用,如果你只使用Kerberos进行身份认证,证书失效了不会引起问题,但是,如果你正在使用Kerberized服务,你需要培训你的用户在他们目前的证书失效后获取新的证书,即使他们仍然可以登陆。

Kerberos是在MIT创造出来的,最新的版本是Kerberos 5,它的协议定义在RFC 1510。今天,Kerberos有两个实现是可用的,参考文章后面的资源。MIT的Kerberos 5包括在Red Hat Linux中,而Heimdal包括在SuSe和Debian Linux发行版中,Kerberos 5实现也包括在微软的windows(2000以及更高版本)、Sun的Solaris(SEAM,Solaris2.6及更高版本)和Apple的Mac OS X中,我使用MIT的Kerberos发布版贯穿本文,因为它提供了简单密码质量检查功能,密码老化和密码历史,这些功能都是开箱即用的。

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