大数据安全认证技术Kerberos

对于简单安装的上线的hadoop集群,我们可以认为有如下安全隐患
可以人为的添加一个客户端节点,并以此假冒的客户端来获取集群数据,对于假冒的客户端节点,成功加入集群,就能够伪装成datanode 让得到namenode指派的任务和数据.创建hdfs账户,就可以得到hadoop文件系统的最高权限

Kerberos主要用来做网络通讯中的身份认证,帮助我们高效,安全的识别访问者

Kerberos Server的安装
  1. 在hadoop1上安装服务端
    yum install -y krb5-libs krb5-server krb5-workstation
  2. 配置文件位置
  • 文件位置 /etc/krb5.conf
    vim /etc/krb5.conf
    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_rearellm = false
    ticket_lifetime = 24h # 票据有效期
    renew_lifetime = 7d
    forwardable = true
    rdns = false
    pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
    default_realm = SOFENCY.TOP #默认的域名后缀 即指的是下面[realms]下的值
    default_ccache_name = KEYRING:persistent:%{uid}
    [realms]
    SOFENCY.TOP = {
      kdc = hadoop1.sofency.top
      admin_server = hadoop1.sofency.top
    }
    [domain_realm]
    .sofency.top = SOFENCY.TOP
    sofency.top = SOFENCY.TOP
    
    名词解释
    1. realm 域:表示一个公司或者一个组织,逻辑上授权认证范围
    2. logging块配置日志相关
    3. libdefaults块配置默认的设置,包括ticket的声明周期
    4. realms 是域的配置,可以配置多个realm
    5. domain_realm是kerberos内的域和主机名的域的对应关系 即hadoop1.sofency.top hadoop2.sofency.top等均是SOFENCY.TOP这个realm
  • 配置/var/kerberos/krb5kdc/kdc.conf 按照如下进行修改
    [kdcdefaults]
    kdc_ports = 88  #端口号
    kdc_tcp_ports = 88
    [realms]
    SOFENCY.TOP = {
      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 des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
    }
    
    名词解释
    1. acl_file: kerberos acl的一些配置对应的文件
    2. kerberos admin账户的keytab本地路径
    3. keytab 登陆凭证 有了这个相当于直接有了ticket,可以免密直接登录某个账户,所以这个文件很重要
  1. 初始化kerberos数据库
    kdb5_util create -s -r SOFENCY.TOP 注意SOFENCY.TOP是自己设定的realm
    然后根据命令要求设置数据库master的密码,要求输入两次,一定要记住
    初始化完成后进入 /var/kerberos/krb5kdc下会生成如下几个文件
    在这里插入图片描述

  2. kerberos的常规操作

    1. 进入kerberos数据库
      kadmin.local
    2. 展示用户
      listprincs
    3. 创建SOFENCY.TOP域内的管理员 */admin@SOFENCY.TOP的用户拥有所有的权限
      具体在/var/kerberos/krb5kdc/kadm5.acl进行设置
      addprinc root/admin@SOFENCY.TOP
  3. 重启kerberos 并且设置开启自启

    systemctl  restart  krb5kdc
    systemctl  restart kadmin
    chkconfig krb5kdc on
    chkconfig kadmin on
    
Kerberos客户端的安装
  1. 在hadoop2,hadoop3上安装客户端
    yum install -y krb5-libs krb5-workstation
  2. 将服务端/etc/krb5.conf的内容复制到客户端
  3. 测试登录admin (注意test/admin@SOFENCY.TOP是在服务端创建的)
    执行kinit test/admin@SOFENCY.TOP输入密码
    然后klist查看当前账户的信息
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值