欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

kerberos實(shí)現(xiàn)原理(轉(zhuǎn)載)-創(chuàng)新互聯(lián)

原文地址:http://dongxicheng.org/mapreduce/hadoop-kerberos-introduction/

專注于為中小企業(yè)提供網(wǎng)站制作、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)赤城免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。1. 背景

在Hadoop1.0.0或者CDH3 版本之前, hadoop并不存在安全認(rèn)證一說。默認(rèn)集群內(nèi)所有的節(jié)點(diǎn)都是可靠的,值得信賴的。用戶與HDFS或者M(jìn)/R進(jìn)行交互時(shí)并不需要進(jìn)行驗(yàn)證。導(dǎo)致存在惡意用 戶偽裝成真正的用戶或者服務(wù)器入侵到hadoop集群上,惡意的提交作業(yè),修改JobTracker狀態(tài),篡改HDFS上的數(shù)據(jù),偽裝成NameNode 或者TaskTracker接受任務(wù)等。 盡管在版本0.16以后, HDFS增加了文件和目錄的權(quán)限,但是并沒有強(qiáng)認(rèn)證的保障,這些權(quán)限只能對(duì)偶然的數(shù)據(jù)丟失起保護(hù)作用。惡意的用戶可以輕易的偽裝成其他用戶來篡改權(quán)限,致 使權(quán)限設(shè)置形同虛設(shè)。不能夠?qū)adoop集群起到安全保障。

在Hadoop1.0.0或者CDH3版本后,加入了Kerberos認(rèn)證機(jī)制。使得集群中的節(jié)點(diǎn)就是它們所宣稱的,是信賴的。Kerberos可 以將認(rèn)證的密鑰在集群部署時(shí)事先放到可靠的節(jié)點(diǎn)上。集群運(yùn)行時(shí),集群內(nèi)的節(jié)點(diǎn)使用密鑰得到認(rèn)證。只有被認(rèn)證過節(jié)點(diǎn)才能正常使用。企圖冒充的節(jié)點(diǎn)由于沒有事 先得到的密鑰信息,無法與集群內(nèi)部的節(jié)點(diǎn)通信。防止了惡意的使用或篡改Hadoop集群的問題,確保了Hadoop集群的可靠安全。

2. Hadoop 安全問題 2.1  用戶到服務(wù)器的認(rèn)證問題 NameNode,,JobTracker上沒有用戶認(rèn)證

用戶可以偽裝成其他用戶入侵到一個(gè)HDFS 或者M(jìn)apReduce集群上。

DataNode上沒有認(rèn)證

Datanode對(duì)讀入輸出并沒有認(rèn)證。導(dǎo)致如果一些客戶端如果知道block的ID,就可以任意的訪問DataNode上block的數(shù)據(jù)

JobTracker上沒有認(rèn)證

可以任意的殺死或更改用戶的jobs,可以更改JobTracker的工作狀態(tài)

2.2 服務(wù)器到服務(wù)器的認(rèn)證問題 沒有DataNode, TaskTracker的認(rèn)證

用戶可以偽裝成datanode ,tasktracker,去接受JobTracker, Namenode的任務(wù)指派。

3. Kerberos能解決的Hadoop安全認(rèn)證問題

kerberos實(shí)現(xiàn)的是機(jī)器級(jí)別的安全認(rèn)證,也就是前面提到的服務(wù)到服務(wù)的認(rèn)證問題。事先對(duì)集群中確定的機(jī)器由管理員手動(dòng)添加到kerberos 數(shù)據(jù)庫中,在KDC上分別產(chǎn)生主機(jī)與各個(gè)節(jié)點(diǎn)的keytab(包含了host和對(duì)應(yīng)節(jié)點(diǎn)的名字,還有他們之間的密鑰),并將這些keytab分發(fā)到對(duì)應(yīng)的 節(jié)點(diǎn)上。通過這些keytab文件,節(jié)點(diǎn)可以從KDC上獲得與目標(biāo)節(jié)點(diǎn)通信的密鑰,進(jìn)而被目標(biāo)節(jié)點(diǎn)所認(rèn)證,提供相應(yīng)的服務(wù),防止了被冒充的可能性。

解決服務(wù)器到服務(wù)器的認(rèn)證

由于kerberos對(duì)集群里的所有機(jī)器都分發(fā)了keytab,相互之間使用密鑰進(jìn)行通信,確保不會(huì)冒充服務(wù)器的情況。集群中的機(jī)器就是它們所宣稱的,是可靠的。

防止了用戶偽裝成Datanode,Tasktracker,去接受JobTracker,Namenode的任務(wù)指派。

解決client到服務(wù)器的認(rèn)證

Kerberos對(duì)可信任的客戶端提供認(rèn)證,確保他們可以執(zhí)行作業(yè)的相關(guān)操作。防止用戶惡意冒充client提交作業(yè)的情況。

用戶無法偽裝成其他用戶入侵到一個(gè)HDFS 或者M(jìn)apReduce集群上

用戶即使知道datanode的相關(guān)信息,也無法讀取HDFS上的數(shù)據(jù)

用戶無法發(fā)送對(duì)于作業(yè)的操作到JobTracker上

對(duì)用戶級(jí)別上的認(rèn)證并沒有實(shí)現(xiàn)

