Kerberos安全认证过程

CDH启用kerberos认证 文章目录1,集群架构2, 安装kerberos服务3, CDH集群启用kerberosa, Administrator: securityb, Enable Kerberosc, 确认并勾选d, 填写kdc信息e, 略过CDH管理kerberos, 填写CDH管理员账号4, 使用kerberos认证,调用hive,hbase等服务 1,集群架构 角色 主机ip kerberos软件包 说明... 阅读详情

1 Kerberos

Kerberos是诞生于上个世纪90年代的计算机认证协议,被广泛应用于各大操作系统和Hadoop生态系统中。了解Kerberos认证的流程将有助于解决Hadoop集群中的安全配置过程中的问题。

2 Kerberos可以用来做什么

简单地说,Kerberos提供了一种单点登录(SSO)的方法。考虑这样一个场景,在一个网络中有不同的服务器,比如,打印服务器、邮件服务器和文件服务器。这些服务器都有认证的需求。很自然的,不可能让每个服务器自己实现一套认证系统,而是提供一个中心认证服务器(AS-Authentication Server)供这些服务器使用。这样任何客户端就只需维护一个密码就能登录所有服务器。

因此,在Kerberos系统中至少有三个角色:密钥分发中心(KDC),客户端(Client)和普通服务器(Server)。客户端和服务器将在AS的帮助下完成相互认证。在Kerberos系统中,客户端和服务器都有一个唯一的名字,叫做Principal。同时,客户端和服务器都有自己的密码,并且它们的密码只有自己和认证服务器AS知道。

图解

1. 客户端(A)向服务端(B)发送信息时,会附加一个Authenticator(认证码,该数据结构=身份信息+时间戳)来进行彼此的身份验证。开始验证之前,客户端和服务端已经有一个有且只有二人知晓的密钥。

下面是工作流程:

a. A用密钥加密了【信息+Authenticator(身份信息+时间戳)】,将其发给B

b. B用密钥解密了A发来的Authenticator,并将其中包含的时间戳记录下来。B将这个时间戳与自己的当前时间进行比较,如果这个时间差大于某个值(windows下默认是5分钟),B认为信息不是A发来的,拒绝后续验证。如果这个时间差小于设定值,B要检查在过去5分钟内,是否存在含有更早时间戳的Authenticator,如果没有,B认为信息确实是A发来了。至此,完成了B对A的验证。

c. B用密钥加密Athenticator里的时间戳,然后将其发回给A,以证明自己确实是B.

d. A收到后,解密出时间戳,经过自己的对比,确认了对方确实是B. 至此,完成了A对B的验证

2. 引入session key和密钥分发中心KDC

实现简单相互身份验证有一个前提,即,A和B必须有一个有且只有二人知晓的密钥。在2中,我们要设计一个密钥分发机制来完善1的流程。这里引入key distribution center, KDC密钥分发中心。当A尝试向B发信息时,KDC会分别向A、B发放一个加密过的session key,这相当于1中那个有且只有AB双方知晓的密钥(注意,在传输过程中,session key要再包裹一层密钥进行加密,下面将具体说到)。

3. 引入secret key(密钥的加密)

session key在传输过程中需要加密。因此我们又引入了一个加密密钥,叫做secret key(或者叫long term key,在用户账号验证中,这个key是衍生自账号密码). 这个key是KDC和A(或B)之间有且只有双方知晓的一个密钥。KDC与A之间进行传输时,是由仅有A与KDC双方知晓的key加密。KDC与B之间进行传输时,是由仅有B与KDC双方知晓的key加密。

4. 引入session ticket(密钥的识别)

实际应用中,一个KDC对应着许许多多的客户端和服务端,每个客户端与服务端之间都有一个共享的session key(密钥)。为了区别这些session key,我们引入session ticket的概念,它是一种内嵌了session key和客户端身份信息(原文authorization data for the client)的数据结构。相当于session key与客户端的1对1表。

下面是具体工作过程:

a. 客户端向KDC提交客户端身份信息(这个传输过程使用客户端secretkey进行加密),要求与服务端进行相互身份验证。

b. KDC生成一个仅有客户端与服务端知晓的session key。

c. KDC将session key附加上客户端身份信息形成了session ticket,并用服务端secret key加密session ticke后传给服务端。服务端收到了KDC回复,使用服务端secret key解密,获得了有且只有客户端和服务端二者知晓的密钥session key。

