KerberosServer 配置|学习笔记

简介: 快速学习 KerberosServer 配置

开发者学堂课程【快速掌握 Hadoop 集成 Kerberos 安全技术KerberosServer 配置】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/708/detail/12558


KerberosServer 配置


内容介绍:

一.使用 yum 安装 Kerberos Server 的套件

二.配置/etc/krb5.conf

三.配置 /var/kerberos/krb5kdc/kdc.conf

四.配置 /var/kerberos/krb5kdc/kdc.conf

五.配置 /var/kerberos/krb5kdc/kdc.conf

六.配置 /var/kerberos/krb5kdc/kdc.conf

七.重启 Kerberos server 的组件并设置开机自启

前言:按照环境准备中的设定,cdh0、cdh1、cdh2 是 hadoop 集群机器,均作为 Kerbers 的客户端,cdh3 作为 Kerberos 的服务端


一.使用 yum 安装 Kerberos Server 的套件

搭建 KerberosServer,以下操作运行在 cdh3

yum install -y krb5-libs krb5-server krb5-workstation

复制粘贴进入到 cdh3 机器下执行

[root@cdh3~]#yum install -y krb5-libs krb5-server krb5-workstati

on


二.配置/etc/krb5.conf

vim /etc/krb5.conf

[root@cdh3~]#vim /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=ITCAST.CN

dns_lookup_realm=false

dns_lookup_kdc=false

ticket_lifetime =24h

renew_lifetime=7d

forwardable=true

[realms]

ITCAST.CN ={

kdc=cdh3.itcast.cn

admin_server=cdh3.itcast.cn

}

[domain_realm]

.itcast.cn=ITCAST.CN

itcast.cn=ITCAST.CN

名词讲解:

realm 域:表示一个公司或者一个组织。逻辑上的授权认证范围。比如定义域 ITCAST.CN 表示公司授权认证的范围,域创建用户是属于域里的,逻辑上进行隔离。realms 带 s 说明是复数可配置多个,目前集群里没有一个大环境有很多组织,只配置一个 ITCAST.CN 域,kdc、admin_server 是 cdh3 机器。[domain_realm] 表示域名转换,.itcast.cn 表示 *.itcast.cn>ITCAST.CN,xxx.itcast.cn 主机名机器都归属于 ITCAST.CN 域。itcast.cn 表示主机名 itcast.cn 属于 ITCAST

.CN 域,ITCAST.CN 域敏感只能大写。

日志相关配置:

[logging]

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

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

默认配置:

[libdefaults]

default_realm=ITCAST.CN

dns_lookup_realm=false

dns_lookup_kdc=false

ticket_lifetime =24h

renew_lifetime=7d

forwardable=true

默认域 ITCAST.CN,票有效期24小时


三.配置 /var/kerberos/krb5kdc/kdc.conf

[root@cdh3~]#vim/var/kerberos/krb5kdc/kdc.conf

内容全部删除,准备好的内容复制保存

填入:

kdc_ports=88

kdc_tcp_ports=88

[realms]

ITCAST.CN={

#master_key_type=aes256-ctsacl_file=/var/kerberos/krb5kdc/kadm5.acl dict_file=/usr/share/dict/words

admin_kevtab=/var/kerberos/krb5kdc/kadm5kevtab

supported_enctypes=aes256-ctsnormal aes128-cts normal des3-

hmac-sha1normal arcfour-hmac:normal

des-hmac-sha1:normal des-cbc-md5:normaldes-cbc-crc:normal

}

名词解释:

端口配置

kdc_ports=88

kdc_tcp_ports=88

ITCAST.CN 域表示

#master_key_type=aes256-cts

acl_file=/var/kerberos/krb5kdc/kadm5.acl dict_file=/usr/share/dict/words

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

supported_enctypes=aes256-ctsnormal aes128-cts normal des3-

hmac-sha1normal arcfour-hmac:normal

des-hmac-sha1:normal des-cbc-md5:normaldes-cbc-crc:normal

}

都属于 ITCAST.CN 域的配置。

acl_file=/var/kerberos/krb5kdc/kadm5.acl 权限管控位置,配置文件。

