Kerberos配置_第1页
Kerberos配置_第2页
Kerberos配置_第3页
Kerberos配置_第4页
Kerberos配置_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1言假设你的 Openldap 已经配置好并成功运行,本文只是介绍如何使 Openldap 使用 K e r b e r o s 来 验 证 用 户 身 份 。本配置在 FC5 上通过,在使用 r he 时,很可能会有不同的情况。2名词解释Kerberos基于共享密钥的安全机制,由MIT 发明,现在已经被标准化,最新是版本5,简称krb5 。 Kerberos 特别适合局域网络, Windows2k 及以上系统的安全机制即基于kerberos。Kerberos有多个实现版本,本文使用的一个它的实现叫做 mit-kerberosSASL简单认证和安全层(SimpleAuthenticationa

2、ndSecurityLayer)。也是一套 RFC定义的标准。它的核心思想是把用户认证和安全传输从应用程序中隔离出来。像SMT助无需认证议在定义之初都没有考虑到用户认证等问题,现在 SMTP可以配置使用SASL来完成这方面的 工 作 。Ope n ldap同样如此。SASL支 持多种认证方法 , 比 如ANONYMOUSP L A I N : 明 文 密 码 方 式 ( c l e a r t e x t p a s s w o r d )DIGEST-MD5:HTTPDiges兼容的安全机制,基于 MD5可以提供数据的安全传输层。这 个是 方 便性 和 安 全性 结合 得 最好 的 一 种方

3、 式。 也 是 默 认的 方式 。 GSSAPI :Generi cSecuri t yServi cesAppl i cat i onPr ogramI nt erf ace Gssapi本身是一套API,由IETF标准化。其最主要也是着名的实现是基于 Kerberos 的 。 所 以 一 般 说 到 g s s a p i 都 暗 指 k e r b e r o s 实 现 。EXTERNAL: 认 证 已 经 在环 境中 实 现 了, 比如 SSL/ TLS, I PSec.CyrusSASLCyrus-SASL 是SASL协议最常用的一个实现。其他实现还有GNUSASL等。3环境准备l

4、oggingK r b 5 - s e r v e rK e r b e r o s s e r v e rS a s l - g s s a p iC y r u s - s a s l - g s s a p iK e r b e r o s c lK r b 5 - c l i e n t如果依赖于别的包也一并安装配置K e r b e ro s s e r v e r配置文件包括下个文件c/kerberb5kdc/kerberb5kdc/c/置/这个配置文件设置整个 kerberos 环境的,所以不但 server ,而且 client 也会使用它。d e f a u l t/ v a

5、 r / l o gkdc/ v a r / log/ v a r / l o g /li b d eauldea u l tr e a l mdef ault _t gs_enct ypes=des3-hmac-sha1des- cbc-crcdes-cbc- md5def ault _t kt _enct ypes=des3-hmac-sha1des- cbc-crcdes-cbc- md5per mit t ed_enct ypes=des3- hmac-sha1des-cbc-crcdes-cbc-md5medeault _ d o m a id o m a ikilppdedebug

6、tic k e t _ l in_realmkerberaulb5kdc/a l s em e = 3 6 0 0 0r e n e w _ lme=3600o r w a rdable=tkrb4_conver配 置 / v a r /kerkrb5kdc/个配置文件是专门为kdc定义的参数k d c d eaulsupported_enctypes=des3-hmac-sha1:normalarcfour-hmac:normaldes-hmac-sha1 :normaldes-cbc-md5:normaldes-cbc-crc:normaldes-cbc-crc:v4des-cbc-crc

7、:afs3配 置 / v a r /此文件是 Accesscontrolk e r b e r o s / k r b 5 k d c /配置。下面是一个最简单但系统可以工作的配置。根据实际情况设置你己的访问控制创建ealk er ber s数 据 库 文 件 都 放 在 / v ar /k er ber os / k r b 5k dc / 下 面 。启动kr b 5k d c 和 ka d m i n两个service>servi c e kr b 5 kdcstart>servi c e kadminstart创 建 P r i n c i p a l 在 Kerberos

8、安全机制里,一个 principal 就是 realm 里的一个对象,一个 principal总 是 和 一 个 密 钥 ( s e c r e t k e y ) 成 对 出 现 的 。 这个 principal 的对应物可以是 service ,可以是 host ,也可以是 user ,对于K e r b e r o s 来 说 , 都 没 有 区 别 。 Kdc(Keydistributecenter) 知道所有 principal 的 secretkey ,但每个 principal对应的对象只知道自己的那个secret key。这也是“共享密钥“的由来。作为例子,下面我们将会创建 3

9、 个 principal ,类型分别是 service ,host , user 。创 建 p r i n c i p a l f o r u s e r“一JJ”>- qaddpr inc系统会提示输入密码(password)。请注意密码本身并不是 key。这里只是为了人类 使用的方便而使用密码。真正的 key 是算法作用在密码上产生的一串 byte 序列。创 建 p rin cip a lf orlda p s e r v ice注意这次系统不会提示输入密码,因为我们使用了- randkey指定了一个随机密码。 因 为 l d a ps er ver是 程 序, 它不会介意 使 用

