David.Turing's blog

           

          Ktpass和KTab的主要用法

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

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


          首先,在Windows域控制器上創(chuàng)建一個用戶tomcat2005, 這是一個Windows的用戶,我們使用Ktpass將一個Kerberos service (HTTP/tomcat@MYDAVID.ORG)Mapping到這個用戶上面。Ktpass會修改當(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,其實,他們都是寫同樣的Key,只不過Ktpass還有一個AD帳號Set SPN Name的作用。

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

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

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

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

          評論

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

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

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(110)

          我參與的團(tuán)隊

          隨筆分類(126)

          隨筆檔案(155)

          文章分類(9)

          文章檔案(19)

          相冊

          搜索

          積分與排名

          最新隨筆

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 辛集市| 内丘县| 靖江市| 建阳市| 乌兰浩特市| 虞城县| 布尔津县| 岑溪市| 龙井市| 习水县| 盘山县| 广饶县| 大新县| 新竹市| 镇宁| 忻州市| 阿拉善盟| 梅河口市| 瑞金市| 开化县| 筠连县| 武定县| 宜城市| 随州市| 长岛县| 石河子市| 芷江| 衡南县| 涞源县| 河西区| 光山县| 武宁县| 武威市| 南通市| 永德县| 巍山| 天长市| 乃东县| 元朗区| 神池县| 石楼县|