配置 Kerberos 认证
Kerberos 是一种安全的、基于票证的身份验证协议,旨在利用密钥加密技术为客户端-服务器应用程序提供强有力的网络身份验证。
准备工作
注: Kerberos 是一项可申请的功能, VDEV-196042 ( Kerberos 桌面单点登录,请访问 krb5 )。 如需申请此功能,请联系您的 IBM 销售代表或 IBM 联系人,并表明您希望启用此功能的意愿。 如果您有相应权限,也可以使用该功能编号提交支持工单。 IBM® Verify 试用订阅用户无法创建支持工单。
- 您必须具有管理许可权,才能完成此任务。
- 以管理员身份登录管理控制台 IBM Verify 。 如需了解更多信息,请参阅《 访问 IBM Verify 》。
关于此任务
Kerberos 提供三项关键的安全服务:身份验证、授权和计费。 它有助于在不安全的网络上对用户进行身份验证,同时避免以明文形式传输密码。 它允许用户只需验证一次身份,即可访问多项服务,而无需再次输入凭据。
使用 Kerberos 的优势:
- 防止密码通过网络传输。
- 防止重放攻击(时间戳确保票据在限定时间内有效)。
- 支持单点登录,因此是大型企业网络的可扩展方案。
- Kerberos 的关键组件
- 密钥分发中心(KDC)
- 中央可信机构
- 包含两个逻辑组件:
- 身份验证服务器 (AS):验证用户身份
- 票证授予服务器(TGS):签发服务票证
- 客户端:请求访问的用户或应用程序。
- 服务服务器:客户端希望访问的资源(例如,文件服务器、电子邮件服务器)。
- 密钥分发中心(KDC)
- SPNEGO 如何与 Kerberos 配合使用
- SPNEGO(简单且受保护的GSS-API协商机制)是一种关键的辅助协议,用于在异构环境中扩展 Kerberos 的功能。下文描述了浏览器使用 SPNEGO 访问由 Kerberos 保护的 Web 应用程序时的身份验证过程:
- 客户端请求访问 Web 应用程序以获取某个 Web 资源。
- 该请求通过 SPNEGO 进行解析,以检查其中是否包含所需的 Authorisation 头部。 如果请求中未包含该标头,或者该标头不符合 GSS 规范,则会向浏览器发送响应,告知下一个受支持的身份验证算法。 该过程将持续进行,直到自动收到所需的令牌。
- 浏览器现在向KDC中的TGS请求 Kerberos 服务票证。
- TGS 会与 Active Directory 用户建立内部连接,并向浏览器返回一个基于时间的票证。
- TGS 生成的票据现已包含在 Authorisation 头部中,并通过 SPNEGO 进行解析。 SPNEGO 获取用户信息并调用 GSS API。
- 该 API 加载 Kerberos 的配置( KRB5 配置)并验证凭据。 如果验证通过,请求将发送至 Web 应用程序资源。
- Web 应用程序资源处理该请求,并将响应发送至浏览器。