hadoop安全保护机制(kerberos + ldap)

这篇具有很好参考价值的文章主要介绍了hadoop安全保护机制(kerberos + ldap)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

信息安全理论:

CIA模型:机密性、完整性和可用性

  CIA模型能够帮助建议一些信息安全原则,但该模型并不是一个需要严格遵守的规则

  hadoop平台可能设计多个CIA模型组件,也kennel一个也不涉及

机密性:

   信息只应该被期望的接收者看到

   身份标识:唯一标识消息传递者

   身份验证:证明自己的身份

   加密:将数学算法应用于信息片段,使加密后输出内容对于非预期接收者不可读

   解密:只有期望的接收者能对加密消息进行解密,从而得到原始信息

完整性:

  保证发送方发送的信息和接收分接收的完全一致

可用性:

   数据能够被准确送达,不会丢失

验证、授权和审计(AAA):

   指计算机安全领域的一个架构模式,在该模式中,使用服务的用户要证明自己的身份,然后规则规则被授予权限,同时其操作被记录下来留待审计。

身份:指系统如何将不同的实体、用户和服务区分开来

  linux系统:

验证:/etc/passwd

授权:/etc/sudoers、/etc/group

审计:/var/log/secure

统一身份认证管理:

     在开源大数据平台中,用户可能需要同时使用很多开源组件,因此会涉及到每个组件的身份认证和访问权限等问题。利用统一的认证服务能够更好的管理用户的身份认证及会话管理等。

     在大数据平台中通过统一用户管理系统,可以实现平台中的各种开源组件应用系统的用户、角色和组织机构统一化管理,实现各种应用系统间跨域的单点登录登出和统一的身份认证功能。

统一身份认证系统的主要功能特性如下:

用户管理

用户认证

单点登录

分级管理

权限管理

会话管理

兼容多种操作系统

目前,绝大多数厂商的统一认证管理系统都是由统一认证管理模块、统一身份认证服务、身份信息存储服务器三大部分组成。

kerberos ldap,安全

 在华为大数据解决方案中,我们通过基于开源的OpenLDAP的身份认证的管理和存储技术以及Kerberos统一身份认证技术,实现了一种能够通过WebUI进行集群中的数据与资源访问控制权限管理

kerberos:

kerberod是麻省理工学院开发的一个认证机制,该系统设计上采用客户端/服务器结构与DES,AES等加密技术,并且能够进行互相认证,即客户短和服务端均对对方进行身份认证。客户端需要确认即将访问的网络服务就是自己所想要访问的服务而不是一个伪造的服务器,而服务端需要确认这个客户端是一个身份真实,安全可靠的客户端,而不是一个想要进行恶意网络攻击的用户

Kerberos核心三要素:

krbServer认证机制的核心工作是使用一种能够证明用户身份的票据(密钥),保护集群免受窃听和攻击。

kerberos client: 发送请求的一方

kerberos kdc server: 接收请求的一方

kdc(key distribution center):  有两个部分,分别是:

AS(Authentication Server):认证服务器,专门用来认证客户端的身份并发放客户用于访问TGS的TGT(授予票据)

TGS(Ticket Granting ticket): 票据授予服务器,用来发放整个认证过程以及客户端访问服务端时所需的服务授予票据。

kerberos 术语:

主体(principal):

kerberos中的身份标识,每个参与kerberos认证协议的用户和服务都需要一个主体来唯一地表示自己。

用户主体(UPN)

代表常规用户,类似于操作系统中的用户名

 <短名称><@域>

<短名称>/admin@<域>

服务主体<SPN>:

代表用户需要访问的服务,例如特定服务器上的数据库

<短名称>/<主机名>@<域>

域(realm):

就是一个身份验证管理区域,所有主体都被分配到特定的kerberos域,域确定了边界,使得管理更为容易。

密钥分发中心(KDC):

      kerberos数据库:存储主体及其所属域的所有相关信息

     认证服务(AS):当客户端向AS发起请求时,向客户端发放票据授予票据TGT用于请求访问其他服务

   票据授予服务(TGS):负责验证票据许可票据(TGT), 并授予服务票据(ST)。服务票据允许认证过的主体使用应用服务器提高的服务,该服务通过SPN进行标识。

EXAMPLE.COM:Kerberos域

zph:一个系统用户,其UPN为zph@EXAMPLE.COM

myservice:server1.example.com上运行的一个服务,其SPN为myservice/server1.example.com@EXAMPLE.COM

kdc.example.com:Kerberos域EXAMPLE.COM的KDC

kerberos工作流程:

简化流程:

kerberos ldap,安全

1、客户端向KDC请求获取想要访问的目标服务的服务授予票据(Ticket);

2、客户端拿着从KDC获取的服务授予票据(Ticket)访问相应的网络服务

上面简化了kerberos的认证流程,大致分为两步,虽然只有两步,但是其中还是有一些问题问题:

(1)    KDC怎么知道你(客户端)就是真正的客户端?凭什么给你发放服务授予票据(Ticket)呢?
(2)    服务端怎么知道你带来的服务授予票据(ticket)就是一张真正的票据呢?

