欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Kerberos安裝教程及使用詳解

 更新時(shí)間:2016年10月17日 08:54:19   投稿:mrr  
Kerberos協(xié)議主要用于計(jì)算機(jī)網(wǎng)絡(luò)的身份鑒別(Authentication), 其特點(diǎn)是用戶只需輸入一次身份驗(yàn)證信息就可以憑借此驗(yàn)證獲得的票據(jù)(ticket-granting ticket)訪問(wèn)多個(gè)服務(wù)。這篇文章主要介紹了Kerberos安裝教程及使用詳解的相關(guān)資料,需要的朋友可以參考下

Kerberos協(xié)議:

Kerberos協(xié)議主要用于計(jì)算機(jī)網(wǎng)絡(luò)的身份鑒別(Authentication), 其特點(diǎn)是用戶只需輸入一次身份驗(yàn)證信息就可以憑借此驗(yàn)證獲得的票據(jù)(ticket-granting ticket)訪問(wèn)多個(gè)服務(wù),即SSO(Single Sign On)。由于在每個(gè)Client和Service之間建立了共享密鑰,使得該協(xié)議具有相當(dāng)?shù)陌踩浴?/p>

2. 安裝 Kerberos

2.1. 環(huán)境配置

  安裝kerberos前,要確保主機(jī)名可以被解析。

  主機(jī)名 內(nèi)網(wǎng)IP 角色

Vmw201 172.16.18.201 Master KDC
Vmw202 172.16.18.202 Kerberos client
Vmw203 172.16.18.203 Kerberos client

2.2 Configuring a Kerberos Server

2.2.1 確保環(huán)境可用

  確保所有的clients與servers之間的時(shí)間同步以及DNS正確解析

2.2.2 選擇一個(gè)主機(jī)來(lái)運(yùn)行KDC,并在該主機(jī)上安裝krb-5libs,krb5-server,已經(jīng)krb5-workstation:

yum install krb5-server krb5-libs krb5-auth-dialog

KDC的主機(jī)必須非常自身安全,一般該主機(jī)只運(yùn)行KDC程序。本文中我們選擇vmw201作為運(yùn)行KDC的主機(jī)。
在安裝完上述的軟件之后,會(huì)在KDC主機(jī)上生成配置文件/etc/krb5.conf和/var/kerberos/krb5kdc/kdc.conf,它們分別反映了realm name 以及 domain-to-realm mappings。

2.2.3 配置kdc.conf

默認(rèn)放在 /var/kerberos/krb5kdc/kdc.conf?;蛘咄ㄟ^(guò)覆蓋KRB5_KDC_PROFILE環(huán)境變量修改配置文件位置。

配置示例:

[kdcdefaults]
kdc_ports = 88
kdc_tcp_ports = 88
[realms]
HADOOP.COM = {
#master_key_type = aes256-cts
acl_file = /var/kerberos/krb5kdc/kadm5.acl
dict_file = /usr/share/dict/words
admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
max_renewable_life = 7d
supported_enctypes = aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
}

說(shuō)明:

HADOOP.COM:是設(shè)定的realms。名字隨意。Kerberos可以支持多個(gè)realms,會(huì)增加復(fù)雜度。本文不探討。大小寫敏感,一般為了識(shí)別使用全部大寫。這個(gè)realms跟機(jī)器的host沒(méi)有大關(guān)系。

max_renewable_life = 7d 涉及到是否能進(jìn)行ticket的renwe必須配置。
master_key_type:和supported_enctypes默認(rèn)使用aes256-cts。由于,JAVA使用aes256-cts驗(yàn)證方式需要安裝額外的jar包,更多參考2.2.9關(guān)于AES-256加密:。推薦不使用。

acl_file:標(biāo)注了admin的用戶權(quán)限。文件格式是

Kerberos_principal permissions [target_principal] [restrictions]支持通配符等。

admin_keytab:KDC進(jìn)行校驗(yàn)的keytab。后文會(huì)提及如何創(chuàng)建。

supported_enctypes:支持的校驗(yàn)方式。注意把a(bǔ)es256-cts去掉。

2.2.4 配置krb5.conf

