David.Turing's blog

           

          Ktpass和KTab的主要用法

          不少人都沒搞清楚Ktpass跟Ktab的用法,特此寫一篇文章來敘說一下。
          我假設(shè)你對(duì)Kerberos有所認(rèn)識(shí),可以讀我的一篇文章<Weblogic Security In Action>中篇,里面初步介紹了Kerberos協(xié)議(基于Windows KDC)。
          在Kerberos中,安全性完全是依賴于Share Secret,也就是,KDC跟Kerberos Service之間都共享著一條Key,Ktpass這個(gè)命令行工具承擔(dān)著這樣一個(gè)角色,它能夠?qū)⒎荳indows Kerberos服務(wù)配置一個(gè)Service Principal,通常類似于HTTP/Service@DomainName,并且同時(shí)生成一個(gè)Keytbab,這樣做的目的是在Windows域中的KDC和非Windows的服務(wù)(Kerberos Service)建立一種安全的信任關(guān)系,Keytab文件中就是存放著那條非常重要的跟KDC打交道的Secret Key。

          你更改了Keytab中的Key,就必須同時(shí)更改Kerberos database中的Key。操作Keytab,JDK提供了一個(gè)很好的工具叫做KTab。


          首先,在Windows域控制器上創(chuàng)建一個(gè)用戶tomcat2005, 這是一個(gè)Windows的用戶,我們使用Ktpass將一個(gè)Kerberos service (HTTP/tomcat@MYDAVID.ORG)Mapping到這個(gè)用戶上面。Ktpass會(huì)修改當(dāng)前用戶在Windows AD中的用戶登錄名,你可以用setspn -L tomcat2005來查看究竟有多少Service Principal綁定到tomcat2005上。


          C:\>ktpass -princ HTTP/tomcat@MYDAVID.ORG  -mapuser tomcat2005 -pass tomcat2005 -out tomcat2005_keytab -crypto des-cbc-md5
          Successfully mapped HTTP/tomcat to tomcat2005.
          Key created.
          Output keytab to tomcat2005_keytab:

          Keytab version: 0x502
          keysize 50 HTTP/tomcat@MYDAVID.ORG ptype 1 (KRB5_NT_PRINCIPAL) vno 1 etype 0x3 (DES-CBC-MD5) keylength 8 (0xb64540dace6e70d3)
          Account has been set for DES-only encryption.


          接著,執(zhí)行,目的是往keytab上面增加新的service principal。
          C:\>ktab -k tomcat2005_keytab -a HTTP/tomcat@MYDAVID.ORG
          Password for HTTP/tomcat@MYDAVID.ORG:tomcat2005
          Done!
          Service key for HTTP/tomcat@MYDAVID.ORG is saved in C:\\tomcat2005_keytab

          你可能問,Ktpass和Ktab都往keytab文件兩面寫Key,其實(shí),他們都是寫同樣的Key,只不過Ktpass還有一個(gè)AD帳號(hào)Set SPN Name的作用。

          還可以通過ktab -l -k tomcat2005_keytab, 來看看里面究竟有針對(duì)什么Service的Key

          C:\>ktab -l -k tomcat2005_keytab
          Keytab name: C:\\tomcat2005_keytab
          KVNO    Principal
          --------------------------------
            4     HTTP/tomcat@MYDAVID.ORG

          KVNO是Service Key的更新序號(hào),不需要理會(huì),關(guān)鍵的是Principal。

          posted on 2005-12-02 00:48 david.turing 閱讀(6383) 評(píng)論(1)  編輯  收藏 所屬分類: Security領(lǐng)域

          評(píng)論

          # re: Ktpass和KTab的主要用法[未登錄] 2016-08-05 16:49 Alex

          我想請(qǐng)教一下,怎么查看keytab文件中的key啊。  回復(fù)  更多評(píng)論   

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(110)

          我參與的團(tuán)隊(duì)

          隨筆分類(126)

          隨筆檔案(155)

          文章分類(9)

          文章檔案(19)

          相冊(cè)

          搜索

          積分與排名

          最新隨筆

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 建阳市| 永泰县| 武邑县| 富民县| 高要市| 裕民县| 富锦市| 乐至县| 庆安县| 西华县| 高要市| 渝北区| 雅江县| 宜良县| 丽江市| 柳江县| 县级市| 新竹县| 迁西县| 中超| 竹溪县| 锡林浩特市| 东安县| 饶阳县| 台东县| 桐柏县| 通化县| 墨脱县| 绥芬河市| 陇南市| 英德市| 五家渠市| 奉新县| 扶绥县| 明水县| 石楼县| 阿城市| 临海市| 茂名市| 沁阳市| 禄丰县|