Kerberos设计和落地长常识

news/2024/4/17 0:55:31/文章来源:https://blog.csdn.net/weixin_38233104/article/details/130350637

Kerberos

在这里插入图片描述

处理三类安全对象
  • 票证
    • kerberos票证授予服务给每个客户发一张标记,该标记发送给一个特殊的服务器,证实kerberos最近已经认证了发送者,票证包括过期时间和新生成的会话密钥供客户和服务器使用。
  • 认证
    • 由客户构造的一个标记,发送给服务器,证明用户身份以及当前服与服务器的通信。一个认证器仅可使用一次,包含客户的名字和时间戳,并用恰当的会话密钥加密。
  • 会话密钥
    • kerberos随机产生,在与某个服务器通信时发送给客户使用。对于与服务器进行的所有通信,并非都要强制加密,会话登录密钥就是用来对要求加密的,服务器之间的通信进行加密,也用来对所有认证器加密。
客户端和服务端交互过程

客户进程对所使用的每个服务器都必须有票据和会话密钥。

对客户-服务器系统的每次交互都提供新票据是不切实际的。因此大多数票据允许客户在几个小时内使用以同特定服务器进行交互,知道过期位置。

一个kerberos服务器是一个密钥分发中心(KDC)每个KDC提供认证服务(AS)和票据授予服务(TGS).

用户登录,AS用网络安全的口令认证用户,然后代表用户的客户进程提供张能授予票证的票证和用来与TGS通信的会话密钥。

这样一个客户进程及其子进程可以用授予票证的票证从TGS中获取用于指定服务器的票据和会话秘钥。

用kerberos登录
  • 当用户登录到工作站,登录程序将用户名发送给kerberos认证服务,如果认证服务认可用户名,则它返回该用户的口令加密的会话密钥,当前时间和用于票证授予服务的票证。
  • 登录程序尝试用用户键入的口令解密会话密钥和当前时间。
  • 如果密码正确,登录程序即可获得会话密钥和当前时间,检查当前时间,并保存好会话密钥和票证以备随后与票证授予服务通信时使用。
  • 这时,登录程序可以从内存中删除用户的密码,因为票证现在可以用于认证该用户,登录会话开始了。
  • 一旦登录立刻删除内存中保存的用户密码。
通过kerberos访问服务器
  • 运行在工作站上的程序一旦需要访问一个新的服务,就从票证授予服务请求该服务的票证。
  • 当一个UNIX用户希望登录到一个远程计算机上,在用户的工作站上的rlogin命令程序从Kerberos票证授予服务获得票证用来访问远程计算机的rlogind网络服务。
  • 在用户希望登录时,rlogin命令程序响应远程机器处的rlogind远程的要求,发送票据和一个新的认证服务器。
  • rlogind程序使用rlogin服务的保密密钥解密票证,并检查票证的有效性,未过期。
  • 服务器必须小心地把保密密钥存储在入侵者难以达到的地方。
  • 然后rlogind程序使用包含在票证中的会话密钥解密认证器并检查认证器是否新近产生的。
  • (认证器只能被使用一次)
  • 一旦rlogind程序确信票据和认证器都有效,就不需要检查用户的名字和口令。
  • 因为rlogind程序已经知道用户的身份,这是一个远程用户的登录会话就被建立起来了。
kerberos实现

可以作为一个在安全机器上运行的服务器来实现。提供一些库供客户应用程序使用。也可以采用DES加密算法,作为独立模块实现。很容易被换掉。

Kerberos服务是可伸缩的——将世界分成不同的认证区域,每个域有自己kerberos服务器。

多主体仅在一个域中登记,但kerberos的票证服务器可在所有域中登记。

通过本地TGS,主体可以在其他域中的服务器认证自己。

在一个域,可能有几个认证服务器,全都有同一个认证数据库的副本。

认证数据库采用一种主从复制技术。

实际使用中一般将12小时作为票证的生命周期时间。

运维落地实现

Kerberos是一种安全认证协议,常用于计算机网络中进行身份认证。下面是Kerberos实现和应用安装过程的说明。

Kerberos实现过程:

  1. 安装Kerberos软件包:Kerberos软件包通常包括Kerberos服务器和客户端软件,可以从官方网站下载。
  2. 配置Kerberos服务器:Kerberos服务器需要配置Kerberos数据库、密钥表和策略等。可以使用kdb5_util等工具进行配置。
  3. 创建Kerberos管理员:Kerberos管理员可以使用kadmin工具进行创建,管理员需要创建Kerberos服务、密钥表和用户账户等。
  4. 配置Kerberos客户端:Kerberos客户端需要配置Kerberos服务器地址、密钥表和认证策略等。
  5. 测试Kerberos认证:可以使用kinit工具进行测试,输入用户名和密码进行认证。