/etc/krb5.conf: 包含Kerberos的配置信息。例如,KDC的位置,Kerberos的admin的realms 等。需要所有使用的Kerberos的機(jī)器上的配置文件都同步。這里僅列舉需要的基本配置。

配置示例:

[logging]
default=FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = HADOOP.COM
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
# udp_preference_limit = 1
[realms]
HADOOP.COM = {
kdc = vmw201
admin_server = vmw201
}
[domain_realm]
.hadoop.com = HADOOP.COM
hadoop.com = HADOOP.COM

說(shuō)明:

[logging]:表示server端的日志的打印位置

[libdefaults]:每種連接的默認(rèn)配置,需要注意以下幾個(gè)關(guān)鍵的小配置

default_realm = HADOOP.COM 默認(rèn)的realm,必須跟要配置的realm的名稱一致。

udp_preference_limit = 1 禁止使用udp可以防止一個(gè)Hadoop中的錯(cuò)誤

oticket_lifetime表明憑證生效的時(shí)限,一般為24小時(shí)。

orenew_lifetime表明憑證最長(zhǎng)可以被延期的時(shí)限,一般為一個(gè)禮拜。當(dāng)憑證過(guò)期之后,

對(duì)安全認(rèn)證的服務(wù)的后續(xù)訪問(wèn)則會(huì)失敗。
[realms]:列舉使用的realm。

kdc:代表要kdc的位置。格式是 機(jī)器:端口

admin_server:代表admin的位置。格式是機(jī)器:端口

default_domain:代表默認(rèn)的域名

[appdefaults]:可以設(shè)定一些針對(duì)特定應(yīng)用的配置,覆蓋默認(rèn)配置。

2.2.5 創(chuàng)建/初始化Kerberos database

初始化并啟動(dòng):完成上面兩個(gè)配置文件后,就可以進(jìn)行初始化并啟動(dòng)了。

[root@vmw201 ~]# /usr/sbin/kdb5_util create -s -r HADOOP.COM

其中,[-s]表示生成stash file,并在其中存儲(chǔ)master server key(krb5kdc);還可以用[-r]來(lái)指定一個(gè)realm name —— 當(dāng)krb5.conf中定義了多個(gè)realm時(shí)才是必要的。

# 保存路徑為/var/kerberos/krb5kdc 如果需要重建數(shù)據(jù)庫(kù),將該目錄下的principal相關(guān)的文件刪除即可

在此過(guò)程中,我們會(huì)輸入database的管理密碼。這里設(shè)置的密碼一定要記住,如果忘記了,就無(wú)法管理Kerberos server。

當(dāng)Kerberos database創(chuàng)建好后,可以看到目錄 /var/kerberos/krb5kdc 下生成了幾個(gè)文件:

kadm5.acl
kdc.conf
principal
principal.kadm5
principal.kadm5.lock
principal.ok

2.2.6 添加database administrator

我們需要為Kerberos database添加administrative principals (即能夠管理database的principals) —— 至少要添加1個(gè)principal來(lái)使得Kerberos的管理進(jìn)程kadmind能夠在網(wǎng)絡(luò)上與程序kadmin進(jìn)行通訊。

在maste KDC上執(zhí)行:

[root@vmw201 /]# /usr/sbin/kadmin.local -q "addprinc admin/admin"

并為其設(shè)置密碼

kadmin.local

可以直接運(yùn)行在master KDC上,而不需要首先通過(guò)Kerberos的認(rèn)證,實(shí)際上它只需要對(duì)本
地文件的讀寫權(quán)限。

2.2.7 為database administrator設(shè)置ACL權(quán)限

在KDC上我們需要編輯acl文件來(lái)設(shè)置權(quán)限,該acl文件的默認(rèn)路徑是 /var/kerberos/krb5kdc/kadm5.acl(也可以在文件kdc.conf中修改)。Kerberos的kadmind daemon會(huì)使用該文件來(lái)管理對(duì)Kerberos database的訪問(wèn)權(quán)限。對(duì)于那些可能會(huì)對(duì)pincipal產(chǎn)生影響的操作,acl文件也能控制哪些principal能操作哪些其他pricipals。

