logo资料库

ubuntu16.04安装Kerberos详细文档.docx

第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
资料共12页,剩余部分请下载后查看
Ubuntu 16.04-Kerberos安装和配置
概览
Kerberos服务器端
安装
配置
Kerberos Linux Client:
安装
配置
Ubuntu 16.04-Kerberos 安装和配置 Kerberos 是一种基于可信性的第三方的网络认证系统。其他两方为用户和用户希望对其进 行身份验证的服务。并不是所有的服务和应用程序可以使用 Kerberos,但是对于那些可以 使用的,它使得网络环境更接近于一步到位,就是所谓的 Single Sign On (SSO)。 概览 如果你刚接触 Kerberos,有几个概念,最好在设置一个 Kerberos 服务器之前了解清楚。大 多数概念将和你在其他环境中所熟悉的概念相关。 Instances:用于服务 principals 和特殊管理 Principal。 1. Principal:任何服务器所提供的用户、计算机、服务都将被定义成 Principal。 2. 3. Realms:Kerberos 安装提供的独特的域的控制,把它想象成你的主机和用户所属的 主机或者组。官方约定这域需要大写。默认的,Ubuntu 将把 DNS 域名转换为大写 当成这里的域。 4. Key Distribution Center: (KDC)由三部分组成,一是 principal 数据库,认证服务 器,和票据授予服务器。每个 Realm 至少要有一个。 5. Ticket Granting Ticket:由认证服务器(AS)签发,Ticket Granting Ticket (TGT) 使用用户的密码加密,这个密码只有用户和 KDC 知道。 6. Ticket Granting Server: (TGS) 根据请求签发服务的票据。 7. Tickets:确认两个 Principal 的身份。一个主体是用户,另一个是由用户请求的服务。 门票会建立一个加密密钥,用于在身份验证会话中的安全通信。 8. Keytab Files:从 KDC 主数据库中提取的文件,并且包含的服务或主机的加密密钥。 总得来讲就是,一个域至少包含一个 KDC,最好能有更多的冗余,它包含一个 principal 数 据库。当用户登录一个被 Kerberos 认证定义的工作站中,KDC 发布一个 TGT。如果用户提 供的证书匹配,用户得到认证,之后就能从 TGS 请求被 kerberos 注册过的服务的票据,用 户凭票据就可以认证并访问服务,而不需要再提供用户名和密码。 Kerberos 服务器端 安装 首先安装 kserver 中 deb 包
sudo dpkg -i -R ./kserver/*.deb 1. 填写域名 2. 填写主机名或者 ip,然后点击 ok
在安装的最后你将被要求为 realm 提供 Kerberos 的主机名和管理服务器名,不一定相同。 tips:默认情况下,realm 是从 KDC 域名创建。 下一步,使用 kdb5_newrealm 工具创建新域。 sudo krb5_newrealm 配置 安装过程中所问到的问题用于配置/etc/krb5.conf 文件。如果你需要调整 kdc 的设置,你只 需要简单的编辑这个文件即可并重新 i 动 krb5-kdc 守护进程。如果你需要从头到尾重新配 置,比如重命名 realm 的名字,你可以输入: sudo dpkg-reconfigure krb5-kdc
1. 一旦 KDC 正常运行,则需要一个管理员用户–the admin principal。建议使用和平时经 常用的用户名有所区别。在终端提示符下输入 kadmin.local: 在上面的例子中,cloudera-scm 是这个 Principal,/admin 是一个 Instance,@HADOOP.COM 代 表 这 个 realm ( 域 ) 。 “ 日 常 ”Principal , 即 用 户 Principal , 将 会 是 这 样 : cloudera-scm@HADOOP.COM,并且只有普通用户的权限。 tips:把这里的 HADOOP.COM 和 cloudera-scm 替换成你的 realm 和管理员用户名。 2. 接下来,这个新的管理员用户需要有合适的访问控制列表(ACL)权限。它被配置在 /etc/krb5kdc/kadm5.acl 文件中: sudo vim /etc/krb5kdc/kadm5.acl 这赋予 cloudera-scm/admin 对域中所有 principals 进行任何操作的能力。你可以对 principals 配置更加严格的权限。这是很方便的,如果你需要一个 admin principal 在 kerberos 客户端中具有较低的权限。更多细节请查看 kadm5.acl 文件 3. 现在重 ikrb5-admin-server 使新的 ACL 生效: sudo service krb5-admin-server restart 4. 现在这个新的 user principal 可以通过 kinit 命令进行测试: kinit cloudera-scm/admin 输入密码后,使用 klist 命令查看 TGT 的信息:
Kerberos Linux Client: 本节主要包含配置一个 Linux 系统成为 Kerberos 客户端。一旦用户成功登陆系统,他将有 权限访问任何被 Kerberos 认证过后的服务。 安装 为了能够在 Kerberos Realm 中被认证,需要 krb5-user 和 libpam-krb5 两个包。其他的几个 包不是必要的但是可以让生态更加友好。 auth-client-config 包使得多个来源认证的 PAM 配置更简单;libpam-ccreds 包将会保存你登 录的认证证书,以防 KDC 挂掉。这个包在笔记本使用公司网络进行 Kerberos 认证,却需要 被网络接受时,也很有用。 配置 配置客户端,在终端输入: sudo dpkg -i -R ./kclient/*.deb 在主节点安装的时候不会重新填写域名、realm 等,因为之前安装过了,在其他节点由于没 有安装过服务端,所以域名和 realm 等需要重新设置
然后将所有服务重启一下 sudo service krb5-admin-server restart sudo service krb5-kdc restart 在其他节点只需要安装 kerberos 的 client 1. 安装 kerberos 的客户端如上所示 2. 测试主节点创建的用户 kinit cloudera-scm/admin
这样表示测试成功,其他节点依此类推 CDH 集群启用 Kerberos 1. 在 KDC 中给 Cloudera Manager 添加管理员账号 之前添加过了,就是 cloudera-scm/admin@HADOOP.COM 2. 进入 Cloudera Manager 的“管理”-> “安全”界面 3. 选择“启用 Kerberos”,进入如下界面
确保如下列出的所有检查项都已完成,全部打钩,然后点击继续 4. 点击“继续”,配置相关的 KDC 信息,包括类型、KDC 服务器、KDC Realm、 加密类型以及待创建的 Service Principal(hdfs,yarn,,hbase,hive 等)的更新生命期等
分享到:
收藏