無法控制用戶提交作業(yè)的操作。不能夠?qū)崿F(xiàn)限制用戶提交作業(yè)的權(quán)限。不能控制哪些用戶可以提交該類型的作業(yè),哪些用戶不能提交該類型的作業(yè)。這些由ACL模塊控制(參考)

4. Kerberos工作原理介紹 4.1 基本概念

Princal(安全個(gè)體):被認(rèn)證的個(gè)體,有一個(gè)名字和口令

KDC(key distribution center ) : 是一個(gè)網(wǎng)絡(luò)服務(wù),提供ticket 和臨時(shí)會(huì)話密鑰

Ticket:一個(gè)記錄,客戶用它來向服務(wù)器證明自己的身份,包括客戶標(biāo)識(shí)、會(huì)話密鑰、時(shí)間戳。

AS (Authentication Server): 認(rèn)證服務(wù)器

TSG(Ticket Granting Server): 許可證服務(wù)器

4.2 kerberos 工作原理 4.2.1 Kerberos協(xié)議

Kerberos可以分為兩個(gè)部分:

Client向KDC發(fā)送自己的身份信息,KDC從Ticket Granting Service得到TGT(ticket-granting ticket), 并用協(xié)議開始前Client與KDC之間的密鑰將TGT加密回復(fù)給Client。此時(shí)只有真正的Client才能利用它與KDC之間的 密鑰將加密后的TGT解密,從而獲得TGT。(此過程避免了Client直接向KDC發(fā)送密碼,以求通過驗(yàn)證的不安全方式) Client利用之前獲得的TGT向KDC請(qǐng)求其他Service的Ticket,從而通過其他Service的身份鑒別

4.3 Kerberos認(rèn)證過程

Kerberos協(xié)議的重點(diǎn)在于第二部分(即認(rèn)證過程):

(1)Client將之前獲得TGT和要請(qǐng)求的服務(wù)信息(服務(wù)名等)發(fā)送給KDC,KDC中的Ticket Granting Service將為Client和Service之間生成一個(gè)Session Key用于Service對(duì)Client的身份鑒別。然后KDC將這個(gè)Session Key和用戶名,用戶地址(IP),服務(wù)名,有效期, 時(shí)間戳一起包裝成一個(gè)Ticket(這些信息最終用于Service對(duì)Client的身份鑒別)發(fā) 送給Service, 不過Kerberos協(xié)議并沒有直接將Ticket發(fā)送給Service,而是通過Client轉(zhuǎn)發(fā)給Service,所以有了第 二步。

(2)此時(shí)KDC將剛才的Ticket轉(zhuǎn)發(fā)給Client。由于這個(gè)Ticket是要給Service的,不能讓Client看到,所以KDC用協(xié) 議開始前KDC與Service之間的密鑰將Ticket加密后再發(fā)送給Client。同時(shí)為了讓Client和Service之間共享那個(gè)密鑰(KDC 在第一步為它們創(chuàng)建的Session Key),KDC用Client與它之間的密鑰將Session Key加密隨加密的Ticket一起返回給Client。

(3)為了完成Ticket的傳遞,Client將剛才收到的Ticket轉(zhuǎn)發(fā)到Service. 由于Client不知道KDC與Service 之間的密鑰,所以它無法算改Ticket中的信息。同時(shí)Client將收到的Session Key解密出來,然后將自己的用戶名,用戶地址(IP)打包成Authenticator用Session Key加密也發(fā)送給Service。

(4)Service 收到Ticket后利用它與KDC之間的密鑰將Ticket中的信息解密出來,從而獲得Session Key和用戶名,用戶地址(IP),服務(wù)名,有效期。然后再用Session Key將Authenticator解密從而獲得用戶名,用戶地址(IP)將其與之前Ticket中解密出來的用戶名,用戶地址(IP)做比較從而驗(yàn)證 Client的身份。

(5)如果Service有返回結(jié)果,將其返回給Client。

4.4  kerberos在Hadoop上的應(yīng)用

Hadoop集群內(nèi)部使用Kerberos進(jìn)行認(rèn)證

具體的執(zhí)行過程可以舉例如下:

4.5  使用kerberos進(jìn)行驗(yàn)證的原因
可靠 Hadoop 本身并沒有認(rèn)證功能和創(chuàng)建用戶組功能,使用依靠外圍的認(rèn)證系統(tǒng) 高效 Kerberos使用對(duì)稱鑰匙操作,比SSL的公共密鑰快 操作簡單 用戶可以方便進(jìn)行操作,不需要很復(fù)雜的指令。比如廢除一個(gè)用戶只需要從Kerbores的KDC數(shù)據(jù)庫中刪除即可。
不登高山,怎知天高;不臨深溪,焉知地厚!站在堅(jiān)實(shí)的土地上,做著生命中最真實(shí)的事情;像一棵挺拔的大樹,認(rèn)可自己的命運(yùn)并敢于迎接屬于這一方天空的風(fēng)風(fēng)雨雨。

網(wǎng)站標(biāo)題:kerberos實(shí)現(xiàn)原理(轉(zhuǎn)載)-創(chuàng)新互聯(lián)
文章出自:http://chinadenli.net/article0/eodoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃定制網(wǎng)站手機(jī)網(wǎng)站建設(shè)定制開發(fā)營銷型網(wǎng)站建設(shè)域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)