返回顶部
首页 > 资讯 > 服务器 >大数据之Kerberos认证
  • 110
分享到

大数据之Kerberos认证

服务器安全 2023-10-21 19:10:54 110人浏览 独家记忆
摘要

一、基本概念 1、Kerberos 是什么? Kerberos 是一个网络身份验证协议,用于在计算机网络中进行身份验证和授权。它提供了一种安全的方式,允许用户在不安全的网络上进行身份验证,并获取访问网络资源的权限。 2、Kerberos 的

一、基本概念

1、Kerberos 是什么?

Kerberos 是一个网络身份验证协议,用于在计算机网络中进行身份验证和授权。它提供了一种安全的方式,允许用户在不安全的网络上进行身份验证,并获取访问网络资源的权限。

2、Kerberos 的基本原理:

Kerberos 使用密钥分发中心(Key Distribution Center,KDC)来管理认证过程。KDC 包含两个组件:身份认证服务器(Authentication Server,AS)和票据授权服务器(Ticket Granting Server,TGS)。
用户首先向 AS 发送用户名和密码进行身份验证。如果验证成功,AS 会向用户颁发一个票据授权票(Ticket Granting Ticket,TGT)。
用户在访问特定服务时,使用 TGT 请求 TGS 颁发一个服务票据(Service Ticket)。
TGS 根据 TGT 验证用户身份,并颁发一个用于访问特定服务的服务票据。
用户使用服务票据向服务请求访问,并在访问过程中进行相应的身份验证。

3、Kerberos 认证的优势:

相比传统的明文密码认证方式,Kerberos 提供了更强的安全性。用户密码不会在网络中传输,而是在 Kerberos 协议中使用密钥进行加密和传输。
Kerberos 提供单点登录(Single Sign-On,SSO)功能,用户只需在登录时进行一次身份验证,然后可以在网络中访问多个服务而无需重新输入密码。
Kerberos 使用票据来进行授权,减少了对身份验证服务器的频繁访问,提高了性能和可扩展性。

4、Kerberos 实现的要素:

主体(Principal):表示一个被 Kerberos 认可的实体,可以是用户、服务或服务器。
密钥分发中心(Key Distribution Center,KDC):包含身份认证服务器(AS)和票据授权服务器(TGS),负责颁发票据和验证身份。
票据授权票(Ticket Granting Ticket,TGT):由 AS 颁发给用户,用于请求服务票据。
服务票据(Service Ticket):由 TGS 颁发给用户,用于访问特定服务。

5、Kerberos 在实际应用中的使用场景:

在企业网络中进行用户身份验证和单点登录。
分布式系统中实现跨域用户身份验证和授权。
在云环境中确保用户和服务之间的安全通信。

6、Kerberos 认证流程:

用户向身份认证服务器(AS)发送用户名和密码进行身份验证请求。
AS 验证用户的身份,并生成一个会话密钥(Session Key)作为票据授权票(TGT)的一部分。
AS 将 TGT 加密并发送给用户。
用户收到 TGT 后,保存在本地,并在需要访问服务时使用。
用户向票据授权服务器(TGS)发送 TGT 请求服务票据。
TGS 验证用户的身份,生成一个服务票据并用 TGS 的密钥对其加密。
TGS 将服务票据发送给用户。
用户收到服务票据后,将其发送给目标服务。
目标服务使用自己的密钥解密服务票据并验证用户的身份。
如果验证成功,目标服务向用户提供所需的服务。

7、Kerberos 中的密钥:

Kerberos 使用密钥来保证身份验证和票据的安全性。
用户和身份认证服务器之间有一个共享的密码密钥(PassWord Key)。
用户和票据授权服务器之间有一个共享的票据授权服务密钥(TGS Session Key)。
用户和每个服务之间有一个共享的会话密钥(Session Key)。
这些密钥用于加密票据和提供安全通信。

8、Kerberos 的实现和支持:

Kerberos 是一个开放标准,有多种实现和支持。
MIT Kerberos:MIT(麻省理工学院)开发和维护的开源 Kerberos 实现,被广泛应用于各种操作系统和应用程序。
Microsoft Active Directory:微软的域控制器和身份认证解决方案使用 Kerberos 作为其身份验证协议。
其他厂商和开发者也提供了各种 Kerberos 实现和集成支持。

简化认证流程图:

 二、举例

1、如果用户想访问hadoop集群

在 Kerberos 认证中,用户和 Hadoop 各个组件(如hdfs、YARN等)都需要在身份认证服务器(AS)中进行注册,以建立相应的主体(Principal)和密钥。

用户使用 kinit 命令输入账号和密码进行身份验证。
如果认证通过,AS 会颁发一个 TGT(Ticket Granting Ticket),它是一个加密的票据,代表用户的身份验证成功,并且可以用于请求服务票据。

当用户需要访问 Hadoop 集群中的某个组件时(如HDFS、YARN),用户向票据授权服务器(TGS)发送 TGT 请求服务票据。

TGS 验证用户的身份,并生成一个服务票据(Service Ticket),该票据是针对特定服务的,TGS 将服务票据发送给用户。