d. KDC将【session key+服务端secret key加密后的session ticket】用客户端secret key加密后,传给客户端。客户端收到了KDC的回复,用客户端secret key解密出【session key+服务端secret key加密后的session ticket】。解密出的两部分内容分开地放在一个安全的缓存中(一块隔离的内存空间,而不是硬盘上)。当客户端再次向服务端发送信息时,客户端就可以直接向服务端发送【要发送的信息+服务端secret key加密后的session ticket+用session key加密的Authenticator(身份信息+时间戳)】

e. 服务端收到了来自客户端的以上凭据,先用服务端secret key将session ticket解密,取得内嵌在session ticket里的session key,用其将Authenticator解密,得到了客户端发送消息的时间戳。之后按照1中简单相互身份验证过程中的步骤b, c, d继续进行。

在这里插入图片描述

详细讲解kerberos认证全过程、黄金、白银票据 当TGS接收到请求之后,会检查自身是否存在客户端请求的服务,如果存在就会拿ktbtgt hash解密TGT(由于TGS是在DC上的,所有具有krbtgt的hash),解密到的信息中包含了login session key,别忘了客户端发过来的时间戳就是利用login session key加密的,此时就可以用其解密获取到时间戳了,然后验证时间戳。只要在TGT过期之前,可以直接请求TGS申请服务票据,而不用在每次访问服务的时候都向AS请求TGT,减少了与AS的通信,提高了系统的性能和效率。 阅读详情

相关推荐

Kafka安全认证:CentOS7上安装kerberos

文章目录1.kerberos概念介绍2. kerberos认证过程3. kerberos安装4. 创建 KDC 数据库5. 编辑 `kadm5.acl`6. 启动kdc和admin7. 添加principal8. 使用keytab登陆 1.kerberos概念介绍 principal:认证的主体,如kafka/stream.dtwave.local@EXAMPLE.COM,其中kafka是主体的用...

foureyes 1682

Kerberos认证流程及基本操作

Kerberos主要是有三个重要的角色:1、访问服务的Client2、提供服务的Server3、KDC(Key Distribution Center)密钥分发中心,其中报错AS(authorization server)和TGS(ticket granting server)上图 AD其实类似于一个本机的一个数据库,存储所有client的白名单。

qq_45329047的博客 4645

CDP集群安全指南-开启Kerberos认证篇(Active Directory)

否则AD DC将无法完成初始化,等初始话AD DC完成后再安装类似次步骤添加AD证书服务。现在我们给先建的Cloudera OU指派完全管理员scm用户。以下操作在linux所有主机上执行。

罗仲虎的博客 2490

密码学应用-Kerberos体系

Kerberos体系是一种网络认证协议,其设计及的目的是通过密钥系统对客户机/服务器应用程序提供强大的认证服务。该认证过程的实现不依赖于主机操作系统的认证,无需基于主句地址的信任,不要求网络上所有主句的物理安全,并假定网络上传送的数据包可以任意的被读取,修改和插入数据。在以上情况下,Kerberos体系作为一种可信任的第三方认证服务,是通过传统的密码技术(如:共享密码)执行认证服务的。协议的安全主要依赖于参加者对时间的松散同步和短周期的叫做Kerberos票据的认证声明。下面是对协议的一个简化描述,它包括以

qq_39871572的博客 630

Kerberos安全认证-连载11-HBase Kerberos安全配置及访问

技术连载系列,前面内容请参考前面连载10内容:​​​​​​​​​​​​​​大数据组件HBase也可以通过Kerberos进行安全认证,由于HBase中需要zookeeper进行元数据管理、主节点选举、故障恢复,所以这里对HBase进行Kerberos安全认证时,建议也对Zookeeper进行安全认证。

qq_32020645的博客 4526

Applied Energy期刊小白论文投稿模板-流程经验分享

Applied Energy期刊小白论文投稿模板-流程经验分享,Elsevier期刊(爱思唯尔)投稿流程

zzu_Flyer的博客 4万+

详解kerberos认证原理

前言Kerberos协议是一个专注于验证通信双方身份的网络协议,不同于其他网络安全协议的保证整个通信过程的传输安全,kerberos侧重于通信前双方身份的认定工作,帮助客户端和服务端解决“...

大数据星球-浪尖 8378