kerberos认证过程中的第一步做了两件事,这两件事解决了上述问题中的问题1,然后第二部解决了问题2,最终结束认证过程建立通信。

因此kerberos认证流程可以细化为三个阶段,也可以理解为三次通信,接下来从三个阶段三次通信角度细说认证过程。

Kerberos认证流程:

kerberos ldap,安全

kerberos认证前提条件:

1、kerberos协议是一个”限权“的认证协议,kerberos中会自带一个数据库,数据库会由创建kerberos的运维人员提前在库中添加好整个系统中拥有使用kerberos认证权限的用户和网络服务。在后续的认证中也是根据数据库中是否存在该用户和服务来判断该对象是否能够通过认证服务的。

2、所有使用kerberos协议的用户和网络服务,在他们添加到kerberos系统时,都会根据自己当前的密码生成一把密钥存储在kerberos数据库红,且kerberos数据库也会同时保存用户的基本信息(用户名,用户ip地址)和网络服务的基本信息(ip)

3、kerberos中存在的三个角色,只要发生两两之间的通信,那都需要先进行身份认证。

第一次通信:

kerberos ldap,安全

 为了获得能够用来访问服务端服务的票据,客户端首先需要来到KDC获得服务授予票据(Ticket)。由于客户端是第一次访问KDC,此时KDC也不确定该客户端的身份,所以第一次通信的目的为KDC认证客户端身份,确认客户端是一个可靠且拥有访问KDC权限的客户端,过程如下:

1、客户端用户向kdc以明文的方式发起请求,该请求携带自己的用户名、主机ip和当前时间戳

2、kdc中的AS接收请求后去kerberos认证数据库中根据用户名查找是否存在该用户,此时只会查找是否有相同用户名的用户,并不会判断身份的可靠性。(AS是KDC中专门用来认证客户端身份的认证服务器)

3、如果没有用户名,认证失败,服务结束,如果存在该用户名,则AS认证中心认为用户存在,此时便返回客户端,其中包含两部分内容:

第一部分为TGT,票据授予票据,客户端需要使用TGT去kdc中的TGS获取访问网络服务所需的Ticker(服务授予票据),TGT中包含的内容有kerberos数据库中存在的该客户端name、ip、当前时间戳、客户端即将访问的TGS的name,TGT的有效时间以及一把用户客户端和TGS间进行通信的session_key(CT_SK)。整个TGT使用TGS密钥加密,客户端解密不了,由于密钥没有在网络中传输过,所以不存在密钥被劫持破解的情况。

第二部分是使用客户端密钥加密的一段内容,其中包括用户将客户端和TGS间通信的CT_SK,客户端即将访问的TGS的name以及TGT的有效时间、当前时间戳。该部门内容使用客户端密钥加密,所以客户端难道该部门内容可以通过密钥解密。如果是一个假的客户端,那么他不会拥有真正客户端的密钥,因为密钥也没有在网络中传输过。这就认证了客户端的身份,如果是假客户端会犹豫解密失败从而终端认证流程。

至此,第一次通信完成。

第二次通信:

kerberos ldap,安全

第三次通信:

kerberos认证时序图:

kerberos ldap,安全

LDAP & LdapServer:

目录服务:

目录服务是一个为查询、浏览和搜索而优化的服务,其类似于文件目录一样,以树形结构进行数据存储和遍历。

日常生活中最常用的目录服务就是手机中的通讯录。其中通讯录是由以字母顺序排列的名字、地址和电话号码等组成,用户能够在短时间内查找到相应的用户及其信息

LDAP协议概述:

LDAP是轻量目录访问协议(Lightweight Directory Access Protocol)的缩写,是一种基于X.500目录访问协议的集中账号管理架构的实现协议标准

Ldap协议的特点如下:

  • Ldap运行在TCP/IP或其他面向连接的传输服务之上。
  • Ldap同时是一个IETF标准跟踪协议,在”轻量级目录访问协议(Ldap )技术规范路线图”RFC4510中被指定

LdapServer作为目录服务系统,实现了对大数据平台的集中账号管理

LdapServer作为目录服务系统是由目录数据库和一套访问协议组成的系统:

  • LdapServer基于OpenLDAP开源技术实现。

  • LdapServer以Berkeley DB作为默认的后端数据库。

  • LdapServer是基于LDAP标准协议的一种具体开源实现

LdapServer组织模型:

kerberos ldap,安全

ldapserver组织模型又叫做Ldapserver目录树或者LdapServer命名模型,特点如下:

Ldapserver目录信息是基于树形结构来组织和存储的

LdapServer目录树中的每一个极点都被称作条目,并且拥有自己的唯一颗区别的名称DN(distinguished name)

LdapServer目录树的树根一般定义域名dc(domain  component)

域名下可以自由定义组织单位ou(organization unit), 组织单位可以包含其他的各种对象,在目录服务系统中,组织单位包含该组织下的所有用户账户相关信息,组织单位下可以定义具体对象,在定义组织对象时可以指定组织对象的名称cn(common nbame)和用户uid(user id)

LdapServer功能模型:

LdapServer有10种不同的操作,分为4类操作:

