中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CDH5.X如何安裝配置kerberos認證

發布時間:2021-11-12 14:26:42 來源:億速云 閱讀:147 作者:小新 欄目:云計算

小編給大家分享一下CDH5.X如何安裝配置kerberos認證,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

1. 背景

在Hadoop1.0.0或 者CDH3 版本之前, hadoop并不存在安全認證一說。默認集群內所有的節點都是可靠的,值得信賴的。用戶與HDFS或者M/R進行交互時并不需要進行驗證。導致存在惡意用 戶偽裝成真正的用戶或者服務器入侵到hadoop集群上,惡意的提交作業,修改JobTracker狀態,篡改HDFS上的數據,偽裝成NameNode 或者TaskTracker接受任務等。 盡管在版本0.16以后, HDFS增加了文件和目錄的權限,但是并沒有強認證的保障,這些權限只能對偶然的數據丟失起保護作用。惡意的用戶可以輕易的偽裝成其他用戶來篡改權限,致 使權限設置形同虛設。不能夠對Hadoop集群起到安全保障。

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

2. 安裝過程(需要如下8個步驟)

Configuring a Kerberos 5 Server

When setting up Kerberos, install the KDC first. If it is necessary to set up slave servers, install the master first.

To configure the first Kerberos KDC, follow these steps:

1.確保正常時間同步和 DNS配置Kerberos之前所有的客戶機和服務器。特別注意Kerberos服務器和客戶之間的時間同步。如果服務器和客戶端之間的時間差大于5分鐘 (這是可配置Kerberos 5),Kerberos客戶端不能到服務器進行身份驗證。這個時間同步是必要的,以防止攻擊者使用一個古老的Kerberos票據冒充合法用戶。

建議建立一個網絡時間協議 (NTP)兼容的客戶端/服務器網絡即使Kerberos是沒有被使用。Red Hat Enterprise Linux包括國家結核控制規劃方案。指/usr/share/doc/ntp——<版本號> /索引。html(<版本號>是國家結核控制規劃的版本號包安裝在您的系統)的細節如何設置網絡時間協議服務器,和http: //www.ntp.org有關國家結核控制規劃的更多信息。

2. 安裝krb5-libs,krb5-server和krb5-workstation包在專用的機器上運行KDC。這臺機器需要很安全——如果可能的話,它不應該運行KDC以外的任何服務。

3. 編輯/etc/krb5.conf和/var/kerberos/krb5kdc/kdc.conf配置文件反映了域名和domain-to-realm 映射。一個簡單的域可以被取代的實例構造的例子。COM和example.com使用正確的域名,一定保持大寫和小寫名稱正確的格式,通過改變從 kerberos.example.com KDC Kerberos服務器的名稱。按照慣例,所有領域名稱大寫和DNS主機名和域名是小寫的。關于這些配置文件格式的完整細節,請參考各自的手冊頁。

4. Create the database using the kdb5_util utility from a shell prompt:

/usr/kerberos/sbin/kdb5_util create -s

創建命令創建數據庫存儲Kerberos領域的鑰匙。-s強制創建一個隱藏文件的主服務器密鑰存儲。如果沒有存在隱藏文件的閱讀的關鍵,Kerberos服務器(krb5kdc)提示用戶的主服務器密碼(可用于再生的關鍵)每次開始。

5. 編輯 /var/kerberos/krb5kdc/kadm5.acl文件,這個文件是用于kadmind使用這個文件來確定哪個最重要的管理者獲得Kerberos數據庫的訪問級別。大多數組織可以靠一行:

*/admin@EXAMPLE.COM  *

大多數用戶表示在數據庫由一個主體(NULL或空的,實例,如joe@EXAMPLE.COM)。在這個配置中,用戶與第二個主要管理的實例(例如,喬/ admin@EXAMPLE.COM)能夠使用全功率領域的Kerberos數據庫。

  kadmind服務器上已經開始后,任何用戶都可以訪問它的服務的任何客戶機或服務器上運行的kadmin領域。然而,只有用戶kadm5中列出。acl文件可以以任何方式修改數據庫,除了更改自己的密碼。

  請注意

  kadmin實用與 kadmind服務器通過網絡、通信和使用Kerberos來處理身份驗證。因此,首先校長必須已經存在的連接到服務器之前通過網絡來管理它。創建第一個 和kadmin本金。本地命令,它是專門設計用于在同一個主機上KDC和不使用Kerberos身份驗證。

