1、版权所有 2015 华为技术有限公司Kerberos架构原理前言版权所有 2015 华为技术有限公司第1页Kerberos是FusionInsight产品集成,用于提供集群内安全认 证的公共服务。Ldap是FusionInsight产品集成,用于提供集群内各组件用户存储功能。Kerberos和Ldap共同组成了FusionInsight产品安全认证模块,提供集群内、集群外的安全接入。目标版权所有 2015 华为技术有限公司第2页学完本课程后,您将能够:描述FusionInsight产品中Kerberos&Ldap特性掌握FusionInsight产品中Kerberos&Ldap维护手段目录版权
2、所有 2015 华为技术有限公司第3页1.Kerberos、Ldap概述概述Kerberos介绍Kerberos基本概念Ldap介绍Ldap文件结构2.Kerberos、Ldap原理3.Kerberos、Ldap特性4.Kerberos、Ldap维护Kerberos介绍版权所有 2015 华为技术有限公司第4页Kerberos这一名词来源于希腊神 话“三个头的 狗地狱之门守护者”,后来沿用作为安全认 证的概念,该系统设计上采用客户端/服务器结构 与DES(Data Encryption Standard 标准加密技 术)、AES(Advanced Encryption Standard 高 级
3、加密技术)等加密技术,并且能够进行相互认证,即客户端和服务器端均可对对方进行身份认证。可以用于防止窃听、防止replay攻击、保护数据 完整性等场合,是一种应用对称密钥体制进行密 钥管理的系统Kerberos基本概念版权所有 2015 华为技术有限公司第5页票据授权票(TGT Ticket-Granting Ticket):用于应用程序与 KDC(Key Distribution Center 密钥分发中心)服务器建立 安全会话的票据,票据授权票存在有效期,当票据授权票失效后,应用侧需要重新建立与KDC服务器的安全会话。会话 有效期为24小时,不可配置。服务票据(ST Service Tick
4、et):用于应用程序与服务端建立安全会 话的票据,服务票据存在有效期,当服务票据失效后,应用 侧需要重新建立与服务端的安全会话。默认有效期为5分钟,不可配置。Ldap介绍版权所有 2015 华为技术有限公司第6页Ldap(Lightweight Directory Access Protocol),轻量目录访问协 议,提供被称为目录服务的信息服务,特别是基于X.500(构成全 球分布式的名录服务系统的协议)的目录服务。Ldap运行在TCP/IP或其他面向连接的传输服务之上。Ldap同时是一个IETF标准跟踪协议,在“轻 量级目录访问协议(Ldap)技术规范路线图”RFC4510中被指定。Lda
5、p软件来源于OpenLDAP项目,该项目是一个由志愿者组成的团 队,官网网址:http:/www.openldap.org/Ldap文件结构版权所有 2015 华为技术有限公司第7页LDAP信息模型是基于条目来组织地(如图1.1),一个条目 是一个属性的集合,有一个全球唯一的识别名(DN,Domain Name)。DN用于标识条目。每个条目的属性有一 个类型和一个或多个值。该类型通常是可记忆的字符串,如“cn”就是标识通用名称,或者“电子 邮 件”就是电子邮件 地址。该类型值的语法依赖于属性类型。例如,一个 cn 属 性可以包含一个值Marix Wong。一个 mail 属性可以包含值“”Ld
6、ap文件结构版权所有 2015 华为技术有限公司第8页在Ldap文件结构中,目录条目都被排列在一个分层树形结构。一般来说,这种结构反映了地域和/或组织界限。代表国家 的条目出现在树的顶端。它们下面是代表省和国家组织的条 目。再下面可能是代表组织单位、人、打印机、文档或者其 他任何东西,这种层级关系如图1.1所示。Ldap文件结构(续)c=GB版权所有 2015 华为技术有限公司第9页c=USst=Californiao=Googleou=Salesou=Marketingcn=Marix Wong图1.1Ldap文件结构(续)树也可以根据互联网域名组主。这种命名方式目前在业界非 常普遍,因为它
7、允许使用DNS为目录服务定位。如图1.2所 示的Ldap目录树中使用基于域的命名。dc=netdc=Google版权所有 2015 华为技术有限公司第10页dc=comou=Peopleou=Serversuid=Marix Wong图1.2dc=DE目录版权所有 2015 华为技术有限公司第11页1.Kerberos、Ldap概述2.Kerberos、Ldap原理原理Kerberos认证应用场景Kerberos认证原理Ldap访问原理3.Kerberos、Ldap特性4.Kerberos、Ldap维护Kerberos认证应用场景Kerberos认证在FusionInsight中主要使用于应用
8、程序需要访问集群中 某一个组件资源场景,在安全模式集群中,FusionInsight集群中的任 意资源,如hdfs,hbase等服务,访问这些服务之前均需要通过 Kerberos认证,建立安全会话链接,如下逻辑结构图。版权所有 2015 华为技术有限公司第12页Kerberos认证原理认证服务器(AS)票据授权服务器(TGS)数据库(bd2,ldap)服务端客户端3.KRB_TGS_REQ4.KRB_TGS_REP版权所有 2015 华为技术有限公司第13页第14页版权所有 2015 华为技术有限公司Step 1、2、3、4:登录Manager WebUI的流程Step 5、6、7、8:登录组
9、件UI的流程 Step9:组件间访问安全认证Kerberos1对Ldap中数据的操作方式:访问 Ldap1(主备两个实例)和Ldap2(主备两个实 例),是采用负荷分担访问,数据的写操作只能 在Ldap2(主实例)上。数据的读操作可以在 Ldap1或者Ldap2上。Kerberos2对Ldap中数据的操作方式:只能访 问Ldap2(包含主备两个实例),数据的写操作 只能在Ldap2(主实例)1.登 录Manager W SKerberos1L D A P 13.认 证4.2获 取 用 户 组组 件 W e b A p p5.跳 转 到 组 件 W e b U I7.认 证8.获 取 用 户 组
10、Manager W e b U I2.请 求6.请 求L D A P 2Kerberos2sync4.1获 取 用 户 组9.组 件 访 问kerberos名称名称含义含义名称名称含义含义ManageFusionInsight ManagerrManagerWSFusionInsight HDWebBrowserKerbero s1部署在oms中的kerberos(管理平 面)服务。Kerberos2部署在集群中的kerberos(业务 平面)服务。Ldap1部署在oms中的ldap(管理平面)服务。Ldap2部署在集群中的ldap(管理平面)服务。FusionInsight Kerberos
11、架构原理UserCASServer3.1认证组件WebUIFusionInsight Ldap访问原理访问原理LdapKerberos数据读取/写入/修改权限管理用户管理数据读取/写入/修改数据读取/写入/修改版权所有 2015 华为技术有限公司第15页Ldap访问原理(续)访问原理(续)安装集群前OmsLdap数据同步OmsLdap(Active)OmsLdap(Standby)安装集群后Ldap数据同步数据同步方向数据同步方向数据同步方向数据同步方向OmsLdap(Standby)OmsLdap(Standby)组件Ldap(Active)组件Ldap(Standby)安装集群前数据同步方
12、向:主OmsLdap-备OmsLdap 安装集群后数据同步方向:主组件Ldap-备组件Ldap、备OmsLdap、备OmsLdap版权所有 2015 华为技术有限公司第16页目录版权所有 2015 华为技术有限公司第17页1.Kerberos、Ldap概述2.Kerberos、Ldap原理3.Kerberos、Ldap特性特性集群内服务认证二次开发认证Ldap HA机制4.Kerberos、Ldap维护集群内服务认证集群内服务认证版权所有 2015 华为技术有限公司第18页FusionInsight 安全模式集群内任意服务间的相互访问都是基于Kerberos安全方案架构实现,集群内某个服务(如
13、HDFS)prestart的时候,会预先去Kerberos中获取该服务对应的服务名 称sessionkey(keytab,主要是提供给应用程序进行身份认证使用),在后续任意其他服务(如YARN)需要去HDFS中执行增/删/改/查数据时,必须获取到对应的TGT和ST,用于本次的安 全访问。二次开发认证二次开发认证版权所有 2015 华为技术有限公司第19页FusionInsight 提供了二次开发接口,用于客户或者上层业务产品集成FusionInsight作为二次开 发使用,二次开发过程中,安全模式集群提供了特定的二次开发认证接口,用于二次开发过程中 的安全访问,例如hadoop-common
14、api提供的UserGroupInformation类,该类提供了多个安 全认证api接口:setConfiguration()主要是获取对应的配置,设置全局变量等参数。loginUserFromKeytab()获取TGT接口。认证流程可以参考Kerberos基本原理章节。Ldap HA机制机制FusionInsight中集成的Ldap服务提供了HA机制,提升Ldap的高可靠性,具体配置如下:版权所有 2015 华为技术有限公司第20页Ldapserver(Active)Ld apserver(Standby)目录版权所有 2015 华为技术有限公司第21页1.Kerberos、Ldap概述2
15、.Kerberos、Ldap原理3.Kerberos、Ldap特性4.Kerberos、Ldap维护维护Kerberos、Ldap部署Kerberos、Ldap参数介绍Kerberos、Ldap 常用命令常用角色部署方式版权所有 2015 华为技术有限公司第22页Kerberos服务角色:KerberosServer、KerberosAdminKerberos服务采用双主模式部署,即安装的时候,将kerberos服务 选择到集群内任意两个节点即可。LdapServer服务角色:SlapdServerLdapServer服务采用主备模式部署,即安装的时候,将 LdapServer服务选择到集群内
16、任意两个节点即可。考虑性能最优化,建议所有集群中LdapServer都与KrbServer部署 在相同主机上。部署方式举例节点host216,host219分别部署kerberos&Ldap版权所有 2015 华为技术有限公司第23页参数介绍参数介绍版权所有 2015 华为技术有限公司第24页KrbServer服务安装后存在以下可选参数配置项:配置项配置项配置含义配置含义KADMIN_PORTkadmin服务提供用户管理的端口Kdc_portskdc服务实例的端口Kdc_timoutkdc提供认证服务的超时时长KPASSWD_PORTkadmin提供密码管理的端口LDAP_OPTION_TIM
17、EOUTKerberos对后端LDAP数据库进行连接的超时 时长,连接操作时间超过该值,Kerberos返 回失败。LDAP_SEARCH_TIMEOUTKerberos对后端LDAP数据库进行操作的查询 时长,查询操作时间超过该值,Kerberos返 回失败。max_retriesJDK进程连接KDC进行认证的最大次数,如 果连接次数超过设定值,返回失败。常用命令常用命令版权所有 2015 华为技术有限公司第25页命令命令命令含义命令含义Ldapsearch系统自带的Ldap客户端命令工具,查询Ldap中的用户 信息ldapadd系统自带的Ldap客户端命令工具,向Ldap中的添加用 户信息
18、ldapdelete系统自带的Ldap客户端命令工具,删除Ldap中的用户信息kinitKerberos用户身份认证,只有通过身份认证的用户才 能执行FusionInsight HD各组件的shell命令,完成组 件的维护任务kdestroyKerberos用户身份注销,完成组件任务后使用kadmin切换致kerberos admin用户,拥有admin权限,该用 户可以获取、修改kerberos 用户信息kpasswd修改Kerberos用户密码klist列出当前通过身份认证的Kerberos用户更多信息MIT Doc官方网址:http:/web.mit.edu/kerberos/krb5-latest/doc/index.htmlOpenLdap官方网址:http:/www.openldap.org版权所有 2015 华为技术有限公司第26页学习推荐版权所有 2015 华为技术有限公司第27页华为Learning网站http:/
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。