成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

大數(shù)據(jù)開發(fā)系列三:kerberos認證實踐

IT那活兒 / 2078人閱讀
大數(shù)據(jù)開發(fā)系列三:kerberos認證實踐

點擊上方“IT那活兒”公眾號,關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了?。?!

我們平常會基于大數(shù)據(jù)組件來實現(xiàn)客戶業(yè)務(wù)場景,而所使用大數(shù)據(jù)組件時(hadoop/flink/kafka等),會被安全廠商掃描出安全訪問漏洞,業(yè)界推薦用kerberos來解決此類安全訪問問題。

Kerberos介紹

Kerberos是一種網(wǎng)絡(luò)認證協(xié)議,在互不信任的網(wǎng)絡(luò)中,Kerberos提供了一種可靠的中心化認證協(xié)議,以便網(wǎng)絡(luò)中的各個機器之間能夠相互訪問。

安裝規(guī)劃

類型
主機
主機hostname
安裝組件

服務(wù)端

192.168.199.102

bigdata-03

krb5-server

krb5-workstation

krb5-libs

krb5-devel

客戶端

192.168.199.104

bigdata-05

krb5-workstation

krb5-devel

服務(wù)端與客戶端主機網(wǎng)絡(luò)互通,并且配置對應(yīng)相互hostname映射關(guān)系。

服務(wù)端安裝和配置Kerberos軟件

1. 軟件安裝
1)在線安裝:yum install -y krb5-server krb5-workstation krb5-libs
2)離線rpm 安裝:
rpm 下載位置http://mirror.centos.org/centos/7/os/x86_64/Packages/

rpm -qa|grep krb  查看當(dāng)前服務(wù)器安裝的包,安裝如下對應(yīng)的的安裝包:

  • rpm -ivh libkadm5-1.15.1-50.el7.x86_64.rpm
  • rpm -ivh krb5-libs-1.15.1-50.el7.x86_64.rpm
  • rpm -ivh  krb5-workstation-1.15.1-50.el7.x86_64.rpm
  • rpm -ivh krb5-server-1.15.1-50.el7.x86_64.rpm
  • rpm -ivh krb5-devel-1.15.1-50.el7.x86_64.rpm
2. 修改kdc配置文件
軟件包安裝后,修改/var/kerberos/krb5kdc/kdc.conf文件紅色部份,指定域名,kdc 端口默認為88 ,可以根據(jù)實際情況進行修改。
[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
supported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
}
3. 修改krb配置文件
修改/etc/krb5.conf文件:
# Configuration snippets may be placed in this directory as well
includedir /etc/krb5.conf.d/

[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]
dns_lookup_realm = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns = false
pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
default_realm = HADOOP.COM #默認領(lǐng)域,跟kdc.conf里面realms保持一致
#default_ccache_name = KEYRING:persistent:%{uid}


[realms]
HADOOP.COM = {
kdc = bigdata-03       #主節(jié)點hostname
admin_server = bigdata-03  #主節(jié)點hostname

}

[domain_realm]
.hadoop.com = HADOOP.COM #DNS域名,跟kdc.conf里面realms保持一致
hadoop.com = HADOOP.COM #DNS域名,跟kdc.conf里面realms保持一致
說明:
default_ccache_name:默認的緩存名稱,需要注釋掉,否側(cè)hadoop指令會報錯。
org.apache.hadoop.security.AccessControlException: Client cannot authenticate via:[TOKEN, KERBEROS]
4. 修改kadm5配置文件
修改/var/kerberos/krb5kdc/kadm5.acl文件,內(nèi)容如下
*/[email protected] *
5. 初始化Kerberos的數(shù)據(jù)庫
[root@bigdata-03 ~]# kdb5_util create -s -r HADOOP.COM
Loading random data
Initializing database /var/kerberos/krb5kdc/principal for realm HADOOP.COM,
master key name K/[email protected]
You will be prompted for the database Master Password.
It is important that you NOT FORGET this password.
這是需要輸入密碼:xxxxx
數(shù)據(jù)庫master賬戶:K/[email protected]*
#如果提示不能創(chuàng)建,刪除后重試:
kdb5_util: Cannot open DB2 database /var/kerberos/krb5kdc/principal: File exists while creating database /var/kerberos/krb5kdc/principal
[root@bigdata-03 ~]# rm -f /var/kerberos/krb5kdc/principal*
初始化成功后,會自動生成認證文件:
ls  -a   /var/kerberos/krb5kdc/
  • principal和principal.ok是Kerberos數(shù)據(jù)庫文件。
  • principal.kadm5和principal.kadm5.lock是Kerberos系統(tǒng)管理數(shù)據(jù)庫。
  • .K5.MYTRAIN.COM是由-s參數(shù)創(chuàng)建的隱藏文件。