admin_kevtab=/var/kerberos/krb5kdc/kadm5.keytab,keytab 表明真实存在的 ticket,拿到 ticket 不需要找 AS 授权认证,TDS 拿到真实的 ticket。keytab 相当于两步已经完成,形成真实的文件,只要拿到 keytab 文件相当于拿到通行证。admin keytab ,admin 有通行证文件存放在本地不需要 AS、TDS 通讯,拿到文件可以直接拿到权限。

支持加密类型,aes256、aes128等等加密。


四.配置/var/kerberos/krb5kdc/kadm5.acl

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

默认给出*/admin@EXAMPLE.COM,改为*/admin@ITCAST.C

N 表示只要 Kerberos 账户名匹配此格式拥有全部权限。

Kerberos 账户分为三部分 account/instance@Relam

*/admin@ITCAST.CN 表示前面任意,instance 一般用主机名代替,admin 不属于某个机器,是更高层次全局的 admin。

满足*/admin@ITCAST.CN 规则就拥有全部权限,admin/admin@ITC

AST.CN 拥有最高权限。

检查配置文件

[root@cdh3~]#vim/ect/krb5.conf

[realms]

ITCAST.CN ={

kdc=cdh3.itcast.cn

admin_server =cdh3.itcast.cn

}

[domain_realm]

.itcast.cn=ITCAST.CN

itcast.cn=ITCAST.CN

配置 ITCAST.CN 域,kdc、admin_server 哪些机器,.itcast.cn=ITCAST

.CN itcast.cn=ITCAST.CN 域的转换规则。

[root@cdh3~]#vim/var/kerberos/krb5kdc/kadm5.conf

[realms]

ITCAST.CN={

#master kex 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:norrmal des3

-hmac-sha1:normal arcfour-hmac:normal des

hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal

ITCAST.CN 域配置 acl file 文件哪个,admin_keytab 免密文件存在哪,supported_enctypes 支持的加密类型。

[root@cdh3~]#vim/var/kerberos/krb5kdc/kadm5.acl*/admin@ITCAST.CN

只要用户 Kerberos 账户满足 */admin@ITCAST.CN 就拥有全部权限。


五.初始化 Kerberos 的数据库

输入:kdb5_util create -s-r ITCAST.CN

复制粘贴到服务器

[root@cdh3~]#kdb5_util create -s-r ITCAST.CN

使用 kdb5_util 工具,给定 create 参数,-s-r 指定域,表示创建域下数据库,回车。

输入 KDC 数据库的 master key,相当于密码,创建 KDC 数据库,提示 master key 名字是 K/M@ITCAST.CN,指定密码 krb5kdc。

[root@cdh3 ~]# kdb5 util create -rITCAST.CN

Loading random data

Initializing database'/var/kerberos/krb5kdc/principal’for realm'ITC

AST.CN'

master key name'K/M@ITCAST.CN'

You will be prompted for the database Master Password. It is important that you NOT FORGET this password.

Enter KDC database master key:

Re-enter KDC database master key to verify:

kdb5 util:File exists while creating database'/var/kerberos/krb5K

dc/principal

提示创建好

[root@cdh3 ~]# cd/var/kerberos/krb5kdc/

[root@cdh3 krb5kdc]#11

输入两次密码后得到输出

rw-------. 1 root root 8192 Sep 911:16 principal

-rw-------. 1 root root 8192 Sep 9 11:14 principal.kadm5

-rw-------.1root root 0 Sep 9 11:14 principal.kadm5.lock

-rw-------.1root root 0 Sep 27 17:16 principal.ok

得到 principal、.kadm5、lock、.ok 四个文件说明数据库创建成功。

查看能否进入 Kerberos Server admin 后台

执行 kadmin.local 直接进入 admin 后台,此程序只在 Server 服务器有,不需要任何密码,其它程序进入 admin 后台需要输入密码。

root@cdh3 krb5kdc]# kadmin.local

Authenticating as principal root/admin@ITCAST.CN with password

执行 listprincs,可以看到当前机器下有什么账户。

kadmin.local: listprincs

K/M@ITCAST.CN

kadmin/admin@ITCAST.CN

kadmin/cdh3.itcast.cn@ITCAST.CN kadmin/changepw@ITCAST.CN

krbtest/admin@ITCAST.CN

krbtgt/ITCAST.CN@ITCAST.CN

