国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

大數據開發系列三:kerberos認證實踐

IT那活兒 / 2058人閱讀
大數據開發系列三:kerberos認證實踐

點擊上方“IT那活兒”公眾號,關注后了解更多內容,不管IT什么活兒,干就完了!!!

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

Kerberos介紹

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

安裝規劃

類型
主機
主機hostname
安裝組件

服務端

192.168.199.102

bigdata-03

krb5-server

krb5-workstation

krb5-libs

krb5-devel

客戶端

192.168.199.104

bigdata-05

krb5-workstation

krb5-devel

服務端與客戶端主機網絡互通,并且配置對應相互hostname映射關系。

服務端安裝和配置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  查看當前服務器安裝的包,安裝如下對應的的安裝包:

  • 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 ,可以根據實際情況進行修改。
[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 #默認領域,跟kdc.conf里面realms保持一致
#default_ccache_name = KEYRING:persistent:%{uid}


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

}

[domain_realm]
.hadoop.com = HADOOP.COM #DNS域名,跟kdc.conf里面realms保持一致
hadoop.com = HADOOP.COM #DNS域名,跟kdc.conf里面realms保持一致
說明:
default_ccache_name:默認的緩存名稱,需要注釋掉,否側hadoop指令會報錯。
org.apache.hadoop.security.AccessControlException: Client cannot authenticate via:[TOKEN, KERBEROS]
4. 修改kadm5配置文件
修改/var/kerberos/krb5kdc/kadm5.acl文件,內容如下
*/admin@HADOOP.COM *
5. 初始化Kerberos的數據庫
[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/M@HADOOP.COM
You will be prompted for the database Master Password.
It is important that you NOT FORGET this password.
這是需要輸入密碼:xxxxx
數據庫master賬戶:K/M@HADOOP.COM*
#如果提示不能創建,刪除后重試:
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數據庫文件。
  • principal.kadm5和principal.kadm5.lock是Kerberos系統管理數據庫。
  • .K5.MYTRAIN.COM是由-s參數創建的隱藏文件。
6. 測試Kerberos數據庫
使用kadmin.local程序可以訪問剛剛建立的Kerberos數據庫,Kadmin是Kerberos數據庫的管理接口,Kadmin里面的kerberos管理員可以添加,修改和刪除principal(主體),修改密碼和執行其他管理任務。
1)進入Kadmin接口
kadmin.local
2)列舉當前KDC中主體
listprincs
7. 創建Kerberos管理員用戶
在KDC所在主機,執行以下命令,并按照提示輸入password。
kadmin.local -q "addprinc admin/admin@HADOOP.COM"
或者在kadmin.local里面:
addprinc admin/admin@HADOOP.COM

標準:account/instance@realm  

例子admin/admin@HADOOP.COM

  • account :表示賬戶名 或者服務類型
  • 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 復制到各個客戶端同樣的位置。
2. 驗證
客戶端機器驗證:
kinit admin/admin@HADOOP.COM   密碼為前面初始化密碼。
正確的結果就是沒有任何反應。
klist  列出當前系統用戶的 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參數會把相關聯的uyiglibgssapi_krb5.so.2依賴包也刪除掉了,從而導致在主機上輸入命令時都會報該報錯信息。
解決辦法:在這臺主機上用Java編寫Socket服務程序,從另外一臺已有krb5-libs的機器上編寫Socket客戶端程序,上傳krb5-libs文件至Socket服務端,重新安裝krb5-libs包,主機服務恢復正常。



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

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

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129204.html

相關文章

  • 數據開發系列五:kafka& zookeeper 配置kerberos認證

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

    不知名網友 評論0 收藏2694
  • 魅族數據運維平臺實踐

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

    appetizerio 評論0 收藏0

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

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