以下的kadmin類型。本地命令創建第一個主KDC終端:  

/usr/kerberos/sbin/kadmin.local -q "addprinc username/admin"

6.Start Kerberos using the following commands:

/sbin/service krb5kdc start

/sbin/service kadmin start

/sbin/service krb524 start

7. 為用戶添加主體使用addprinc命令。在kadmin.kadmin和kaadmin.local KDC的命令行接口。因此,許多命令——例如addprinc——發射后可用kadmin程序。指kadmin手冊頁獲得更多信息。

8. 確認KDC發行彩票。首先,運行kinit獲得一張票并將其存儲在一個憑證高速緩存文件。接下來,使用列表中查看憑證在緩存中,并使用kdestroy破壞緩存和它所包含的憑證。

請注意

  默認情況下,kinit試圖使用相同的系統登錄驗證用戶名(不是Kerberos服務器)。如果用戶名不對應于主要在Kerberos數據庫 中,kinit問題一條錯誤消息。如果出現這種情況,kinit提供正確的名稱主要作為參數的命令行(kinit <主要>)。

1. 安裝Kerberos。

?3.2. Installing Kerberos

Kerberos packages may be installed by default, but make sure that the appropriate packages are installed for the Kerberos server or client being configured.

To install packages for a Kerberos server:

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

To install packages for a Kerberos client:

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

If the Red Hat Enterprise Linux system will use Kerberos as part of single sign-on with smart cards, then also install the required PKI/OpenSSL package:

# yum install krb5-pkinit-openssl

//下載jce替換 ocal_policy.jar and US_export_policy.jar files on each host by extracting the contents of the downloaded package into the $JAVA_HOME/jre/lib/security/ directory.

http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html    //下載完畢后,解壓得到的如下.jar拷貝到java_home/jre/lib/security/文件目錄下:

[root@master ~]# ll

總用量 16

-rw-rw-r-- 1 root root 3035 12月 21 2013 local_policy.jar

-rw-r--r-- 1 root root 7323 12月 21 2013 README.txt

-rw-rw-r-- 1 root root 3023 12月 21 2013 US_export_policy.jar

[root@master ~]# 

[root@master ~]# cp /root/UnlimitedJCEPolicyJDK8/*.jar /usr/java/default/jre/lib/security/

[root@slave1 ~]# yum install krb5-server krb5-libs krb5-auth-dialog   //安裝server端 由于master服務器上放的服務比較多,現在把其中一個slave作為一個kerberos服務器。

//服務器端安裝完畢后,在客戶端安裝如下對應的客戶端。

[root@slave2 ~]#  yum install krb5-workstation krb5-libs krb5-auth-dialog

[root@master ~]#  yum install krb5-workstation krb5-libs krb5-auth-dialog

//修改/etc/krb5.conf

vim /etc/krb5.conf

[root@master ~]# cat /etc/krb5.conf 

[logging]

default = FILE:/var/log/krb5libs.log

kdc = FILE:/var/log/krb5kdc.log

admin_server = FILE:/var/log/kadmind.log

[libdefaults]

default_realm = master

dns_lookup_kdc = false

dns_lookup_realm = false

clockskew = 120

ticket_lifetime = 86400

renew_lifetime = 604800

forwardable = true

renewable = true

#default_tgs_enctypes = rc4-hmac

#default_tkt_enctypes = rc4-hmac

#permitted_enctypes = rc4-hmac

#udp_preference_limit = 1

[realms]

master = {

kdc = 192.168.8.94:88

admin_server = 192.168.8.94:749

}

[domain_realm]

[kdc]