查询类:信息搜索、信息比对

更新类:添加条目、删除条目、修改条目、修改条目名

认证类:认证绑定,接触认证绑定

其他操作:放弃服务操作,扩展服务操作文章来源地址https://www.toymoban.com/news/detail-764649.html

LdapServer集成设计:

到了这里,关于hadoop安全保护机制(kerberos + ldap)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C语言与嵌入式安全:固件保护、安全启动与安全更新机制(一)

    目录 一、引言 1.1 定义与阐述C语言在嵌入式系统开发中的重要地位,以及其对系统安全性的影响 1.2 简述嵌入式系统面临的典型安全威胁,如恶意攻击、数据篡改、非法访问等 1.3 提出文章主要探讨内容:通过C语言实现固件保护、安全启动和安全更新机制,以提升嵌入式系统

    2024年04月26日
    浏览(33)
  • Java提供了一系列的安全机制,这些机制在保护IoT设备和应用的安全方面非常有效

    Java提供了一系列的安全机制,这些机制在保护IoT设备和应用的安全方面非常有效。以下是其中一些关键的安全特性: 访问控制 :Java有一个强大的安全模型,它使用权限和策略来控制对特定资源或操作的访问。这有助于防止未授权的访问和潜在的攻击。 数据加密 :Java提供了

    2024年02月01日
    浏览(47)
  • 用户认证——Kerberos集成Hadoop的配置

    为Hadoop开启Kerberos,需为不同服务准备不同的用户,启动服务时需要使用相应的用户。须在 所有节点 创建以下用户和用户组。 创建hadoop组 [root@hadoop102 ~]# groupadd hadoop  hadoop103和hadoop104做同样的操作。 创建各用户并设置密码 [root@hadoop102 ~]# useradd hdfs -g hadoop [root@hadoop102 ~]# ec

    2023年04月15日
    浏览(46)
  • hadoop之kerberos权限配置(ranger基础上)(三)

    上传kerberos安装包到/opt/rpm 安装:rpm -Uvh --force --nodeps *.rpm 修改配置:vi /var/kerberos/krb5kdc/kdc.conf 修改配置:vi /etc/krb5.conf 初始化数据库:/usr/sbin/kdb5_util create -s -r HADOOP.COM。密码设为:ffcsict1234!#% 查看生成文件:cd /var/kerberos/krb5kdc -- ls 创建数据库管理员:/usr/sbin/kadmin.local -q “

    2024年02月08日
    浏览(39)
  • 基於Hadoop HA 在kerberos中配置datax

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 基於Hadoop HA 在kerberos中配置datax 目的是基於HAODOP HA集群在kerberos中配置datax,配置分為兩個步驟進行: 1.基於HADOOP HA 搭建datax 2.在1的基礎上,在kerberos中配置datax 1.解壓官網下載的datax 2.將hadoop中的配置文

    2024年02月11日
    浏览(47)
  • 基於ranger,kerberos,hadoop ha 配置hvie多用戶

    在使用ranger管理hive時,專門配置了rangerlookup來作為hive的管理員,不能這麼說,但是rangerlookup就是這樣的作用 之後,想要使用rangerlookup來登錄datagrip,一開始一直登錄不上去,後面前前後後進行了一些嘗試,現在沒有弄清楚怎麼突然之間就可以了 我發現我是只創建了一個ran

    2024年02月10日
    浏览(40)
  • 深入理解Java GSS(含kerberos认证及在hadoop、flink案例场景举例)

    在当今的信息安全环境下,保护敏感数据和网络资源的安全至关重要。 Kerberos 认证协议作为一种强大的网络身份验证解决方案,被广泛应用于许多大型分布式系统中,如: Hadoop 。而 Java GSS ( Generic Security Services )作为 Java 提供的通用安全服务,与 Kerberos 认证密切相关。 本

    2024年02月08日
    浏览(44)
  • Kerberos安全认证-连载11-HBase Kerberos安全配置及访问_kerberos hbase(1)

    这里需要将该值设置为false,否则Hadoop HA 不能正常启动。 skipACL=yes 跳过Zookeeper 访问控制列表(ACL)验证,允许连接zookeper后进行读取和写入。这里建议跳过,否则配置HBase 启动后不能向Zookeeper中写入数据。 这里在node3节点进行zoo.cfg文件的配置,配置完成后,将zoo.cfg文件分发

    2024年04月13日
    浏览(51)
  • 【hadoop】AccessControlException: SIMPLE authentication is not enabled. Available:[TOKEN, KERBEROS]

    今天要对接华为的hadoop环境,然后我要执行相关的kerberos认证,然后获取到他们的YarnClient。但是报错

    2024年02月15日
    浏览(34)
  • 使用MIT Kerberos Ticket Manager在windows下浏览器访问hadoop页面

    kerberos是一种计算机网络认证协议,他能够为网络中通信的双方提供严格的身份验证服务,确保通信双方身份的真实性和安全性。 hadoop集群中会常用到kerberos认证,在对hadoop集群施加安全认证过程中,往往会有需要开启对应服务组件Web UI认证的需求。在启用认证后,如果直接

    2024年02月14日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包