用户收到服务票据后,向目标服务(如HDFS、YARN)发送服务票据,表示对该服务的请求。

目标服务使用自己的密钥解密服务票据,并验证用户的身份和授权。如果验证通过,目标服务向用户提供所需的服务,如访问 HDFS 文件或执行 YARN 作业。

总体来说,Kerberos 提供了一种安全的方式,确保用户可以在集群中进行身份验证,并且通过票据授权访问特定的服务。如果用户通过身份验证并且拥有有效的票据,就可以与集群进行安全通信和访问。

三、Kerberos 认证的主要方式

1、使用 kinit 命令进行认证:

kinit 是 Kerberos 提供的命令行工具,用于向身份认证服务器(AS)发送认证请求,并获取 TGT(Ticket Granting Ticket)票据。
当你使用 kinit 命令时,会被提示输入用户名和密码。这些凭据将被发送给 AS 进行身份验证。
如果认证成功,kinit 会将 TGT 票据保存在你的本地凭据缓存中(通常是一个加密的票据文件),以便后续的服务票据请求和访问。

2、保存票据进行认证:

一旦你通过 kinit 命令获取了 TGT 票据,你可以选择将票据保存在本地,并在需要访问服务时使用它。保存票据可以通过不同的方式,比如将 TGT 票据文件存储在特定的位置,如默认的票据缓存文件夹。当你需要访问服务时,你可以使用保存的票据进行认证,而无需重新进行用户名和密码的身份验证。

需要注意的是,保存票据的方式仍然依赖于 kinit 命令的执行来获取初始的 TGT 票据。一旦你拥有有效的 TGT 票据,你可以在一定时间内多次使用它进行访问,而无需重复进行身份验证。

总之,使用 kinit 命令进行认证是获取 TGT 票据的初始步骤,而保存票据则是在一段时间内持久化这个票据,并在需要访问服务时使用它进行认证。这两种方式共同构成了 Kerberos 认证的流程。

四、保存票据进行认证的时效性

通过 Kerberos 认证,你只需要在一定时间内输入一次密码进行身份验证,获取到有效的 TGT(Ticket Granting Ticket)票据。这个 TGT 票据可以用于在一段时间内多次访问不同的服务而无需重复输入密码。

一旦获得了 TGT 票据,你可以使用它向票据授权服务器(TGS)请求服务票据。服务票据是特定服务的授权凭证,它由 TGS 使用服务的密钥对其进行加密生成,并只能由该服务解密和验证。

当你需要访问特定服务时,你只需将相应的服务票据提供给服务即可,无需再次输入密码。服务会使用自己的密钥解密服务票据,验证你的身份和授权,然后提供相应的服务。

这种方式在一定程度上简化了认证过程,减少了密码输入的次数,提高了安全性。通过票据进行访问不仅方便,还提供了加密和授权机制,确保了通信的安全性和合法性。

也就是说在这个过程中,双方的登录主要是为了确保 TGT 票据的时效性,以便在一段时间内进行多次访问而无需重复登录。而具体的访问则是通过服务票据的加密和解密来实现安全通信和授权访问。

来源地址:https://blog.csdn.net/m0_70949976/article/details/130681518

--结束END--

本文标题: 大数据之Kerberos认证

