1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

大数据开发系列三:kerberos认证实践

大数据开发系列三:kerberos认证实践

本文由本际云服务器推荐网的小编小本本为您带来大数据开发系列三:kerberos认证实践。在大数据组件中使用hadoop/flink/kafka等,常常会被安全厂商扫描出安全访问漏洞,而业界推荐使用kerberos来解决此类安全访问问题。

大数据开发系列三:kerberos认证实践

Kerberos介绍

Kerberos是一种网络认证协议,可在互不信任的网络中,提供可靠的中心化认证协议,使网络中的各机器之间能够相互访问。

安装规划

主机类型:服务端、客户端
主机hostname:服务端192.168.199.102bigdata-03客户端192.168.199.104bigdata-05
安装组件:服务端krb5-server、krb5-workstation、krb5-libs、krb5-devel,客户端krb5-workstation、krb5-devel。

服务端与客户端主机网络互通,并且配置对应相互hostname映射关系。

Kerberos安装和配置

1. 软件安装
在线安装:yuminstall-ykrb5-serverkrb5-workstationkrb5-libs
离线rpm安装:rpm下载位置http://mirror.centos.org/centos/7/os/x86_64/Packages/rpm-qa|grepkrb 查看当前服务器安装的包,安装对应的安装包。

2. 修改kdc配置文件
软件包安装后,修改/var/kerberos/krb5kdc/kdc.conf文件,指定域名和kdc端口,默认为88,可以根据实际情况进行修改。

3. 修改krb配置文件
修改/etc/krb5.conf文件,其中需要注意默认领域和域名应与kdc.conf文件中realm保持一致,并注释default_ccache_name。

4. 修改kadm5配置文件
修改/var/kerberos/krb5kdc/kadm5.acl文件,内容为“*/admin@HADOOP.COM*”。

5. 初始化Kerberos的数据库
执行kdb5_util create -s -r HADOOP.COM命令,根据提示输入密码,成功后会自动生成认证文件。

6. 测试Kerberos数据库
使用kadmin.local程序访问Kerberos数据库,管理员可以添加、修改和删除principal(主体),修改密码和执行其他管理任务。

客户端安装和配置Kerberos软件

1. 安装
安装libkadm5、krb5-workstation和krb5-devel。

2. 同步krb5.conf
从管理端/etc/krb5.conf复制到各个客户端同样的位置。

3. 验证客户端机器
验证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配置项。

2. 错误二
libgssapi_krb5.so.2:cannotopen sharedobjectfile:Nosuchfile or directory
解决办法:在这台主机上用Java编写Socket服务程序,从另外一台已有krb5-libs的机器上编写Socket客户端程序,上传krb5-libs文件至Socket服务端,重新安装krb5-libs包,主机服务恢复正常。

本文作者:长研架构小组(上海新炬王翦团队)
本文来源:“IT那活儿”公众号

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6542.html