Kerberos相较于LDAP的独特优势是什么?项目LDAP认证可用下的疑问
嘿,你的理解其实对了一半——Kerberos确实常被用来验证访问特定主机的用户,但它的能力远不止于此,咱们来拆解下为什么客户会提出「Kerberos认证+LDAP授权」的方案,以及Kerberos能提供哪些LDAP认证做不到的核心价值:
Kerberos的核心优势是「基于票据的单点登录(SSO)」
咱们现在用的LDAP认证,一般是每次访问CMS都要提交用户名密码(或者靠会话维持登录状态),但Kerberos是用户一次性向KDC(密钥分发中心)验证身份获取票据后,后续访问任何对接Kerberos的服务(比如未来要加的内部OA、文件服务器)都不用再输密码,直接用票据完成验证。如果客户有多个内部服务需要统一登录,Kerberos的SSO体验会比LDAP单独认证流畅得多,更重要的是密码不会在网络中反复传输,安全性提升一大截。Kerberos是「双向认证」,能防中间人攻击
LDAP认证大多是单向的:用户证明自己是谁,但没法确认服务器是不是真的。而Kerberos的票据机制能同时让用户验证服务器的身份——比如如果有人伪造了你的CMS服务器,Kerberos会识别出这个“冒牌货”,拒绝建立连接,这是LDAP简单认证原生做不到的安全能力。身份存储与认证流程的分离,让架构更灵活
客户提出的这个方案其实是很标准的企业级架构:LDAP作为统一的用户身份数据库(存用户信息、组、权限规则),Kerberos负责安全的身份验证流程。这种分离的好处是后续新增服务时,只需要对接Kerberos做认证,权限管理还是统一在LDAP里操作,不用重复搭建用户体系,扩展性极强。对多类型服务的兼容性更强
如果客户的环境里有Windows域、Hadoop集群、SSH服务器这类天生支持Kerberos的服务,用Kerberos做统一认证能无缝整合这些系统,而LDAP认证在跨不同类型服务的兼容性上就没这么广泛了,尤其是在分布式、高安全要求的环境中,Kerberos的适配性更好。
你觉得LDAP已经足够,可能是因为当前只有CMS这一个服务,但客户大概率是从长期架构扩展性和更高安全标准出发考虑的。Kerberos解决的是「安全、无密码反复传输的跨服务认证」问题,这是LDAP认证(哪怕带插件)无法原生提供的能力。
内容的提问来源于stack exchange,提问作者PhillyWebGuy

