版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1?前言假設(shè)你的Openldap已經(jīng)配置好并成功運(yùn)行,本文只是介紹如何使Openldap使用Kerberos來(lái)驗(yàn)證用戶(hù)身份。本配置在FC5上通過(guò),在使用rhe時(shí),很可能會(huì)有不同的情況。2?名詞解釋2.1 ?Kerberos基于共享密鑰的安全機(jī)制,由MIT發(fā)明,現(xiàn)在已經(jīng)被標(biāo)準(zhǔn)化,最新是版本5,簡(jiǎn)稱(chēng)krb5。Kerberos特別適合局域網(wǎng)絡(luò),Windows2k及以上系統(tǒng)的安全機(jī)制即基于kerberos。Kerberos有多個(gè)實(shí)現(xiàn)版本,本文使用的一個(gè)它的實(shí)現(xiàn)叫做mit?-kerberos。2.2 ?SASL簡(jiǎn)單認(rèn)證和安全層(SimpleAuthenticationandSecurityLayer)。
2、也是一套R(shí)FC定義的標(biāo)準(zhǔn)。它的核心思想是把用戶(hù)認(rèn)證和安全傳輸從應(yīng)用程序中隔離出來(lái)。像SMTP協(xié)議在定義之初都沒(méi)有考慮到用戶(hù)認(rèn)證等問(wèn)題,現(xiàn)在SMTP可以配置使用SASL來(lái)完成這方面的工作。Openldap同樣如此。SASL支持多種認(rèn)證方法,比如?ANONYMOUS:需認(rèn)證。?PLAIN:明文密碼方式(cleartextpassword)?DIGEST-MD5:HTTPDigest兼容的安全機(jī)制,基于MD5可以提供數(shù)據(jù)的安全傳輸層。這個(gè)是方便性和安全性結(jié)合得最好的一種方式。也是默認(rèn)的方式。?GSSAP:IGenericSecurityServicesApplicationProgramInterf
3、aceGssapi本身是一套API,由IETF標(biāo)準(zhǔn)化。其最主要也是著名的實(shí)現(xiàn)是基于Kerberos的。所以一般說(shuō)到gssapi都暗指kerberos實(shí)現(xiàn)。?EXTERNAL認(rèn)證已經(jīng)在環(huán)境中實(shí)現(xiàn)了,比如SSL/TLS,IPSec.2.3 ?CyrusSASLCyrus-SASL是SASL協(xié)議最常用的一個(gè)實(shí)現(xiàn)。其他實(shí)現(xiàn)還有GNUSAS等。3?環(huán)境準(zhǔn)備3.1 ?環(huán)境3.2 ?安裝軟件包Kerberosserver:Krb5-serverSasl-gssapi:Cyrus-sasl-gssapiKerberosclient:Krb5-client如果依賴(lài)于別的包,也一并安裝4?配置Kerberosse
4、rver配置文件包括下面3個(gè)文件1.?/etc/krb5.conf2.?/var/kerberos/krb5kdc/kdc.conf3.?/var/kerberos/krb5kdc/kadm5.acl4.1 ?配置/etc/krb5.conf這個(gè)配置文件設(shè)置整個(gè)kerberos環(huán)境的,所以不但server,而且client也會(huì)使用它。loggingdefault=FILE:/var/log/krb5libs.logkdc=FILE:/var/log/krb5kdc.logadmin_server=FILE:/var/log/kadmind.loglibdefaultsdefault_realm
5、=EXAMPLE.COMdefault_tgs_enctypes=des3-hmac-sha1des-cbc-crcdes-cbc-md5default_tkt_enctypes=des3-hmac-sha1des-cbc-crcdes-cbc-md5permitted_enctypes=des3-hmac-sha1des-cbc-crcdes-cbc-md5dns_lookup_realm=falsedns_lookup_kdc=falseticket_lifetime=24hforwardable=yesrealmsEXAMPLE.COM=?kdc=?admin_server=?defau
6、lt_domain=domain_realm=EXAMPLE.COM=EXAMPLE.COMkdcprofile=/var/kerberos/krb5kdc/kdc.confappdefaultspam=?debug=false?ticket_lifetime=36000?renew_lifetime=36000?forwardable=true?krb4_convert=false4.2 ?配置/var/kerberos/krb5kdc/kdc.conf這個(gè)配置文件是專(zhuān)門(mén)為kdc定義的參數(shù)kdcdefaultsv4_mode=nopreauthrealmsEXAMPLE.COM=?#mast
7、er_key_type=des3-hmac-sha1?acl_file=/var/kerberos/krb5kdc/kadm5.acl?dict_file=/usr/share/dict/words?admin_keytab=/var/kerberos/krb5kdc/kadm5.keytab?supported_enctypes=des3-hmac-sha1:normalarcfour-hmac:normaldes-hmac-sha1:normaldes-cbc-md5:normaldes-cbc-crc:normaldes-cbc-crc:v4des-cbc-crc:afs34.3 ?配置
8、/var/kerberos/krb5kdc/kadm5.acl此文件是Accesscontrol配置。下面是一個(gè)最簡(jiǎn)單但系統(tǒng)可以工作的配置。根據(jù)實(shí)際情況設(shè)置你自己的訪問(wèn)控制*/adminEXAMPLE.COM?*4.4 ?創(chuàng)建realm>kdb5_utilcreate-rEXAMPLE.COM-skerbers數(shù)據(jù)庫(kù)文件都放在/var/kerberos/krb5kdc/下面。啟動(dòng)krb5kdc和kadmin兩個(gè)service>servicekrb5kdcstart>servicekadminstart4.5 ?創(chuàng)建Principal在Kerberos安全機(jī)制里,一個(gè)princ
9、ipal就是realm里的一個(gè)對(duì)象,一個(gè)principal總是和一個(gè)密鑰(secretkey)成對(duì)出現(xiàn)的。這個(gè)principal的對(duì)應(yīng)物可以是service,可以是host,也可以是user,對(duì)于Kerberos來(lái)說(shuō),都沒(méi)有區(qū)別。Kdc(Keydistributecenter)知道所有principal的secretkey,但每個(gè)principal對(duì)應(yīng)的對(duì)象只知道自己的那個(gè)secretkey。這也是“共享密鑰“的由來(lái)。作為例子,下面我們將會(huì)創(chuàng)建3個(gè)principal,類(lèi)型分別是service,host,user。4.5.1 ?創(chuàng)建principalforuser>Kadmin.local
10、-q"addprincldapadminEXAMPLE.COM系統(tǒng)會(huì)提示輸入密碼(password)。請(qǐng)注意密碼本身并不是key。這里只是為了人類(lèi)使用的方便而使用密碼。真正的key是算法作用在密碼上產(chǎn)生的一串byte序列。4.5.2 ?創(chuàng)建principalforldapservice>kadmin.local-q"addprinc-randkey注意這次系統(tǒng)不會(huì)提示輸入密碼,因?yàn)槲覀兪褂昧?randkey指定了一個(gè)隨機(jī)密碼。因?yàn)閘dapserver是程序,它不會(huì)介意使用真正的key。4.5.3 ?創(chuàng)建principalforhost>kadmin.local-
11、q"addprinc-randkey同樣,我們?yōu)橐粋€(gè)主機(jī)生成了一個(gè)principal?;谕瑯拥睦碛?,我們使用了-randkey參數(shù)。4.6 ?獲得key創(chuàng)建了principal之后,我們需要把key從kdc里取出來(lái)(kdc知道所有principal的key),交給對(duì)應(yīng)的對(duì)象。在kerberos世界里,這個(gè)key一般存放在以keytab作為擴(kuò)展名的文件里。4.6.1 ?取得ldapservice的key>kadmin.local-q"ktadd-k/tmp/ldapsrv.keytab-k指定把key存放在一個(gè)本地文件中4.6.2 ?取得host的key>kad
12、min.local-q"ktadd-k4.6.3 ?如果你高興的話,你甚至也可以取得user的key>kadmin.local-q"ktadd-k/tmp/user_ldapadmin.keytabldapadmin但是我不建議你這樣做,因?yàn)橐坏┻@樣做以后,你先前設(shè)置的密碼就失效了。以后只能使用此過(guò)身份驗(yàn)證。keytab文件來(lái)通4.7 ?測(cè)試那么下面的步驟演示了kerberos驗(yàn)證用戶(hù)身份。>kinitldapadmin系統(tǒng)會(huì)提示輸入密碼,如果一切正常,那么會(huì)安靜的返回。實(shí)際上,你已經(jīng)通過(guò)了kerberos的身份驗(yàn)證,且獲得了一個(gè)ServiceTGT(Ticke
13、t-GrantingTicket).ServiceTGT的意義是,在一段時(shí)間內(nèi),你都可以用此TGT去請(qǐng)求某些service,比如ldapservice,而不需要再次通過(guò)kerberos的認(rèn)證。>klist這條命令會(huì)查看系統(tǒng)當(dāng)前的ticket>kdestory這條命令會(huì)destroy掉系統(tǒng)當(dāng)前cache的所有ticket>kinitkldapadmint/tmp/user_ldapadmin.keytab這里演示了你確實(shí)可以直接使用user的key,而不是口令來(lái)通過(guò)kerberos的驗(yàn)證。如果你在前面導(dǎo)出了userldapadmin的key,可以驗(yàn)證一下。同時(shí)如果你運(yùn)行kini
14、tldapadmin,那么即使輸入了正確的password,系統(tǒng)仍然提示密碼錯(cuò)誤。5?配置Ldap使用kerberosLdap是如何使用kerberos的呢?這個(gè)過(guò)程是這樣的。Ldap使用SASL的GSSAPI做身份驗(yàn)證。而SASL-GSSAPI的實(shí)現(xiàn)正好是Kerberos。首先要配置ldapserver,然后配置Kerberos5.1 ?配置ldapserver>vi/etc/openldap/slapd.conf添加一行rootdn?"uid=ldapadmin,cn=gssapi,cn=auth"注釋掉下面兩行,如果有的話#rootdn?"cn=Man
15、ager,dc=example,dc=com"#rootpw?SSHA7XF8TnEH8Hlv+0XU2Tiqk9bTR32Ixtbx5.2 ?配置kerberos環(huán)境>scp/etc#這里使用scp,你也可以通過(guò)其他方便的方式。>scp/tmp>ktutil>rkt/tmp/ldapsrv.keytab#讀取key到內(nèi)存中>wkt/etc/krb5.keytab#寫(xiě)key到系統(tǒng)的默認(rèn)keytab文件,一般是?/etc/krb5.keytab然后重啟ldapserver>serviceldaprestart5.3 ?測(cè)試>klistklist
16、:Nocredentialscachefound(ticketcacheFILE:/tmp/krb5cc_0)Kerberos4ticketcache:/tmp/tkt0klist:Youhavenoticketscached>ldapsearch?-h#注意不要用-x參數(shù)SASL/GSSAPIauthenticationstartedldap_sasl_interactive_bind_s:Localerror(-2)?additionalinfo:SASL(-1):genericfailure:GSSAPIError:UnspecifiedGSSfailure.?Minorcodem
17、ayprovidemoreinformation(Nocredentialscachefound)>kinitldapadmin#用戶(hù)ldapadmin通過(guò)kerberos的驗(yàn)證>klist查看ticket,注意下面兩行?Defaultprincipal:ldapadminEXAMPLE.COM?Validstarting?Expires?Serviceprincipal?01/03/0813:59:39?01/04/0813:59:39?krbtgt/EXAMPLE.COMEXAMPLE.COM>ldapsearch-hSomethingprintedout.Yougoti
18、t!>klist注意,現(xiàn)在多了一條訪問(wèn)ldapservice的ticket。?validstarting?Expires?Serviceprincipal?01/03/0813:59:39?01/04/0813:59:39?krbtgt/EXAMPLE.COMEXAMPLE.COM?01/03/0814:02:12?01/04/085.4 ?配置ldapclientserver的能力。一般這種配置是為了使用ldap作為系統(tǒng)的身份認(rèn)證機(jī)制,和PAM吉合起來(lái)使用。這方面的配置我也不太了解,也沒(méi)法深入介紹。我這里只是演示如何使用hostprincipal。和上面一樣,首先把krb5.conf和keytab文件拷貝到本地。>scp/etc>scp/tmp初始化hostprincipal,取得tgt>kinit-k-t/tmp/host_client.keytab>klist測(cè)試>ldapsearch-h6?調(diào)試Kerbers和LDAP都是比較復(fù)雜的系統(tǒng)。一般出現(xiàn)問(wèn)題后都要現(xiàn)把問(wèn)題定位到ldap或kerberos。下面是一些查看log信息的機(jī)制。查看kdc的log>tail-100f/var/log/krb5kdc.log查看某個(gè)prin
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 專(zhuān)業(yè)化消防工程安裝協(xié)議范本(2024年版)版
- 2025年度廠區(qū)新能源發(fā)電項(xiàng)目合作協(xié)議3篇
- 2025年度電商大數(shù)據(jù)安全保護(hù)合作協(xié)議4篇
- 旅游業(yè)績(jī)深度剖析
- 專(zhuān)業(yè)汽車(chē)起重機(jī)租賃協(xié)議2024版范本版B版
- 二零二五年度智能化家居系統(tǒng)安裝合同3篇 - 副本
- 二零二五年度大渡口區(qū)吸污車(chē)租賃與環(huán)保技術(shù)研發(fā)協(xié)議3篇
- 2025年度測(cè)井設(shè)備研發(fā)與技術(shù)服務(wù)合同4篇
- 二零二五年度船舶航行安全GPS監(jiān)控合同文本3篇
- 2025年度公共場(chǎng)所場(chǎng)地借用及安全保障協(xié)議書(shū)2篇
- 品質(zhì)經(jīng)理工作總結(jié)
- 供電搶修述職報(bào)告
- 集成電路設(shè)計(jì)工藝節(jié)點(diǎn)演進(jìn)趨勢(shì)
- 新型電力系統(tǒng)簡(jiǎn)介演示
- 特種設(shè)備行業(yè)團(tuán)隊(duì)建設(shè)工作方案
- 眼內(nèi)炎患者護(hù)理查房課件
- 肯德基經(jīng)營(yíng)策略分析報(bào)告總結(jié)
- 買(mǎi)賣(mài)合同簽訂和履行風(fēng)險(xiǎn)控制
- 中央空調(diào)現(xiàn)場(chǎng)施工技術(shù)總結(jié)(附圖)
- 水質(zhì)-濁度的測(cè)定原始記錄
- 數(shù)字美的智慧工業(yè)白皮書(shū)-2023.09
評(píng)論
0/150
提交評(píng)論