profile=/var/kerberos/krb5kdc/kdc.conf

修改完畢后,拷貝到機器其他機器上。

//修改/var/kerberos/krb5kdc/kdc.conf

vim /var/kerberos/krb5kdc/kdc.conf

[root@master ~]# cat /var/kerberos/krb5kdc/kdc.conf 

[kdcdefaults]

 kdc_ports = 88

 kdc_tcp_ports = 88

[realms]

 master = {

  master_key_type = aes256-cts

  max_life = 25h

  max_renewable_life = 4w

  acl_file = /var/kerberos/krb5kdc/kadm5.acl

  dict_file = /usr/share/dict/words

  admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab

  supported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal

  max_life = 24h

  max_renewable_life = 10d

  #default_principal_flags = +renewable, +forwardable

 }

//修改/etc/

[root@master ~]# vim /var/kerberos/krb5kdc/kadm5.acl

*/admin@master  *

以上三個文件配置完畢后,只需拷貝krb5.conf到集群中其他機器上即可。

[root@master ~]# scp /etc/krb5.conf slave1:/etc/

krb5.conf                                                                             100%  422     0.4KB/s   00:00    

[root@master ~]# scp /etc/krb5.conf slave2:/etc/

krb5.conf                                                                             100%  422     0.4KB/s   00:00    

[root@master ~]# 

//啟動kdc服務器

/sbin/service krb5kdc start

/sbin/service kadmin start

//創建kerberos數據庫 密碼輸入的是:123456

[root@master ~]#  /usr/sbin/kdb5_util create -r master -s

[root@master ~]#  kadmin.local     //創建遠程管理的管理員賬戶

[root@master ~]# kadmin.local 

Authenticating as principal test/admin@master with password.

kadmin.local:  listprincs       //列出所有用戶listprincs

K/M@master

hdfs/slave1@master

kadmin/admin@master

kadmin/changepw@master

kadmin/master@master

krbtgt/master@master

test@master

kadmin.local:  addprinc hadoop/admin@master   //創建測試用戶hadoop

WARNING: no policy specified for wwn@master; defaulting to no policy

Enter password for principal "hadoop@master": 

Re-enter password for principal "hadoop@master": 

Principal "hadoop@master" created.

kadmin.local:  listprincs         //查看,最后一個wwn@master用戶創建成功。  

K/M@master

hdfs/slave1@master

kadmin/admin@master

kadmin/changepw@master

kadmin/master@master

krbtgt/master@master

test@master

hadoop/admin@master

[root@master ~]# kinit hadoop     //測試:使用之前創建的wwn用戶,輸入密碼后,沒有報錯即可。

Password for wwn@master: 

[root@master ~]# klist -e      //查看緩存的票據認購:可以看到,已經以hadoop@master登陸成功。

Ticket cache: FILE:/tmp/krb5cc_0

Default principal: hadoop@master

Valid starting     Expires            Service principal

12/26/14 08:24:48  12/27/14 08:24:48  krbtgt/master@master

        renew until 12/26/14 08:24:52, Etype (skey, tkt): arcfour-hmac, arcfour-hmac 

[root@master krb5kdc]# kinit hadoop

kinit: Client not found in Kerberos database while getting initial credentials

[root@master krb5kdc]# kinit hadoop/admin@master

Password for hadoop/admin@master: 

[root@master krb5kdc]# klist -e

Ticket cache: FILE:/tmp/krb5cc_0

Default principal: hadoop/admin@master

Valid starting     Expires            Service principal

01/05/15 11:16:56  01/06/15 11:16:56  krbtgt/master@master

        renew until 01/05/15 11:17:00, Etype (skey, tkt): aes256-cts-hmac-sha1-96, aes256-cts-hmac-sha1-96 

四、配置KDC

1.創建票據賬號

[root@master ~]# kadmin.local 

addprinc -randkey hdfs/master@master

addprinc -randkey hdfs/slave1@master

addprinc -randkey hdfs/slave2@master

addprinc -randkey mapred/master@master

