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

信息安全理论:

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

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

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

机密性:

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

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

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

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

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

完整性:

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

可用性:

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

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

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

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

  linux系统:

验证:/etc/passwd

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

审计:/var/log/secure

统一身份认证管理:

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

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

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

用户管理

用户认证

单点登录

分级管理

权限管理

会话管理

兼容多种操作系统

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

 在华为大数据解决方案中,我们通过基于开源的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工作流程:

简化流程:

在这里插入图片描述

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

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

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

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

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

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


Kerberos认证流程:

在这里插入图片描述

kerberos认证前提条件:

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

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

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

第一次通信:

在这里插入图片描述

 为了获得能够用来访问服务端服务的票据,客户端首先需要来到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 & 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组织模型:

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类操作:

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

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

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

其他操作:放弃服务操作,扩展服务操作

LdapServer集成设计:

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

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

相关文章

探索AI图像安全,助力可信AI发展

探索AI图像安全&#xff0c;助力可信AI发展 0. 前言1. 人工智能发展与安全挑战1.1 人工智能及其发展1.2 人工智能安全挑战 2. WAIC 2023 多模态基础大模型的可信 AI2.1 WAIC 2023 专题论坛2.2 走进合合信息 3. AI 图像安全3.1 图像篡改检测3.2 生成式图像鉴别3.3 OCR 对抗攻击技…

Vis相关的期刊会议

中国计算机学会推荐国际学术会议和期刊目录 文档&#xff0c; 下载 link&#xff1a;CCF推荐国际学术刊物目录-中国计算机学会 一.可视化方向文章 1.IEEE VIS&#xff0c;是由 IEEE Visualization and Graphics Technical Committee(VGTC) 主办的数据可视化领域的顶级会议&a…

【计算机视觉 | 目标检测 | 图像分割】arxiv 计算机视觉关于目标检测和图像分割的学术速递(7 月 17 日论文合集)

文章目录 一、检测相关(5篇)1.1 TALL: Thumbnail Layout for Deepfake Video Detection1.2 Cloud Detection in Multispectral Satellite Images Using Support Vector Machines With Quantum Kernels1.3 Multimodal Motion Conditioned Diffusion Model for Skeleton-based Vi…

【Linux】自动化构建工具-make/Makefile详解

前言 大家好吖&#xff0c;欢迎来到 YY 滴 Linux系列 &#xff0c;热烈欢迎&#xff01;本章主要内容面向接触过Linux的老铁&#xff0c;主要内容含 欢迎订阅 YY 滴Linux专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; 订阅专栏阅读&#xff1a;YY的《…

深度学习——LSTM解决分类问题

RNN基本介绍 概述 循环神经网络&#xff08;Recurrent Neural Network&#xff0c;RNN&#xff09;是一种深度学习模型&#xff0c;主要用于处理序列数据&#xff0c;如文本、语音、时间序列等具有时序关系的数据。 核心思想 RNN的关键思想是引入了循环结构&#xff0c;允许…

什么是剪贴板劫持-剪贴板劫持教程

目录 前言 什么是剪贴板劫持如何避免剪贴板劫持&#xff1f;如何执行剪贴板劫持&#xff1f; 总结 前言 我来写剪贴板劫持教程。 什么是剪贴板劫持 剪贴板劫持是一种危险的攻击技术&#xff0c;借助该攻击者可以控制受害者的剪贴板并将恶意代码粘贴到目标机器中&#xff0c;…

基于单片机的语音识别智能垃圾桶垃圾分类的设计与实现

功能介绍 以51单片机作为主控系统&#xff1b;液晶显示当前信息和状态&#xff1b;通过语音识别模块对当前垃圾种类进行语音识别&#xff1b; 通过蜂鸣器进行声光报警提醒垃圾桶已满&#xff1b;采用舵机控制垃圾桶打开关闭&#xff1b;超声波检测当前垃圾桶满溢程度&#xff1…

认识spring项目的创建 和 从spring中进行Bean对象的存取

前言 本篇简单介绍如何创建spring项目&#xff0c;如何存储到spring容器中&#xff0c;如何从容器中获取Bean对象&#xff0c;如有错误&#xff0c;请在评论区指正&#xff0c;让我们一起交流&#xff0c;共同进步&#xff01; 文章目录 前言1. 创建spring项目2. 将Bean对象存…

RS485/RS232自由转ETHERNET/IP网关rs485和232接口一样吗

