kerberos 配置

kerberos配置

一、kerberos 简介

    在Kerberos系统中至少有三个角色:认证服务器(CA),客户端(Client),服务端(Server)。客户端和服务端在与CA的交互下完成相互认证。 
    在Kerberos系统中,客户端和服务端都有一个唯一的名字,叫做Principal。同时,客户端和服务器都有自己的密码,并且它们的密码只有自己和认证服务器CA知道
    
    通讯过程中,client 向 server 发送请求 :
    首先   client 向 CA  发送消息。包含了   client_principal 和 server_principal  也就是 是谁 要访问 谁 。这些都是唯一标示
    然后  CA 收到后,会给client 返回 消息。包含了,客户端可解密的 加密数据Encryption Client  ( 这里成为EC  和 server可解密的  加密数据 Encryption Server (这里成为E S );   其中包含了 一个随机的密码 random key   成为 RK  (RK 包含在 EC 和 ES 中)  ;  (此时 客户端获取到的消息都是加密的,无法进行篡改,保证的安全性;)
    当 client 拿到 CA 返回的消息后,用自己的密码解密 CA 返回的 EC ,得到一个认证因子  和  randomkey ;  然后用 randomkey 对认证因子加密,把加密后的认证因子 和 ES  发送给server;
    server 接到数据后,解密ES,获取到randomkey,然后用randomkey 解密 认证因子 进行验证; (认证因为包含了 时间戳等一些内容)  然后 server 可以随机发送一些 认证因子包含的部分给client进行双向认证
    认证通过后,双向就用 randomkey 进行数据加密传输

  如下图:
kerberos 配置_第1张图片

二、kerberos安装

kerberos
官网  http://web.mit.edu/kerberos/
下载好之后进行安装

手动下载安装
1、解压tar文件
tar -xvf  /home/linlin/soft/ krb5-1.13.1.signed.tar  -C /home/linlin/kerberos;
执行命令后 能看到解压出来有两个文件  一个   krb5- krb5-1.13.1 .tar.gz  一个  krb5- krb5-1.13.1 .tar.gz.asc
继续解压 tar zxvf  krb5- krb5-1.13.1.tar.gz

2、编译文件
cd   krb5-1.13.1/src
./configure
make
make install

联网安装 kerberos
sudo apt-get install krb5-kdc krb5-admin-server    安装
which kinit  查看是否安装成功



一、kerberos配置   默认安装路径为 /etc/ker5kdc

1、etc/krb5.conf 若没有此文件则自己创建
[kdc]
profile = /etc/krb5kdc/kdc.conf

[logging]
default= FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

default_tgs_enctypes = des3-hmac-sha1
default_tkt_enctypes = des3-hmac-sha1
permitted_enctypes = des3-hmac-sha1

[libdefaults]
default_realm = LOCAL.DOMAIN
forwardable = yes
ccache_type = 4
proxiable = true
renew_lifetime = 1d
clockskew = 1000000000
#dns_lookup_kdc = true
#dns_lookup_realm = true

[realms]
LOCAL.DOMAIN = {
    kdc = localhost
    admin_server = localhost
    default_domain = localhost
}
[domain_realm]
.local.domain = LOCAL.DOMAIN
local.domain = LOCAL.DOMAIN

[login]
krb4_convert = true
krb4_get_tickets = falsey
[kdc] kdc位置
[logging]日志位置 
[libdefaults]默认域
[realms]   kerberos域,表示KDC所管辖的范围;

2、etc/krb5kdc/kdc.conf 若没有此文件则自己创建 ( 默认安装路径 etc/krb5kdc)
 
    
[kdcdefaults]
    kdc_ports = 750,88
[realms]
     LOCAL.DOMAIN  = {
        database_name = /etc/krb5kdc/ principal    
        admin_keytab = FILE:/etc/krb5kdc/kadm5.keytab
        acl_file = /etc/krb5kdc/kadm5.acl
        key_stash_file = /etc/krb5kdc/ .k5.LOCAL.DOMAIN
        kdc_ports = 750,88
        max_life = 10h 0m 0s
        max_renewable_life = 7d 0h 0m 0s
        master_key_type = des3-hmac-sha1
        supported_enctypes = aes256-cts:normal arcfour-hmac:normal des3-hmac-sha1:normal des-cbc-crc:normal des:normal des:v4 des:norealm des:onlyrealm des:afs3
        default_principal_flags = +preauth
    }



3、etc/krb5kdc/kadm5.acl 若没有此文件则自己创建

4、创建 kerberos 数据库
$ /usr/sbin/kdb5_util create -r LOCAL.DOMAIN -s



创建数据库到/etc/krb5kdc/principal
 
Principal 是由三个部分组成:名字(name),实例(instance),REALM(域)。比如一个标准的 Kerberos 的用户是:name/instance@REALM 

5、登录 kerberos 
$ /usr/sbin/kadmin.local   
     查看用户
kadmin.local   : listprincs
       添加用户
kadmin.local   : addprinc kadmin/[email protected]
        删除用户
kadmin.local   : delprinc kadmin/[email protected]
       创建keytable文件  生成 kadmin/admin kadmin/changepw 两个用户的 keytab 文件到 krb5kdc 目录
kadmin.local :ktadd -k /etc/krb5kdc/kadm5.keytab kadmin/admin kadmin/changepw
注意:keytab 得与配置文件kdc.conf里面配置一致


6 重启krb5kdc和kadmind进程 
 
   
/usr/sbin/kadmind 
/usr/sbin/krb5kdc 

7、运行kerberos
 
    
$ sudo /usr/sbin/krb5kdc
$ sudo /usr/sbin/kadmind

8、在KDC服务器上测试申请票据,测试票据请求 
 
     
$ /usr/sbin/kadmin.local 
$ kadmin.local: addprinc [email protected]
提示创建密码,然后退出 
 
      
$ su linlin 
$ kinit  [email protected]
$ klist 
$ /usr/sbin/kadmin.local 
$ kadmin.local: addprinc -randkey hdfs/[email protected] 
                           ktadd -norandkey -k hdfs.keytab hdfs/LL-167
查看自己申请的票据 

*********************************************************************************************************************************
转载注明出处  http://blog.csdn.net/linlinv3/article/details/45171097
*******************************************************************************************************************************************


你可能感兴趣的:(kerberos)