KrbServer及LdapServer基本原理
KrbServer及LdapServer简介
为了管理集群中数据与资源的访问控制权限,推荐安装安全模式集群。在安全模式下,客户端应用程序在访问集群中的任意资源之前均需要通过身份认证,建立安全会话链接。MRS通过KrbServer为所有组件提供Kerberos认证功能,实现了可靠的认证机制。
LdapServer支持轻量目录访问协议(Lightweight Directory Access Protocol,简称为LDAP),为Kerberos认证提供用户和用户组数据保存能力。
KrbServer及LdapServer结构
用户登录时安全认证功能主要依赖于Kerberos和LDAP。
图1可分为三类场景:
名称 |
含义 |
---|---|
Manager |
集群Manager |
Manager WS |
WebBrowser |
Kerberos1 |
部署在Manager中的KrbServer(管理平面)服务,即OMS Kerberos |
Kerberos2 |
部署在集群中的KrbServer(业务平面)服务 |
LDAP1 |
部署在Manager中的LdapServer(管理平面)服务,即OMS LDAP |
LDAP2 |
部署在集群中的LdapServer(业务平面)服务 |
Kerberos1访问LDAP数据:以负载均衡方式访问主备LDAP1两个实例和双备LDAP2两个实例。只能在主LDAP1主实例上进行数据的写操作,可以在LDAP1或者LDAP2上进行数据的读操作。
Kerberos2访问LDAP数据:读操作可以访问LDAP1和LDAP2,数据的写操作只能在主LDAP1实例进行。
KrbServer及LdapServer原理
Kerberos认证
Kerberos这一名词来源于希腊神话“三个头的狗——地狱之门守护者”,后来沿用作为安全认证的概念,该系统设计上采用客户端/服务器结构与DES、AES等加密技术,并且能够进行相互认证,即客户端和服务器端均可对对方进行身份认证。可以用于防止窃听、防止replay攻击、保护数据完整性等场景,是一种应用对称密钥体制进行密钥管理的系统。
Kerberos认证协议,主要包含三个角色:
- Client:客户端
- Server:客户端需要请求的服务端
- KDC(Key Distribution Center): 密钥分发中心,包括AS和TGS两部分。
- AS(Authentication Server): 认证服务器,用与验证客户端账号密码信息,并生成TGT(Ticket Granting Ticket) 票据授权票据。
- TGS(Ticket Granting Server): 票据授权服务器,用于通过TGT生成访问服务的服务票据ST。
LDAP数据读写
LDAP作为用户数据存储中心,存储了集群内用户的信息,包含密码,附属信息等。用户操作用户数据或进行Kerberos认证需要访问LDAP。
LDAP数据同步
- 安装集群前OMS LDAP数据同步
图4 OMS LDAP数据同步
安装集群前数据同步方向:主OMS LDAP同步到备OMS LDAP。
- 安装集群后LDAP数据同步
图5 LDAP数据同步
安装集群后数据同步方向:主OMS LDAP同步到备OMS LDAP、备组件LDAP和备组件LDAP。