addprinc -randkey mapred/slave1@master

addprinc -randkey mapred/slave2@master

addprinc -randkey host/master@master

addprinc -randkey host/slave1@master

addprinc -randkey host/slave2@master

2.創建keytab 文件,該文件是包括票據賬號+票據賬號密碼加密的密鑰

[root@master ~]# kadmin.local 

xst -norandkey -k hdfs.keytab hdfs/master host/master

xst -norandkey -k hdfs.keytab hdfs/slave1 host/slave1

xst -norandkey -k hdfs.keytab hdfs/slave2 host/slave2

xst -norandkey -k mapred.keytab mapred/master host/master

xst -norandkey -k mapred.keytab mapred/slave1 host/slave1

xst -norandkey -k mapred.keytab mapred/slave2 host/slave2

3.驗證

[root@master ~]# kinit -k -t /root/hdfs.keytab hdfs/master@master

沒報錯即可。

4. 將hdfs.keytab 和mapred.keytab 拷貝到集群的/usr/lib/hadoop-0.20/conf/

[root@master ~]# cp hdfs.keytab /etc/hadoop/conf/

[root@master ~]# cp mapred.keytab /etc/hadoop/conf/

[root@master conf]# chown hdfs:hadoop hdfs.keytab

[root@master conf]# chown mapred:hadoop mapred.keytab

[root@master conf]# chmod 400 ./*.keytab

五、配置hadoop  (手動配置比較復雜,需要修改如下文件。)

停止hadoop 集群

vim /etc/hadoop/conf/core-site.xml   //修改simple為:kerberos,把第二項的false更改為true

<property>

  <name>hadoop.security.authentication</name>

  <value>kerberos</value>

</property>

<property>

  <name>hadoop.security.authorization</name>

  <value>true</value> 

[root@master conf]# vim /etc/hadoop/conf/hdfs-site.xml

最后配置完成后查看生成的用戶為:

[root@master ~]# kadmin.local 

Authenticating as principal root/admin@master with password.

kadmin.local:  listprincs

HTTP/master@master

HTTP/slave1@master

HTTP/slave2@master

K/M@master

hadoop/admin@master

hbase/master@master

hbase/slave1@master

hbase/slave2@master

hdfs/master@master

hdfs/slave1@master

hdfs/slave2@master

hive/master@master

host/master@master

host/slave1@master

host/slave2@master

httpfs/master@master

hue/master@master

impala/master@master

impala/slave1@master

impala/slave2@master

kadmin/admin@master

kadmin/changepw@master

kadmin/master@master

krbtgt/master@master

mapred/master@master

mapred/slave1@master

mapred/slave2@master

oozie/master@master

solr/master@master

solr/slave1@master

solr/slave2@master

spark/master@master

test@master

yarn/master@master

yarn/slave1@master

yarn/slave2@master

zookeeper/master@master

zookeeper/slave1@master

zookeeper/slave2@master

CDH配置步驟比較簡單:需要如下8個步驟:分別截圖如下:

CDH5.X如何安裝配置kerberos認證

CDH5.X如何安裝配置kerberos認證

CDH5.X如何安裝配置kerberos認證

CDH5.X如何安裝配置kerberos認證

CDH5.X如何安裝配置kerberos認證

CDH5.X如何安裝配置kerberos認證

CDH5.X如何安裝配置kerberos認證

以上是“CDH5.X如何安裝配置kerberos認證”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新民市| 长武县| 迁安市| 监利县| 昌邑市| 漯河市| 且末县| 措勤县| 巴林左旗| 临漳县| 揭东县| 论坛| 诸暨市| 深圳市| 巴青县| 区。| 乡宁县| 丽水市| 绥芬河市| 钦州市| 淮阳县| 阳东县| 花垣县| 嘉鱼县| 兰溪市| 临夏市| 天等县| 蒙山县| 江源县| 礼泉县| 都昌县| 阿拉尔市| 平远县| 涟水县| 武乡县| 子洲县| 宜宾市| 盐山县| 余干县| 邻水| 广安市|