更新时间:2024-12-09 GMT+08:00

KrbServer及LdapServer基本原理

KrbServer及LdapServer简介

为了管理集群中数据与资源的访问控制权限,推荐安装安全模式集群。在安全模式下,客户端应用程序在访问集群中的任意资源之前均需要通过身份认证,建立安全会话链接。MRS通过KrbServer为所有组件提供Kerberos认证功能,实现了可靠的认证机制。

LdapServer支持轻量目录访问协议(Lightweight Directory Access Protocol,简称为LDAP),为Kerberos认证提供用户和用户组数据保存能力。

KrbServer及LdapServer结构

用户登录时安全认证功能主要依赖于Kerberos和LDAP。

图1 安全认证场景架构

图1可分为三类场景:

  • 登录Manager WebUI

    认证架构包含步骤1、2、3、4

  • 登录组件Web UI

    认证架构包含步骤5、6、7、8

  • 组件间访问

    认证架构为步骤9

表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。
图2 认证流程图

LDAP数据读写

LDAP作为用户数据存储中心,存储了集群内用户的信息,包含密码,附属信息等。用户操作用户数据或进行Kerberos认证需要访问LDAP。

图3 数据修改过程

LDAP数据同步

  • 安装集群前OMS LDAP数据同步
    图4 OMS LDAP数据同步

    安装集群前数据同步方向:主OMS LDAP同步到备OMS LDAP。

  • 安装集群后LDAP数据同步
    图5 LDAP数据同步

    安装集群后数据同步方向:主OMS LDAP同步到备OMS LDAP、备组件LDAP和备组件LDAP。