10、真 正 的 ke y。创 建 princ ipalf o r h ost基于同样的理由,我们使用了同样,我们为一个主机生成了一个 principalnd参数创建了 principal 之后,我们需要把key 从 kdc 里取出来 (kdc 知道所有 principal的 key) ,交给对应的对象kerberos世界里,这个key 一般存放在以 keytabda- k 指 定 把k e y 存 放 在个本地文件取得ho的 k e y如果你高兴的话,你 甚 至 也 可 以 取 得 u s e r 的 k e y>-q“ktadd-k/tmp /”但是我不建议你这样做,因为一旦这样做以后,你

11、先前设置的密码就失效了。以后 只 能 使 用 此 k e y t a b 文 件 来 通 过 身 份 验 证 。测试那 么 下 面 的 步 骤 演 示 了 k e r b e r o s 验 证 用 户 身 份 。> k i n i t l d a p a d m i n系统会提示输入密码,如果一切正常,那么会安静的返回。实际上,你已经通过了 k e r b e r o s 的 身 份 验 证 , 且 获 得 了 一 个 ServiceTGT(Ticket-GrantingTicket).ServiceTGT 的意义是,在一段时间内,你都 可以用此TGT去请求某些service,比如Id

12、apservice ,而不需要再次通过kerberos 的认证。>kIst这条命令会查看系统当前t i c k e t>kdestor这 条 命 令 会 d e s t r o y 掉 系 统 当 前 ca c he 的 所 有 t i c k et> k i n i tk l d a p a d m i nt / t m p /这里演示了你确实可以直接使用 user的key,而不是口令来通过kerberos的验证 如果你在前面导出了 userldapadmin 的 key ,可以验证一下。同时如果你运行 kinitldapadmin ,那么即使输入了正确的 password

13、 ,系统仍然提示密码错误。L d a p 使 用k e r b e r o sLdap 是如何使用 kerberos 的呢这个过程是这样的Ldap使用SASL的GSSAP做身份验证。而SASL - GSS APIK e r b e r o s 。首先要配置l d a p s e r v e r ,然后配置配置ldapserver>vi/etc/openldap/添加一行r o o t d n"uid=l d apadmi n ,cn=g s s api, c n=a u th"注释掉下面两行如果有的话# r o o t d n " c n = Ma n a

14、g e r , d c = e x a mp l e , d c = c o m #r oot pw SSHA 7XF8TnEH8Hl v+0XU2Ti qk9bTR32I x t bxi配置k e r b e ros环境>ktut> r k t / tm p / # 读 取key到内存中> wkt / et c / # 写key 到系 统的默 认keyt ab 文 件 ,般是 / et c/然后重启dapserverrviceldaprestklist:Nocredentialscachefound(ticketcacheFILE:/tmp/krb5cc_0)K e r b

15、 e r o s 4 t i c k e t c a c h e/ t m p / t k t 0Y o u h a v e n o t i c k e t s c a c h e dS A S L / G S S A P I a u t h e n t i c a t i o n s t a r t e d l d a p _ s a s l _ i n t e r a c t i v e _ b i n d _ s : L o c a l e r r o r ( - 2 )additionalinfo:SASL(-1):genericfailure:GSSAPIError:Unspecif

16、iedGSSfailure.Minorcodemayprovidemoreinformation(Nocredentialscachefound)>kap#用户dainkeV a l i d s t a r t i n g E x p i r e s S e r v i c e p r i n c i p a l>kli s t注意,现在多了一条访问l d a p s e r v i c evalarirsSvicecipa配置dapcli e n t和上面一样,首先把和文件拷贝到本地初始化h o s t p r i>kli s t6Kerbers或 k e查>t查看&

17、gt; k i n在命>调试和LDAP都是比较复杂的系统。一般出现问题后都要现把问题定位到Idapr b e r o s 。 下 面 是 一 些 查 看 l o g 信 息 的 机 制 。看kda i I-10某 个p riit k p r in c i pc的0f/vancipaa I N a me t k eIogr/ Iog/I是 否有效y ta b F i IePath令行运行sIdap s e r verapdd9- d 9 在 L d a> l d a p s e a r7 T r o指定pclch - d 9 - hu b l ei e nl d a p Se rsh

18、o试级别t 端 调 试v e r A d d r e s so t i n g1. Cl ockskewtoogr eat whi l egett i ngi ni ti al credent i al s在运行kinit - kpr in ci pal - tkeytab后,得至U上面的错误。 这是因为时间不同步引起的。 Kerberos 是时间敏感的。所以所有的主机和k e r b e r o s s e r v e r 时 间 一 定 要 同 步 。2. Cannot cont a ct anyKDCf or r equest edr eal m. . . . 在运行 kinit - k p r in c i p a l - t k e y t a b后

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论