文章目录

  • 一、Kerberos概述
    • 1.kerberos简介
    • 2.Kerberos术语
    • 3.Kerberos认证原理
  • 二、Kerberos安装
    • 1.安装Kerberos相关服务
    • 2.修改配置文件
    • 3.初始化KDC数据库
    • 4.修改管理权限配置文件
    • 5.启动Kerberos相关服务
    • 6.创建Kerberos管理员用户
  • 三、Kerberos数据库操作
    • 1.登录数据库
    • 2.创建Kerberos主体
    • 3.修改主体密码
    • 4.删除Kerberos主体
    • 5.查看所有主体
  • 四、Kerberos认证操作
    • 1.密码认证
    • 2.密钥文件认证
    • 3.销毁凭证

一、Kerberos概述

1.kerberos简介

 kerberos是一种计算机网络认证协议,用来在非安全网络中,对个人通信以安全的手段进行身份认证。这个词又指MIT学院为这个协议开发的一套计算机软件。软件设计上采用客户端/服务器结构,并且能够进行相互认证,即客户端和服务器端均可对对方进行身份认证。可以用于防止窃听、防止重放攻击、保护数据完整性等场合,是一种应用对称密钥体制进行密钥管理的系统。

2.Kerberos术语

​ Kerberos中有以下一些概念需要了解:

  • KDC(Key Distribute Center):密钥分发中心,负责存储用户信息,管理方法票据
  • Realm:Kerberos所管理的一个领域或范围,称之为一个Realm
  • Principal:Kerberos所管理的一个用户或者一个服务,可以理解为Kerberos中保存的一个账号,其格式通常如下:primary/instance@realm
  • keytab:Kerberos中的用户认证,可以通过密码或者密钥文件证明身份,keytab指密钥文件

3.Kerberos认证原理

二、Kerberos安装

1.安装Kerberos相关服务

选择一台主机做为Kerberos服务端,安装KDC

yum install -y kerb5-server

所有客户端主机都需要部署Kerberos客户端

yum install -y krb5-workstation krb5-libs

2.修改配置文件

在服务端主机

vim /var/kerberos/krb5kdc/kdc.conf[kdcdefaults]kdc_ports = 88kdc_tcp_ports = 88[realms]EXAMPLE.COM = {#master_key_type = aes256-ctsacl_file = /var/kerberos/krb5kdc/kadm5.acldict_file = /usr/share/dict/wordsadmin_keytab = /var/kerberos/krb5kdc/kadm5.keytabsupported_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}

在所有客户端主机

vim /etc/krb5.conf内容如下
# Configuration snippets may be placed in this directory as well
includedir /etc/krb5.conf.d/[logging]default = FILE:/var/log/krb5libs.logkdc = FILE:/var/log/krb5kdc.logadmin_server = FILE:/var/log/kadmind.log[libdefaults]dns_lookup_realm = falsedns_lookup_kdc = falseticket_lifetime = 24hrenew_lifetime = 7dforwardable = truerdns = falsepkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crtdefault_realm = EXAMPLE.COM#default_ccache_name = KEYRING:persistent:%{uid}[realms]EXAMPLE.COM = {kdc = hadoop102admin_server = hadoop102}
[domain_realm]
# .example.com = EXAMPLE.COM
# example.com = EXAMPLE.COM

3.初始化KDC数据库

在服务端主机执行以下命令,并根据提示输入密码

kdb5_util create -s

4.修改管理权限配置文件

在服务端主机修改/var/kerberos/krb5kdc/kadm5.acl文件

vim /var/kerberos/krb5kdc/kadm5.acl*/admin@EXAMPLE.COM     *

5.启动Kerberos相关服务

在主服务端启动KDC,并配置开机自启

systemctl start krb5kdc
systemctl enable krb5kdc

在主服务端开启Kadmin,该服务为KDC数据库访问入口,并配置开机自启

systemctl start kadmin
systemctl enable kadmin

6.创建Kerberos管理员用户

在主服务端(KDC所处)上执行以下命令,并安装提示输入密码

kadmin.local -q "addprinc admin/admin"

三、Kerberos数据库操作

1.登录数据库

1)本地登录(无需认证)

kadmin.local

2)远程登录(需进行主体认证,认证操作见下文)

kadmin

2.创建Kerberos主体

登录数据库,输入以下命令,并按照提示输入密码

kadmin.local:addprinc test

3.修改主体密码

在数据库中,修改test的密码

cpw test

4.删除Kerberos主体

在数据库中,删除test主体,并输入yes,确定删除

delete_principal test

5.查看所有主体

在数据库中,展示所有创建过的主体

list_principals

四、Kerberos认证操作

1.密码认证

1)使用kinit进行主体认证,并按照提示输入密码,例如:对test主体进行认证