PyTorch模型生产部署:ONNX/Triton导出与高可用架构实战

机器学习模型部署本质是训练环境与生产环境之间的运行时契约建立过程,涉及序列化协议、推理引擎兼容性、动态批处理及资源隔离等核心问题。ONNX凭借标准化算子集和跨框架支持,成为平衡兼容性、性能与可维护性的首选导出格式;Triton Inference Server则通过原生多框架支持、动态batching和热加载能力,显著提升GPU利用率与服务SLA保障水平。在金融风控、电商推荐等高要求场景中,基于ONNX+Triton+K8s的分层架构可稳定支撑千级QPS与毫秒级P95延迟,同时满足模型热更新、可观测性与版本

weixin_33857679的博客 448

Kerberos 认证原理 (转载)

文章很值得学习,我转载过来为了自己学习 一、基本原理 Authentication解决的是“如何证明某个人确确实实就是他或她所声称的那个人”的问题。对于如何进行Authentication,我们采用这样的方法:如果一个秘密(secret)仅仅存在于A和B,那么有个人对B声称自己就是A,B通过让A提供这个秘密来证明这个人就是他或她所声称的A。这个过程实际上涉及到3个重要的关于Authentication的方面: Secret如何表示。 A如何向B提供Secret。 B如何..

qq_13633927的博客 349

ARM CMSIS DAP源码分析(二)

今天分析的是RDDI_DAP_GetARMRegs(DWORD *regs, DWORD *rfpu, ULONG64 mask)和RDDI_DAP_SetARMRegs(DWORD *regs, DWORD *rfpu, ULONG64 mask)这两个函数。 以RDDI_DAP_GetARMRegs(DWORD *regs, DWORD *rfpu, ULONG64 mask)为例,代码如下:

pengxiao618的专栏 7977

手把手教你用Simulink搭建单相全桥逆变器(附单电流闭环控制仿真文件)

本文详细介绍了如何在Simulink中搭建单相全桥逆变器并实现单电流闭环控制。从功率主电路建模、核心器件参数设置,到控制系统的PI调节与前馈补偿,提供了完整的仿真步骤与调试技巧。文章旨在通过动手实践,帮助读者跨越理论与仿真的鸿沟,深入理解电力电子闭环控制的核心原理。

d6e7f8g9h的博客 316

NTLM 和 Kerberos 安全认证过程简述

参考文件:http://www.cnblogs.com/artech/archive/2011/01/25/NTLM.html NTLM采用一种质询/应答消息交换模式 1、身份认证用户名验证:客户端向服务器端发送用户名若用户名验证通过,服务器端生成随机数,然后向客户端发送该随机数字。 2、身份认证密码认证:(1)密码摘要信息认证:客户端软件利用MD5或者SHA哈希生成密码的摘要信息,并利用摘...

chelp的专栏 1815

从误检率30%到99.7%:YOLOv8/v9工业零件缺陷检测实战(附产线部署全流程与参数调优秘籍)

工业场景YOLO实战:从实验室到车间的关键调优策略 本文针对工业缺陷检测的特殊性,系统总结了YOLOv8/v9在工业应用中的实战经验。通过齿轮厂缺陷检测案例,揭示了实验室模型与工业场景的三点本质差异:小目标特性(0.2-1mm缺陷)、复杂背景干扰(油污/反光)和数据量不足问题。重点提出了工业级解决方案:1)数据采集需覆盖极端工况(不同光照/污染/角度);2)标注采用LabelStudio+预标注提升效率;3)定制工业增强策略(反光模拟/缺陷复制粘贴)。文章还提供了完整的参数调优记录和TensorRT加速部署

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1735

06、Kerberos安全认证之配置和访问Kerberos安全认证的Kafka集群学习笔记

06、Kerberos安全认证之配置和访问Kerberos安全认证的Kafka集群学习笔记

每个人都是独一无二的,把握好自己的节奏,跟着自己的心走。 2285

EML 全面实践指南:把 SAP RAP 业务对象玩出工程化的稳定与优雅

本文面向掌握ABAP基础、正在实施RAP的开发者,深入讲解EML(Entity Manipulation Language)的核心用法。文章围绕READ ENTITIES、MODIFY ENTITIES、COMMIT ENTITIES三大语句,详细解析其语义、类型体系、事务机制及工程实践。重点内容包括:字段裁剪、派生类型、草稿控制、批量更新、事务缓冲与保存序列等关键技术点,并配合真实案例代码。旨在帮助开发者在SAP ABAP On-Premise和BTP环境中构建可维护、可演进的业务对象访问层,同时避免常见

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 329