6. 測試Kerberos數(shù)據(jù)庫
使用kadmin.local程序可以訪問剛剛建立的Kerberos數(shù)據(jù)庫,Kadmin是Kerberos數(shù)據(jù)庫的管理接口,Kadmin里面的kerberos管理員可以添加,修改和刪除principal(主體),修改密碼和執(zhí)行其他管理任務(wù)。
1)進入Kadmin接口
kadmin.local
2)列舉當(dāng)前KDC中主體
listprincs
7. 創(chuàng)建Kerberos管理員用戶
在KDC所在主機,執(zhí)行以下命令,并按照提示輸入password。
kadmin.local -q "addprinc admin/[email protected]"
或者在kadmin.local里面:
addprinc admin/admin@HADOOP.COM

標(biāo)準(zhǔn):account/instance@realm  

例子admin/[email protected]

  • account :表示賬戶名 或者服務(wù)類型
  • instance表示實例,一般為主機名表示 屬于這個主機名下的某個賬戶
  • realm 表示域名 如 HADOOP.COM

客戶端安裝和配置Kerberos軟件

1. 安裝
  • rpm -ivh  libkadm5-1.15.1-50.el7.x86_64.rpm
  • rpm -ivh   krb5-workstation-1.15.1-50.el7.x86_64.rpm
  • rpm -ivh   krb5-devel-1.15.1-50.el7.x86_64.rpm
同步krb5.conf ,從管理端/etc/krb5.conf 復(fù)制到各個客戶端同樣的位置。
2. 驗證
客戶端機器驗證:
kinit admin/[email protected]   密碼為前面初始化密碼。
正確的結(jié)果就是沒有任何反應(yīng)。
klist  列出當(dāng)前系統(tǒng)用戶的 Kerberos認證情況:

常用問題

1. 錯誤一
org.apache.hadoop.security.AccessControlException: Client cannot authenticate via:[TOKEN, KERBEROS]
需注釋/etc/krb5.conf文件 #default_ccache_name = KEYRING:persistent:%{uid} 配置項。
2. 錯誤二
libgssapi_krb5.so.2: cannot open shared object file: No such file or directory
卸載Kerberos時,用rpm 刪除krb5-libs包,加了--nodeps參數(shù)會把相關(guān)聯(lián)的uyiglibgssapi_krb5.so.2依賴包也刪除掉了,從而導(dǎo)致在主機上輸入命令時都會報該報錯信息。
解決辦法:在這臺主機上用Java編寫Socket服務(wù)程序,從另外一臺已有krb5-libs的機器上編寫Socket客戶端程序,上傳krb5-libs文件至Socket服務(wù)端,重新安裝krb5-libs包,主機服務(wù)恢復(fù)正常。



本文作者:長研架構(gòu)小組(上海新炬王翦團隊)

本文來源:“IT那活兒”公眾號

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/129204.html

相關(guān)文章

  • 數(shù)據(jù)開發(fā)系列五:kafka& zookeeper 配置kerberos認證

    大數(shù)據(jù)開發(fā)系列五:kafka& zookeeper 配置kerberos認證 img{ display:block; margin:0 auto !important; width:100%; } body{ ...

    不知名網(wǎng)友 評論0 收藏2694
  • 魅族數(shù)據(jù)運維平臺實踐

    摘要:一大數(shù)據(jù)平臺介紹大數(shù)據(jù)平臺架構(gòu)演變?nèi)鐖D所示魅族大數(shù)據(jù)平臺架構(gòu)演變歷程年底,我們開始實踐大數(shù)據(jù),并部署了測試集群。因此,大數(shù)據(jù)運維的目標(biāo)是以解決運維復(fù)雜度的自動化為首要目標(biāo)。大數(shù)據(jù)運維存在的問題大數(shù)據(jù)運維存在的問題包括部署及運維復(fù)雜。 一、大數(shù)據(jù)平臺介紹 1.1大數(shù)據(jù)平臺架構(gòu)演變 ?showImg(https://segmentfault.com/img/bVWDPj?w=1024&h=...

    appetizerio 評論0 收藏0

發(fā)表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<