kinit test

2)查看认证凭证

klist

2.密钥文件认证

1)生成主体test的keytab文件到指定目录/root/test.keytab

kadmin.local -q "xst -norandkey -k  /root/test.keytab test@EXAMPLE.COM"

注:-norandkey的作用是声明不随机生成密码,若不加该参数,会导致之前的密码失效

2)使用keytab进行认证

kinit -kt /root/test.keytab test

3.销毁凭证

kdestroy

安全认证Kerberos相关推荐

  1. 【Flink】Flink 源码之 安全认证 kerberos 认证

    文章目录 1.概述 2.SecurityConfiguration 3.SecurityUtils 4.SecurityModule 5. HadoopModule 5 .1 构建HadoopModu ...

  2. 安全认证Kerberos的安装与操作

    1 安装 1.1.1 server节点安装kerberos相关软件 [root@fan102 ~]# yum install -y krb5-server krb5-workstation krb5- ...

  3. Hadoop平台安全机制Kerberos认证

    日前笔者在使用flume采集数据直接入到Hadoop平台HDFS上时,由于Hadoop平台采用了Kerberos认证机制.flume配置上是致辞kerberos认证的,但由于flume要采集的节点并不 ...

  4. kerberos认证_初识 Windows域认证体系 Kerberos认证

    关键词: Kerberos认证 域控制器(Domain Controller,DC) 密钥分发中心(Key Distribution Center,KDC) 帐户数据库(Account Databas ...

  5. kerberos认证故事

    讲一个kerberos认证故事 来翻译翻译什么叫kerberos认证 kerberos机构简介 故事正篇 背景 加入Kerberos公司 初次进入公司 见到公司老板TGS 见到张三先生 终于 来翻译翻 ...

  6. 内网渗透——WINDOWS认证机制之KERBEROS

    之前两篇文章整理了NTLM协议的分析与利用 1.内网渗透--WINDOWS认证机制之NTLM 2.利用netsh抓取连接文件服务器的NET NTLM Hash 本篇文章来学习域内认证的Kerberos ...

  7. Kerberos介绍(全)

    转载自:http://www.cnblogs.com/jankie/archive/2011/08/22/2149285.html 微软Windows Server 2003操作系统实现Kerbero ...

  8. 技术探究|Apache Pulsar 认证与鉴权实践指南

    文章摘要 本文整理自 2022 年 8 月 Apache Pulsar Meetup 上傅腾题为<Apache Pulsar 企业级安全实践>的分享.数据安全已经成为企业的一项重要竞争优势 ...

  9. Windows认证体系解读

    目录 Windows认证方式 Windows系统有几种认证体系:NTLM 和 Kerberos 1.NTLM认证体系 2.Kerberos认证 Windows本地认证 NTLM认证方式(工作组环境中) ...

最新文章

  1. 如何写一个通用的README规范
  2. 卷积神经网络之 - VGGNet
  3. 计算机组成原理实验七,计算机组成原理实验七.doc
  4. Linux路由界面设置,nuxt中如何配置页面路由
  5. kvm连接服务器显示不全有重影,KVM延长器系列常见问题及解决方法
  6. Tools: geos 使用指南
  7. Linux软件安装的几种方法 (三)—— 源码安装
  8. lm723大电流可调电源电路图_三端稳压模块LM338组成的高精度大电流可调稳压电源,电流可到达5A...
  9. haproxy keepalived_企业实战KeepAlived+Redis+Haproxy实现主从热备、负载均衡、秒级切换...
  10. 怎样看懂Oracle的执行计划
  11. 读书笔记∣世界是数字的
  12. 机器学习—XGBoost常见问题解析
  13. oracle 表列统计信息,Oracle中收集表与列统计信息
  14. shell 的source指令和.指令
  15. hbase 二级索引方案
  16. 基于CANoen协议实现DSP系统与上位机CAN的通讯
  17. 【黄啊码】百万级别订单量,如何生成唯一订单ID(雪花算法)
  18. 【转】【公司调查】车来了APP
  19. 名著赏读 | 《教育思想的演进》读书报告
  20. 经历七轮残酷淘汰 终极之选“过冬王股”出炉

热门文章

  1. spring+hibernate:在applicationCOntext.XML中配置C3P0参数说明
  2. Python 远程桌面协议RDPY简介
  3. Servlet+jsp用户登录加上验证码
  4. Oracle Real Application Clusters (RAC)
  5. 构建自己的PHP框架(邮件发送)
  6. input输入框只允许输入数字/ 数字+小数点/ 文字+字母/ 等解决方法
  7. javascript 类的创建1
  8. Servlet学习-MVC开发模式
  9. 二分搜索,欧几里德算法
  10. 最新恶意复制型病毒及代码分析