应用安装过程:

  1. 安装Kerberos客户端:Kerberos客户端通常包含在操作系统中,可以使用系统自带的包管理工具进行安装。
  2. 配置应用程序:应用程序需要配置Kerberos认证方式和服务器地址等。不同的应用程序有不同的配置方式。
  3. 测试应用程序:可以使用应用程序进行测试,输入用户名和密码进行认证。如果认证成功,就可以使用应用程序进行操作。

总结:Kerberos实现和应用安装过程需要进行一系列的配置和测试工作,需要按照官方文档或者相关教程进行操作

在hadoop

Kerberos是一种网络认证协议,可以保护Hadoop集群中的敏感信息和数据。以下是Kerberos在Hadoop中的设计和实现:

Hadoop集群中的每个节点都必须加入到Kerberos域中,并且必须有一个Kerberos服务。

Hadoop使用Kerberos来认证用户和服务。当用户在Hadoop集群中运行作业时,必须先获得Kerberos票证。

Hadoop使用Kerberos来保护其各个组件之间的通信。例如,MapReduce作业中的Map和Reduce任务之间的通信将使用Kerberos来加密和解密数据。

Hadoop中的每个用户都必须有一个Kerberos主体,该主体包含用户名和密码。当用户登录到Hadoop集群时,他们必须使用他们的Kerberos主体来获得Kerberos票证。

Hadoop中的每个服务都必须有一个Kerberos主体,该主体包含服务的名称和密码。例如,HDFS服务必须有一个Kerberos主体,以便用户可以使用Kerberos票证来访问HDFS。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_103019.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

震惊!为了4680锂电池溯源,竟然做出这种事情

电池溯源,一直都是国家尤为重视的话题。 中国电子技术标准化研究院更是一再强调了:锂电编码标准编制和溯源平台初步建设方案。参会代表围绕锂电编码溯源体系建设有关问题开展了研讨,表示依托行业通用编码标准,建立完善的锂电全生…

OSCP-Sirol(docker容器到宿主机)

目录 扫描 WEB 提权 扫描 sudo nmap 192.168.64.54 -p- -sS -sVPORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.4p1 Debian 10+deb9u7 (protocol 2.0) 53/tcp closed domain 80/tcp open http Apache httpd 2.4.25 ((Debian)) 3306…

leetcode重点题目分类别记录(四)图论深入

文章目录 入度出度最大网络秩可以到达所有点的最少点数目 并查集省份数量等式方程的可满足性按字典序排列最小的等效字符串以图判树 二分图判断二分图 深度优先搜索封闭岛屿数量太平洋大西洋水流问题 广度优先搜索树上逃逸最短路径多源最短路径 拓扑排序DFS解决拓扑排序BFS解决…

【C++关联容器】set的成员函数