你是否曾经遇到过这样的问题&#xff1a;如何将ETHERNET/IP网络和RS485/RS232总线连接起来呢&#xff1f; 远创智控的YC-EIP-RS485/232通讯网关&#xff0c;自主研发的ETHERNET/IP从站功能&#xff0c;完美解决了这个难题。这款网关不仅可以将ETHERNET/IP网络和RS485/RS232总线…

服务器数据恢复-ESX SERVER无法连接到STORAGE的数据恢复案例

服务器数据恢复环境&#xff1a; 某公司信息管理平台&#xff0c;数台VMware ESX SERVER虚拟机共享一台IBM某型号存储。 服务器故障&#xff1a; VC报告虚拟磁盘丢失&#xff0c;管理员ssh到ESX中执行fdisk -l命令查看磁盘&#xff0c;发现STORAGE已经没有分区表了。重启设备后…

WAIC2023:图像内容安全黑科技助力可信AI发展

目录 0 写在前面1 AI图像篡改检测2 生成式图像鉴别2.1 主干特征提取通道2.2 注意力模块2.3 纹理增强模块 3 OCR对抗攻击4 助力可信AI向善发展总结 0 写在前面 2023世界人工智能大会(WAIC)已圆满结束&#xff0c;恰逢全球大模型和生成式人工智能蓬勃兴起之时&#xff0c;今年参…

C++第五讲

思维导图 续&#xff1a;myString类完善 /* ---------------------------------author&#xff1a;YoungZorncreated on 2023/7/19 19:20.--------------------------------- */ #include<iostream> #include<cstring>using namespace std;class myString { priva…

社区发现相关算法

目录 **社区检测与聚类****社区检测技术**1. Louvain 社区检测[2]2. Surprise社区检测[3]3. 莱顿社区检测[4]4. Walktrap 社区检测[5] 结论5.LPA 标签传播6.K-L算法7.GN算法8.Newman快速算法 SlashBurn: Graph Compression and Mining beyond Caveman CommunitiesReferences 摘…

WebSocket笔记

1. websocket介绍 WebSocket 是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手&#xff0c;两者之间就可以创建持久性的连接&#xff0c; 并进行双向数据传输。 HTTP协议和WebSocket协议对比&#xff1a; HTTP是短连接W…

【EXCEL】通过url获取网页表格数据

目录 0.环境 1.背景 2.具体操作 0.环境 windows excel2021 1.背景 之前我用python的flask框架的爬虫爬取过豆瓣网的电影信息&#xff0c;没想到excel可以直接通过url去获取网页表格内的信息&#xff0c;比如下图这是电影信息界面 即将上映电影 (douban.com) 通过excel操作&…

商品信息管理-亿发商品进销存管理系统,批发行业零售门店免费试用

众所周知&#xff0c;批发零售行业面临着商品品类繁多、品牌众多、商品信息量庞大等挑战。同时&#xff0c;商品售价波动频繁&#xff0c;还需要管理商品批次&#xff0c;避免积压过期。针对这些传统批发零售行业的管理难题&#xff0c;加快行业数字化转型成为解决之道&#xf…

不同局域网下使用Python自带HTTP服务进行文件共享「端口映射」

文章目录 1. 前言2. 视频教程3. 本地文件服务器搭建3.1 python的安装和设置3.2 cpolar的安装和注册 4. 本地文件服务器的发布4.1 Cpolar云端设置4.2 Cpolar本地设置 5. 公网访问测试6. 结语 1. 前言 数据共享作为和连接作为互联网的基础应用&#xff0c;不仅在商业和办公场景有…

目标检测——FasterRCNN原理与实现

目录 网络工作流程数据加载模型加载模型预测过程RPN获取候选区域FastRCNN进行目标检测 模型结构详解backboneRPN网络anchorsRPN分类RPN回归Proposal层 ROIPooling目标分类与回归 FasterRCNN的训练RPN网络的训练正负样本标记RPN网络的损失函数训练过程实现正负样本设置损失函数 …

Apache Doris (三十):Doris 数据导入(八)Spark Load 3- 导入HDFS数据

目录 1. 准备HDFS数据 2. 创建Doris表 3. 创建Spark Load导入任务 4. 查看导入任务状态 进入正文之前&#xff0c;欢迎订阅专题、对博文点赞、评论、收藏&#xff0c;关注IT贫道&#xff0c;获取高质量博客内容&#xff01; 宝子们订阅、点赞、收藏不迷路&#xff01;抓紧…

echarts实现渐变折线图并添加点击事件

折线图点击事件代码: let myChart = this.$echarts.init(document.getElementById(trendBoxECharts))myChart.getZr().on(click, params => {console.log(params)let pointInPixel = [params.offsetX, params.offsetY]if (myChart.containPixel(grid, pointInPixel)) {//点…