kerberos验证协议安装配置使用

一、kerberos是什么

Kerberos 是一个网络身份验证协议,用于在计算机网络中进行身份验证和授权。它提供了一种安全的方式,允许用户在不安全的网络上进行身份验证,并获取访问网络资源的权限。

二、安装配置kerberos服务端

1、安装kerberos

#检查yum是否有对应的安装包
yum list | grep krb
#安装krb5
yum install -y krb5-libs krb5-server krb5-workstation

2、配置Kerberos

包括krb5.conf和kdc.conf,修改其中的realm,把默认的EXAMPLE.COM修改为自己要定义的值

下面的域不是真的域名,是krb5.conf realms 下面创建的域

①、配置krb5.conf(/etc/krb5.conf)

vim /etc/krb5.conf
#####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
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 rdns = false
 pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
 default_realm = ITCAST.CN
# default_ccache_name = KEYRING:persistent:%{uid}

[realms]
# EXAMPLE.COM = {
#  kdc = kerberos.example.com
#  admin_server = kerberos.example.com
# }
 ITCAST.CN = {        #域名
  kdc = cdhs.itcast.cn        #对应的地址
  admin_server = cdhs.itcast.cn        #对应的地址
 }

[domain_realm]
# .example.com = EXAMPLE.COM
# example.com = EXAMPLE.COM
 .itcast.cn = ITCAST.CN            #域名转换
 itcast.cn = ITCAST.CN             #域名转换
#########################
logging : 日志相关的配置
libdefaults :默认的配置
realms 域:表示一个公司或者一个组织,逻辑上的授权认证范围 里面的TRAFKDC.CN是大小写敏感的必须大写
domain_realm : 域名转换 .trafkdc.com 相当于*.trafkdc.com

②、配置kdc.conf(/var/kerberos/krb5kdc/kdc.conf)

[kdcdefaults]
 kdc_ports = 88    #端口
 kdc_tcp_ports = 88    #端口

[realms]
 ITCAST.CN = {        # 里面都是TRAFKDC.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
 }

##########################
acl_file : kerberos acl的一些配置对应的文件
kerberos : admin账户的keytable本地路径
keytab : 登录凭证,有了这个相当于直接有了ticket,可以免密直接登录某个账户,所以这个文件很重要
supported_enctypes : 支持的加密方法

③、配置kadm5.acl

cat /var/kerberos/krb5kdc/kadm5.acl 
########kadm5.acl############
#给数据库管理员添加ACL权限,*代表全部权限
*/admin@ITCAST.CN       *           #ITCAST.CN是上面调用/etc/krb5.conf的配置
##################################
如:admin/admin@ITCAST.CN 就拥有ITCAST.CN域内的全部权限

3、kdc数据库

①、创建kdc数据库

#创建kdc数据库,并配置kdc数据库管理员密码,创建完成会在/var/kerberos/krb5kb/
#生成一系列文件,容重建数据库则需要先删除/var/kerberos/krb5kb下面的principal相关文件
/usr/sbin/kdb5_util create -s
#或者指定域来创建
kdb5_util create -s -r ITCAST.CN

②、添加用户

#注意kadmin.local可以直接再服务端上运行,而无需通过Kerberos认证,再客户端需要密码

#进入管理后台
kadmin.local
#在后台创建管理用户root 执行后需要输入密码
addprinc root/admin/@ITCAST.CN
#创建一个测试的用户
addprinc test/admin/@ITCAST.CN

4、启动kerberos进程并设置开机自启动

systemctl start krb5kdc
systemctl start kadmin
systemctl enable krb5kdc
systemctl enable kadmin

三、安装配置kerberos客户端

1、安装kerberos

#安装客户端
yum -y install krb5-libs krb5-workstation
#将服务端机器/etc/krb5.conf复制到各个客户端同样的位置
#测试登录test 进行客户端认证test账户
执行 kinit test/admin@ITCAST.CN 输入密码
正确的结果就是没有任何反应
然后输入klist

此时客户端配置完成,使用kinit即可得到对应的账户的ticket

客户端操作进入管理后台,是输入kadmin 然后输入kadmin的密码
输入kadmin_local无效,只有再服务端才有admin_local命令

四、简单操作

#服务端本机进入后台
kadmin.local

#客户端认证 后面需要输入密码
klinit 用户名/admin@域名
klinit test/admin@ITCAST.CN
#验证客户端是否绑定用户成功
klist

#客户端进入后台
kadmin 
#创建主题
addprinc 主题名
addprinc test
#查看所有主题
list_principals
#修改主题密码
cpw test
#删除主题
delprinc test

五、报错

下面问题是/etc/krb5.conf中的default_realm = TRAFDCK.COM未修改成自己的或者没有启用

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kerberos 是一个网络身份验证协议,用于在计算机网络中验证用户和服务之间的身份。要配置 Kerberos,你需要进行以下步骤: 1. 安装 Kerberos:首先,你需要在服务器安装 Kerberos 软件包。这可以通过包管理器(如 yum 或 apt)来完成。 2. 配置 Kerberos 服务器:接下来,你需要配置 Kerberos 服务器。主要的配置文件是 `/etc/krb5.conf`,其中包含了 Kerberos 的全局参数、领域和域的定义以及密钥分发中心等信息。 3. 创建 Kerberos 数据库:使用 `kdb5_util` 工具创建 Kerberos 数据库。该数据库将存储用户和服务的凭证和密钥。 4. 添加用户和服务:使用 `kadmin` 工具添加用户和服务到 Kerberos 数据库。每个用户和服务都将有一个唯一的主体名(principal name),用于身份验证和授权。 5. 生成密钥表:生成密钥表(keytab)文件,用于存储服务的密钥。密钥表可以在服务启动时自动加载,而无需用户的交互式输入。 6. 配置客户端:在客户端上配置 Kerberos,以便能够与 Kerberos 服务器进行通信。主要的配置文件是 `/etc/krb5.conf`,需要指定正确的领域和域的信息。 7. 测试身份验证使用 `kinit` 命令测试用户的身份验证。该命令将提示用户输入密码,并生成一个临时票据(ticket)用于后续的服务请求。 8. 配置服务:配置服务以使用 Kerberos 进行身份验证。这涉及到修改服务配置文件,以指定正确的密钥表和 Kerberos 配置。 以上是 Kerberos 的基本配置步骤,具体的操作可能会因系统和需求而有所不同。你可以参考官方文档或相关教程以获取更详细的信息和指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值