本文链接: https://lsjlt.com/news/434032.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 大数据之Kerberos认证
    一、基本概念 1、Kerberos 是什么? Kerberos 是一个网络身份验证协议,用于在计算机网络中进行身份验证和授权。它提供了一种安全的方式,允许用户在不安全的网络上进行身份验证,并获取访问网络资源的权限。 2、Kerberos 的...
    99+
    2023-10-21
    服务器 安全
  • Kerberos认证流程及基本操作
    一 Kerberos的三个角色 Kerberos主要是有三个重要的角色: 访问服务的Client 提供服务的Server KDC(Key Distribution Center)密钥分发中心,其中报错AS(authorization ser...
    99+
    2023-09-02
    数据库 网络 服务器
  • Kerberos认证原理与使用教程
    Kerberos认证原理与使用教程 一、Kerberos 概述 二、什么是 Kerberos ​ Kerberos 是一种计算机网络认证协议,用来在非安全网络中,对个人通信以安全的手段进行身份认证。这个词又指麻省理工学院为这个协议开发的一套...
    99+
    2023-08-21
    网络 服务器 运维
  • Hadoop/HBase Kerberos认证失败:Clock skew too great
    Hadoop/HBase Kerberos认证失败:Clock skew too great 组件启动失败,查看日志是在创建集群连接前的Kerberos认证没通过: 异常信息提示时钟偏差较大。于是检查...
    99+
    2014-07-30
    Hadoop/HBase Kerberos认证失败:Clock skew too great
  • hadoop和hbase的安全认证Kerberos部署
    (接上一篇)五、Kerberos1、jsvc所有节点:# cd ~/soft# wget http://mirror.bit.edu.cn/apache/commons/daemon/source/comm...
    99+
    2024-04-02
  • hdfs/hbase 程序利用Kerberos认证超过ticket_lifetime期限后异常
    问题描述 业务需要一个长期运行的程序,将上传的文件存放至HDFS,程序启动后,刚开始一切正常,执行一段时间(一般是一天,有的现场是三天),就会出现认证错误,用的JDK是1.8,hadoop-client,对应的版本是2.5.1,为...
    99+
    2016-11-12
    hdfs/hbase 程序利用Kerberos认证超过ticket_lifetime期限后异常
  • 基于.Net Core认证授权方案之JwtBearer认证
    目录一.前言二.Bearer认证三.JWT四.开始1. 注册认证服务2.接口资源保护3. 生成Token五. 运行六.扩展说明1、Basic基础认证2、Digest摘要认证七.注意八...
    99+
    2024-04-02
  • 数据库oracle认证考什么
    Oracle认证考试包括以下考试:1. Oracle Database SQL Exam:考察SQL基础知识和数据库查询语言的使用。...
    99+
    2023-06-03
    oracle认证 oracle
  • WebAPI身份认证解决方案之Basic基础认证
    一、WebApi中为什么需要身份认证 我们在使用WebApi的时候,都是通过URL去获取数据。也就是说,任何人只要知道了URL地址,就能随意的访问后台的服务接口,就可以访问或者修改数...
    99+
    2024-04-02
  • 阿里云认证云数据库目
    阿里云认证云数据库题目涵盖了云数据库的各种知识点,包括但不限于数据库的基本概念、数据模型、SQL语句、数据库管理、数据安全性等方面。这些题目旨在帮助考生了解并掌握云数据库的基本知识和技能,为今后的工作和学习打下坚实的基础。详细说明:一、云...
    99+
    2024-01-25
    阿里 数据库
  • Win10累积更新下载紧急修复Kerberos认证系统漏洞的方法
    这篇文章主要介绍了Win10累积更新下载紧急修复Kerberos认证系统漏洞的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在几天前发布适用于 Version 1809 ...
    99+
    2023-06-10
  • 浅析MongoDB之安全认证
    目录一、MongoDB的用户和角色权限简介1.1、查看所有内置角色1.2、常见的内置角色二、单实例环境2.1、创建用户2.2、服务端开启认证2.3、客户端登录认证三、副本集环境3.1...
    99+
    2024-04-02
  • Django之用户认证组件
      用户认证组件用的是Django自带一个表:auth_user   一、auth模块   1,authenticate()判断用户是否存在方法 user=authenticate(username='xxx',password='xx...
    99+
    2023-01-30
    组件 用户 Django
  • MongoDB数据库授权认证的实现
    目录1.与用户相关的命令2.配置mongodb登陆授权认证2.1.创建一个用户2.2.修改配置文件启用用户认证2.3.重启mongodb2.4.使用口令登陆mongodb3.授权用户...
    99+
    2024-04-02
  • GBASE南大通用数据库完成兼容性互认证7连击
    2020年7月,南大通用安全数据库管理系统GBase 8s V8.8产品与多家厂商完成了产品兼容性互认证,该款产品拥有完全知识产权的、成熟稳定的、百TB金融级国产安全数据库。GBase 8s V8.8具备...
    99+
    2024-04-02
  • Shiro教程之三自定义Realm认证和授权(结合数据库)
    Shiro默认使用自带的IniRealm,IniRealm从ini配置文件中读取用户的信息,大部分情况下需要从系统的数据库中读取用户信息,所以需要自定义realm。 1,Realm接口      最基础的是Realm接口,CachingR...
    99+
    2021-02-20
    Shiro教程之三自定义Realm认证和授权(结合数据库) 数据库入门 数据库基础教程 数据库 mysql
  • 大数据Hadoop之——数据仓库Hive
    目录一、概述二、Hive优点与使用场景1)优点2)使用场景三、Hive架构1)服务端组件1、Driver组件2、Metastore组件3、Thrift服务2)客户端组件1、CLI2、Thrift客户端3、WEBGUI3)Metastore...
    99+
    2018-04-25
    大数据Hadoop之——数据仓库Hive
  • H3C认证有3大好处,大家仔细看哦
    随着全国铺天盖地的证书潮不断涌来,忙着培训,忙着考证,已然成为致力于在软、硬件工程研究者和从业者们的生活方式。在忙碌的考试压力和较高的培训经济压力下,精疲力竭的人们不禁要问,证书到底有作用吗?我们这些刚毕业的大学生或者打算转战IT业的同仁们...
    99+
    2023-01-31
    仔细看 好处 H3C
  • MySQL之test数据库默认权限
    默认情况下,mysql.db表中包含的行表示任意用户可以访问test数据库和test_开头的数据库。这些行的User字段的值为空,表示匹配任意用户。这意味着这些数据库(test数据库和test_开头的数...
    99+
    2024-04-02
  • MongoDB3.0中怎么修改数据库认证机制
    这篇文章给大家介绍MongoDB3.0中怎么修改数据库认证机制,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 修改需求:MongoDB3.0当前认证机制为...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作