root/admin@ITCAST.CN

kadmin.local:


六.创建 ITCAST.CN 域内的管理员

执行:kadmin.local 进入 kerberos 的 admin 命令行界面

# 输入如下内容,添加一个用户

addprinc root/admin@ITCAST.CN 符合*/admin@ITCAST.CN 拥有全部权限。执行,回车。输入密码 root。

kadmin.local: addprinc root/admin@ITCAST.CN

WARNING: no policy specified for root/admin@ITCAST.CN; defaulting to no policy

Enter password for principal"root/admin@ITCAST.CN":

Re-enter password for principal"root/admin@ITCAST.CN":

add_principal:Principal or policy already exists while creating "root/admin@ITCAST.CN"

kadmin.local:

输入两次密码后账户创建完成

创建测试用户

输入 addprinc test/admin@ITCAST.CN 满足*/admin@ITC

AST.CN 回车,输入密码 test 两次密码后提示创建成功。

kadmin.local: addprinctest/admin@ITCAST.CN

WARNING: no policy specified for test/admin@ITCAST.CN;

defaulting to no policy

Enter password for principal"test/admin@ITCAST.CN":

Re-enter password for principal"test/admin@ITCAST.CN":

Principal "test/admin@ITCAST.CN"created.

输入 listprincs

kadmin.local: listprincs K/M@ITCAST.CN

kadmin/admin@ITCAST.CN

kadmin/cdh3.itcast.cn@ITCAST.CN kadmin/changepw@ITCAST.CN

krbtest/admin@ITCAST.CN

krbtgt/ITCAST.CN@ITCAST.CN

root/admin@ITCAST.CN

test/admin@ITCAST.CN

kadmin.local:

可以看到 root test 存在此处。


七.重启 Kerberos server 的组件并设置开机自启

service krb5kdc restart

service kadmin restart

保证能够开机自启加入

chkconfig krb5kdc on

chkconfig kadmin on

执行 service krb5kdc restart 没问题后执行 kadmin restart 加入开机自启动 chkconfig krb5kdc on chkconfig kadmin on

kadmin.local:[root@cdh3 krb5kdc]#

[root@cdh3 krb5kdc]#

[root@cdh3 krb5kdc]# service krb5kdc restart

Stopping Kerberos 5 KDC: [ OK ]

Starting Kerberos 5 KDC: [oK ]

[root@cdh3 krb5kdc]# service kadmin restart

Stopping Kerberos 5 Admin Server: [ OK ]

Starting Kerberos 5 Admin Server: [oK]

[root@cdh3 krb5kdc]# chkconfig krb5kdc on

[root@cdh3 krb5kdc]# chkconfig kadmin on

[root@cdh3 krb5kdc]#

KerberosServer 端配置完成

相关文章
|
Web App开发 人工智能 数据可视化
RPA 快速入门|学习笔记
快速学习 RPA 快速入门
672 0
RPA 快速入门|学习笔记
|
Java 数据安全/隐私保护 开发者
其他配置 | 学习笔记
快速学习其他配置,介绍了其他配置系统机制, 以及在实际应用过程中如何使用。
54 0
|
Linux 开发工具 开发者
配置|学习笔记
快速学习配置。
48 0
|
开发者 索引
配置 | 学习笔记
快速学习配置
51 0
配置 | 学习笔记
|
NoSQL Redis 开发工具
服务器基础配置|学习笔记
快速学习服务器基础配置
74 0
|
Web App开发 人工智能 数据可视化
RPA 快速入门| 学习笔记
快速学习 RPA 快速入门。
797 0
RPA 快速入门| 学习笔记
|
消息中间件 数据采集 SQL
非功能介绍|学习笔记
快速学习非功能介绍
69 0
非功能介绍|学习笔记
|
存储 Kubernetes 负载均衡
K8S 功能 | 学习笔记
快速学习 K8S 功能
101 0
K8S 功能 | 学习笔记
|
监控 NoSQL Java
自定义 Hea1thIndicator |学习笔记
快速学习自定义 Hea1thIndicator
69 0
|
前端开发 数据库 开发者
课程管理-修改课程信息(后端) | 学习笔记
简介:快速学习课程管理-修改课程信息(后端)
107 0
课程管理-修改课程信息(后端) | 学习笔记