David.Turing's blog

           

          Ktpass和KTab的主要用法

          不少人都沒(méi)搞清楚Ktpass跟Ktab的用法,特此寫(xiě)一篇文章來(lái)敘說(shuō)一下。
          我假設(shè)你對(duì)Kerberos有所認(rèn)識(shí),可以讀我的一篇文章<Weblogic Security In Action>中篇,里面初步介紹了Kerberos協(xié)議(基于Windows KDC)。
          在Kerberos中,安全性完全是依賴(lài)于Share Secret,也就是,KDC跟Kerberos Service之間都共享著一條Key,Ktpass這個(gè)命令行工具承擔(dān)著這樣一個(gè)角色,它能夠?qū)⒎荳indows Kerberos服務(wù)配置一個(gè)Service Principal,通常類(lèi)似于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è)用戶(hù)tomcat2005, 這是一個(gè)Windows的用戶(hù),我們使用Ktpass將一個(gè)Kerberos service (HTTP/tomcat@MYDAVID.ORG)Mapping到這個(gè)用戶(hù)上面。Ktpass會(huì)修改當(dāng)前用戶(hù)在Windows AD中的用戶(hù)登錄名,你可以用setspn -L tomcat2005來(lái)查看究竟有多少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

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

          還可以通過(guò)ktab -l -k tomcat2005_keytab, 來(lái)看看里面究竟有針對(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 閱讀(6376) 評(píng)論(1)  編輯  收藏 所屬分類(lèi): Security領(lǐng)域

          評(píng)論

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

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

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(110)

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

          隨筆分類(lèi)(126)

          隨筆檔案(155)

          文章分類(lèi)(9)

          文章檔案(19)

          相冊(cè)

          搜索

          積分與排名

          最新隨筆

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 渝中区| 白玉县| 扶风县| 东阳市| 彰武县| 融水| 祥云县| 宁都县| 六枝特区| 许昌县| 宽甸| 铅山县| 治多县| 西乌珠穆沁旗| 德化县| 独山县| 肥乡县| 高唐县| 蒲江县| 精河县| 丰镇市| 黎川县| 海门市| 梁山县| 淮南市| 怀柔区| 宜兰县| 太白县| 宝山区| 呼伦贝尔市| 呼和浩特市| 阜宁县| 阿坝县| 舒城县| 江北区| 九寨沟县| 图木舒克市| 龙海市| 渝北区| 丹凤县| 林口县|