国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務(wù)器 > Web服務(wù)器 > 正文

Kerberos安裝教程及使用詳解

2024-09-01 13:48:27
字體:
供稿:網(wǎng)友

Kerberos協(xié)議:

Kerberos協(xié)議主要用于計(jì)算機(jī)網(wǎng)絡(luò)的身份鑒別(Authentication), 其特點(diǎn)是用戶只需輸入一次身份驗(yàn)證信息就可以憑借此驗(yàn)證獲得的票據(jù)(ticket-granting ticket)訪問多個(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 KDCVmw202 172.16.18.202 Kerberos clientVmw203 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ī)來運(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。或者通過覆蓋KRB5_KDC_PROFILE環(huán)境變量修改配置文件位置。

配置示例:

[kdcdefaults]kdc_ports = 88kdc_tcp_ports = 88[realms]HADOOP.COM = {#master_key_type = aes256-ctsacl_file = /var/kerberos/krb5kdc/kadm5.acldict_file = /usr/share/dict/wordsadmin_keytab = /var/kerberos/krb5kdc/kadm5.keytabmax_renewable_life = 7dsupported_enctypes = aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal}

說明:

HADOOP.COM:是設(shè)定的realms。名字隨意。Kerberos可以支持多個(gè)realms,會(huì)增加復(fù)雜度。本文不探討。大小寫敏感,一般為了識(shí)別使用全部大寫。這個(gè)realms跟機(jī)器的host沒有大關(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.logkdc = FILE:/var/log/krb5kdc.logadmin_server = FILE:/var/log/kadmind.log[libdefaults]default_realm = HADOOP.COMdns_lookup_realm = falsedns_lookup_kdc = falseticket_lifetime = 24hrenew_lifetime = 7dforwardable = true# udp_preference_limit = 1[realms]HADOOP.COM = {kdc = vmw201admin_server = vmw201}[domain_realm].hadoop.com = HADOOP.COMhadoop.com = HADOOP.COM

說明:

[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表明憑證最長可以被延期的時(shí)限,一般為一個(gè)禮拜。當(dāng)憑證過期之后,

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

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

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

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

[appdefaults]:可以設(shè)定一些針對特定應(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]來指定一個(gè)realm name —— 當(dāng)krb5.conf中定義了多個(gè)realm時(shí)才是必要的。

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

在此過程中,我們會(huì)輸入database的管理密碼。這里設(shè)置的密碼一定要記住,如果忘記了,就無法管理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來使得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上,而不需要首先通過Kerberos的認(rèn)證,實(shí)際上它只需要對本
地文件的讀寫權(quán)限。

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

在KDC上我們需要編輯acl文件來設(shè)置權(quán)限,該acl文件的默認(rèn)路徑是 /var/kerberos/krb5kdc/kadm5.acl(也可以在文件kdc.conf中修改)。Kerberos的kadmind daemon會(huì)使用該文件來管理對Kerberos database的訪問權(quán)限。對于那些可能會(huì)對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)。

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

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

對于使用 centos5. 6及以上的系統(tǒng),默認(rèn)使用 AES-256 來加密的。這就需要集群中的所有節(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的日常操作與常見問題

3.1 管理員操作

3.1.1 登錄

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

kerberos安裝,kerberos使用,kerberos

kerberos安裝,kerberos使用,kerberos

3.1.2增刪改查賬戶

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

kadmin.local: addprinc testkadmin.local: delprinc testkadmin.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)證用戶

kerberos安裝,kerberos使用,kerberos

3.2.3 認(rèn)證用戶

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

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

kdestroy

3.3 常見問題

3.3.1 查看ticket是否是renewable

通過klist命令來查看

kerberos安裝,kerberos使用,kerberos

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

3.3.2 ticket無法更新

如果過了Expires,可以通過命令kinit –R來更新ticket
但如果ticket無法更新

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

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

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

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

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

 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 临澧县| 陇西县| 共和县| 突泉县| 泸水县| 敦化市| 兴和县| 蒲江县| 星座| 岱山县| 府谷县| 兴宁市| 锡林郭勒盟| 桦南县| 乌苏市| 湟源县| 海兴县| 万盛区| 南安市| 铜山县| 青龙| 永福县| 北安市| 安吉县| 石景山区| 汉中市| 阜宁县| 高州市| 鄯善县| 睢宁县| 涡阳县| 镇坪县| 大新县| 马龙县| 保山市| 郎溪县| 洞口县| 广平县| 弋阳县| 普宁市| 修武县|