我們現(xiàn)在為administrator設(shè)置權(quán)限:將文件/var/kerberos/krb5kdc/kadm5.acl的內(nèi)容編輯為

*/admin@HADOOP.COM

代表名稱匹配*/admin@HADOOP.COM 都認(rèn)為是admin,權(quán)限是 *。代表全部權(quán)限。

2.2.8 在master KDC啟動(dòng)Kerberos daemons

手動(dòng)啟動(dòng):

[root@vmw201 /]# service krb5kdc start
[root@vmw201 /]# service kadmin start

設(shè)置開機(jī)自動(dòng)啟動(dòng):

[root@vmw201 /]# chkconfig krb5kdc on
[root@vmw201 /]# chkconfig kadmin on

現(xiàn)在KDC已經(jīng)在工作了。這兩個(gè)daemons將會(huì)在后臺(tái)運(yùn)行,可以查看它們的日志文件(/var/log/krb5kdc.log 和 /var/log/kadmind.log)。

可以通過(guò)命令kinit來(lái)檢查這兩個(gè)daemons是否正常工作。

2.2.9關(guān)于AES-256加密

對(duì)于使用 centos5. 6及以上的系統(tǒng),默認(rèn)使用 AES-256 來(lái)加密的。這就需要集群中的所有節(jié)點(diǎn)上安裝 Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy File。
下載的文件是一個(gè) zip 包,解開后,將里面的兩個(gè)文件放到下面的目錄中:$JAVA_HOME/jre/lib/security

2.3 Configuring Kerberos Clients

2.3.1 Installing Kerberos Client(CentOS7可以省略此步驟)

在另外兩臺(tái)主機(jī)(vmw202,vmw203)上安裝kerberos客戶端。

yum install krb5-workstation krb5-libs krb5-auth-dialog

2.3.2 配置krb5.conf

配置這些主機(jī)上的/etc/krb5.conf,這個(gè)文件的內(nèi)容與KDC中的文件保持一致即可。

3. kerberos的日常操作與常見(jiàn)問(wèn)題

3.1 管理員操作

3.1.1 登錄

登錄到管理員賬戶: 如果在本機(jī)上,可以通過(guò)kadmin.local直接登錄。其它機(jī)器的,先使用kinit進(jìn)行驗(yàn)證。

3.1.2增刪改查賬戶

在管理員的狀態(tài)下使用addprinc,delprinc,modprinc,listprincs命令。使用?可以列出所有的命令。

kadmin.local: addprinc test
kadmin.local: delprinc test
kadmin.local: listprincs

3.1.3生成keytab:使用xst命令或者ktadd命令

kadmin:xst -k /xxx/xxx/kerberos.keytab hdfs/hadoop1

3.2 用戶操作

3.2.1 查看當(dāng)前的認(rèn)證用戶

3.2.3 認(rèn)證用戶

kinit -kt /xx/xx/kerberos.keytab hdfs/hadoop1

3.2.4 刪除當(dāng)前的認(rèn)證的緩存

kdestroy

3.3 常見(jiàn)問(wèn)題

3.3.1 查看ticket是否是renewable

通過(guò)klist命令來(lái)查看

如果Valid starting的值與renew until的值相同,則表示該principal的ticket 不是 renwable。

3.3.2 ticket無(wú)法更新

如果過(guò)了Expires,可以通過(guò)命令kinit –R來(lái)更新ticket
但如果ticket無(wú)法更新

[root@vmw201 ~]$ kinit -R
kinit: Ticket expired while renewing credentials

這是因?yàn)閗rbtgt/HADOOP.COM@ HADOOP.COM的[renewlife]被設(shè)置成了0,這一點(diǎn)可以通過(guò)[kadmin.local => getprinc krbtgt/ HADOOP.COM @ HADOOP.COM]看出來(lái)。

將krbtgt/HADOOP.COM@HADOOP.COM的[renewlife]修改為7days即可,方法

kadmin.local: modprinc -maxrenewlife 1week krbtgt/HADOOP.COM@HADOOP.COM

以上所述是小編給大家介紹的Kerberos安裝教程及使用詳解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評(píng)論