cesium单向流动线效果

在学材质的路上一去不复返了属实是,难也难在这。还请各位大佬多多指教~

就zhei? 690

CDH kerberos 认证,安全认证

环境 centos 7.4 安装KDC服务 yum -y install krb5-server krb5-libs krb5-auth-dialog krb5-workstation 修改配置文件vi /etc/krb5.conf 默认如下 修改为 # Configuration snippets may be plac...

jast 1543

OpenClaw常见4大赋能工作场景

OpenClaw不仅仅是一个AI工具,更像是个人与企业的“数字操作系统”——它连接大模型与真实世界,让“思考”与“行动”无缝闭环。

王国平的博客 629

python kerberos hbase_hadoop和hbase的安全认证Kerberos部署

(接上一篇)五、Kerberos1、jsvc所有节点:# cd ~/soft# tar zxfcommons-daemon-1.0.15-native-src.tar.gz# cd commons-daemon-1.0.15-native-src/unix;./configure; make# cp jsvc /usr/local/hadoop-2.4.0/libexec/# cd ~/soft#...

weixin_39917485的博客 652

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

java API之Hbase Kerberos认证

用过hbase的朋友可能都有过这样的疑问,我写一个java client,好像就提供了zookeeper quorum地址就连上hbase了,那么是不是存在安全问题?的确是,如何解决?hbase中引入了kerberos认证。我准备用两篇博文介绍hbase + kerberos的相关内容,本篇主要介绍kerberos的配置。 环境准备 kerberos简介 kerberos server配置 kerberos client配置 环境准备 这里我准备了三台server,各自安装上centos 6.5

lixinkuan的博客 3700

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

怎样通过悦家云身份认证_Flink on Yarn Kerberos安全认证

点击上方蓝色字体,选择“设为星标”回复”资源“获取更多资源大数据技术与架构点击右侧关注,大数据开发领域最强公众号!大数据真好玩点击右侧关注,大数据真好玩!Flink作为新一代的大数据处理引擎,其批流一体化的设计与出色的流处理性能,在业界得到了很多头部公司的青睐。目前运行Flink的集群多采用Yarn进行资源管理,这是最成熟的方案。Yarn做为Hadoop生态系统中的工具之一,客户端通常需...

weixin_35728049的博客 354

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

CDH5.X安装配置kerberos认证过程

//CDH安装配置kerberos认证过程---coco # by coco # 2014-12-23 CDH-5.2.0-1.cdh5.2.0安装成功,已经运行了几个月了。现在把确实的认证安装配置上。下面是详细的安装配置过程,已经过程中遇到的问题解决办法。 1. 背景 在Hadoop1.0.0或者CDH3 版本之前, hadoop并不存在安全认证一说。默认集群内所有的节

wulantian的专栏 1万+

Kerberos

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

qq_39128254的博客 731

CDH配置Kerberos和Sentry详解

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

h952520296的博客 2586

CDH集成Kerberos

一、安装Kerberos 1. 整体说明 软件版本 操作系统:CentOs 6.8 CDH版本:Hadoop 2.6.0-cdh5.9.0 JDK版本:jdk1.7.0_67-cloudera 运行用户:root 集群主机角色划分 sunmvm20 作为master节点,安装kerberos Server 其他节点作为slave节点,安装kerberos client 2. 配置h...

qq_37243563的博客 938

ambari开启kerberos

网上一些跟Ambari启用Kerberos,看似很简单,但实际按照这个配置,遇到的问题连解决方案都不好找。启用了kerberos,想要也没有那么简单,ambari关闭kerberos,大数据集群起都起不来,因为有些内容还得手工删除,真是骑虎难下。我之前开启了ranger,比较简单。后来想着kerberos也一样,于是也起来,结果发现安全模式下,会更改ambari的一些配置,导致一堆报错 Remove ats-hbase before switching between clusters,出了问题找这篇文章,

warrah 南极狼 1155
上一篇: 实现RPC(利用Netty)
下一篇: 时间轮算法概述
Alecor
博客等级 码龄11年 25粉丝 123原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值