Kerberos设计和落地理论实践

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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

P("Struggler") ?

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值