目录 set 1. 构造、析构和赋值运算符重载 1.1 构造函数 1.2 析构函数 1.3 赋值运算符重载 2. 迭代器 3. 容量 4. 修改器 5. 观察者 6. 操作 7. 分配器 set set是按照特定顺序存储唯一元素的容器。 在一个set中,一个元素的值也是它的标识(值…

mybatis中大数据量foreach插入效率对比

1.controller代码 RequestMapping("/testInsert")public String testInsert(Integer sum){testService.testInsert(sum);return "发送成功";}2.service代码 Overridepublic void testInsert(Integer sum) {long start System.currentTimeMillis();List<…

修炼汇编语言第一章:汇编基础知识概述

目录 前言 一、汇编语言的组成 二&#xff1a;存储器 三&#xff1a;指令和数据 四&#xff1a;存储单元 五&#xff1a;CPU对存储器的读写 地址总线 控制总线 数据总线 前言 汇编语言是数据结构&#xff0c;操作系统&#xff0c;微机原理等重要课程的基础&#xff0…

QT中TCP的学习

文章目录 qt中TCP的实现 qt中TCP的实现 学习视频 QT中可以通过TCP协议让服务器和客户端之间行通信。服务器和客户端的具体流程 下方的信号都是系统提供的&#xff0c;我们只需要写相应的槽函数 A、服务器&#xff1a; 创建QTcpServer对象启动服务器&#xff08;监听&…

【C语言】指针进阶[上] (字符、数组指针、指针数组、数组传参和指针传参)

简单不先于复杂&#xff0c;而是在复杂之后。 目录 1. 字符指针 面试题 2. 指针数组 3. 数组指针 3.1 数组指针的定义 3.2 &数组名 VS 数组名 3.3 数组指针的使用 4. 数组参数、指针参数 4.1 一维数组传参 4.2 二维数组传参 4.3 一级指针传参 4.4 二…

后端大厂面试总结大全六

目录&#xff1a; 1、Transactional注解控制事务有哪些不生效的场景2、MySQL的优化 1、Transactional注解控制事务有哪些不生效的场景 数据库引擎不支持事务数据源没有配置事务管理器没有被spring管理方法不是public的同一个类中方法调用&#xff0c;导致Transactional失效 举…

操作系统原理 —— 进程状态切换具体做了哪些事情?(八)

什么是进程控制&#xff1f; 进程控制的主要功能是&#xff1a;对系统中的所有进程实施有效的管理&#xff0c;它具有创建新进程、撤销已有进程、实现进程状态转换等功能。 简单来说&#xff0c;就是进程控制就是要现实进程状态的转换。 那如何实现进程的控制呢&#xff1f;…

手推FlinkML2.2(一)

Java 快速入门 # 本文档提供了一个关于如何使用Flink ML的快速入门。阅读本文档的用户将被指导提交一个简单的Flink作业&#xff0c;用于训练机器学习模型并提供预测服务。 求助&#xff0c;我卡住了&#xff01;# 如果你遇到困难&#xff0c;请查看社区支持资源。特别是&…

Java线程间通信方式

前文了解了线程的创建方式和状态切换&#xff0c;在实际开发时&#xff0c;一个进程中往往有很多个线程&#xff0c;大多数线程之间往往不是绝对独立的&#xff0c;比如说我们需要将A和B 两个线程的执行结果收集在一起然后显示在界面上&#xff0c;又或者比较典型的消费者-生产…

【论文写作】如何写引言?应该思考什么问题?总体架构!!!

结构 大多数的科技论文都聚焦于简单地说明&#xff0c;做了什么&#xff0c;发现了什么&#xff1f;虽然这个可以帮助你写出一篇研究型论文当中的核心的东西&#xff08;方法论和结果&#xff09;&#xff0c;但是不能完全把引言的部分完成。在这篇文章当中&#xff0c;将展示…

4 redis高可用

所谓的高可用&#xff0c;也叫HA&#xff08;High Availability&#xff09;&#xff0c;是分布式系统架构设计中必须考虑的因素之一&#xff0c;它通常是指&#xff0c;通过设计减少系统不能提供服务的时间。如果在实际生产中&#xff0c;如果redis只部署一个节点&#xff0c;…

从FMCW毫米波雷达系统的性能参数理解4D成像毫米波雷达的设计思路

本文编辑&#xff1a;调皮哥的小助理 站在设计雷达的角度看&#xff0c;其实无论是传统的3D毫米波雷达&#xff0c;还是如今的4D毫米波成像雷达&#xff0c;其雷达系统性能参数都遵循一个原则&#xff0c;即&#xff1a; d res ⋅ v res ⋅ θ res d max ⁡ ⋅ v max ⁡ ⋅ …

ESP8266通过MQTT协议连接onenet云平台

中国移动onenet平台 文章目录 中国移动onenet平台前言一、onenet平台二、ESP82661.完整代码2.联网代码3.连云代码4.数据处理 总结 前言 最近在弄onenet平台&#xff0c;用arduino结合esp8266&#xff0c;就是不知道怎么回事&#xff0c;一直连不上wifi&#xff0c;然后就用esp…

Linux下使用Mysql 第一天

目录 安装mysql 更改账户名和密码 启动/关闭mysql mysql的基本操作 数据库CURD 创建数据库 查看数据库 修改数据库 删除数据库 表的CURD 创建表 查看表 修改表 删除表 表数据的CURD create数据 Retrieve数据 update数据 delete数据 DML和DDL的区别&#xf…

高分辨率光学遥感图像水体分类综述2022.03

本文是Water body classification from high-resolution optical remote sensing imagery: Achievements and perspectives的学习笔记。 相关资源被作者整理到&#xff1a;这里 文章目录 Introduction基本知识 挑战和机遇挑战1. 有限的光谱信息和小场景覆盖2. 形状、大小和分布…

【JAVA-模块五 数组】

JAVA-模块五 数组 一、数组&#xff08;一维&#xff09;1.1数组是什么&#xff1f;1.2java中数组静态初始化&#xff1a;&#xff08;存&#xff09;两种定义格式&#xff1a;数组初始化格式&#xff1a;静态初始化后&#xff0c;打印数组名&#xff1a; 1.3 数组元素访问&…

javaweb学生在线考试系统dzkf10程序

打分&#xff09;、系统管理&#xff08;数据备份&#xff09;等功能操作。 以学生的身份在登录页面输入账号和密码&#xff0c;经过数据库身份验证&#xff0c;验证成功后登录系统主页&#xff0c;可以使用个人资料管理、试卷查看、在线考试、在线答疑、个人考试成绩查询等功能…