Kerberos 授权过程(仅适用于 Windows)

当用户需要通过 Kerberos 域中某服务的身份验证时,必须执行一系列身份验证步骤。 客户端(用户的计算机)必须从 Kerberos 服务器(即身份验证服务器 (AS)凭证授予服务器 (TGS))获得信用凭证。

AS 和 TGS 位于同一台计算机上,称为密钥分发中心 (KDC)

Kerberos 身份验证过程

下面概述了用户访问 Kerberos 域中的安全服务的过程。

仅在用户首次登录 Kerberos 域和首次尝试访问 Kerberos 安全服务时才执行该过程。

  1. 用户使用其域用户名和口令登录系统(客户端)。

  2. 系统将对用户的口令进行哈希处理,该哈希值将成为用户的专用密钥。

  3. 当用户尝试访问某服务时,将由一条消息告诉 AS 该用户需要访问该服务。

  4. 如果该用户位于 AS 数据库中,将向客户端返回两条消息:

    1. 已使用该用户的专用密钥对一个客户端/TGS 会话密钥进行加密,该密钥用于与 TGS 进行通信。

    2. 已使用 TGS 的专用密钥对一个凭证授予凭证 (TGT) 进行加密。 已在 Kerberos 中使用一个凭证来证明用户的身份。 该 TGT 允许客户端获取用于与网络服务进行通信的其他凭证。

  5. 接收到这两条消息后,客户端将对其中包含客户端/TGS 会话密钥的消息进行解密。

以下过程将在用户每次需要通过服务的身份验证时执行:

  1. 当用户请求某服务时,客户端将向 TGS 发送下列两条消息:

    • 一条包含 TGT 和所请求的服务的消息

    • 一个鉴别码,其中包含客户端的 ID 和已使用之前接收的客户端/TGS 会话密钥加密的当前时间戳

    Kerberos 中使用时间戳来防止发生复制攻击。 计算机之间的时钟偏差不能超出某个特定限制。

  2. TGS 对鉴别码进行解密,并向客户端发送下列两条新消息:

    • 从 TGS 接收到的客户端到服务器的凭证

    • 另一个鉴别码,其中包含客户端的 IP 和已使用客户端/TGS 会话密钥加密的当前时间戳

  3. 服务使用自己的专用密钥对客户端到服务器的凭证进行解密,并向客户端发送一条消息(接收到的时间戳加上一),用于确认其真实身份。 该消息将使用客户端/服务器会话密钥进行加密。

  4. 客户端对该消息进行解密,并检查时间戳。 如果正确,则可向服务发送请求,并且服务将按预期返回响应。

HP SMH Kerberos 身份验证

HP SMH 提供了 Kerberos 单次登录 (SSO),允许 Kerberos 域中的用户进行登录,而无须在登录页面中输入用户名和口令。 如果已获得允许的用户访问 HP SMH 并且用户具有有效的 Kerberos 信用凭证,则将在 HP SMH 中显示主页页面。

Kerberos 身份验证是通过在 HP SMH 中使用特殊 URL /proxy/Kerberos 进行的。 通过访问该 URL,SMH 将在请求中查找 Kerberos 信用凭证,并执行用户身份验证。

如果用户没有有效的 Kerberos 信用凭证,或在身份验证过程中发生错误,则将显示登录页,并显示一条错误消息。 例如,如果身份验证所涉及的计算机之间的时钟偏差过大,则将接收到一条错误消息并进入登录页。

不能在下列本地访问情况下执行 Kerberos 身份验证:

  • 从安装 KDC (AD) 的计算机访问 HP SMH

  • 从安装 HP SMH 的计算机访问 HP SMH

当发生身份验证错误时,系统管理员应检查 SMH HTTP 服务器日志以获取有关错误的详细信息。

例如,当计算机之间的时钟偏差过大时,将会记录以下日志消息:Thu Jun 25 16:55:09 2009] [error] client 2001:db8:c18:1:b8ca:fcdf:d49d:b5c6] mod_spnego: Kerberos SSO (QueryContextAttributes) failed; SSPI: The function requested is not supported\r\n(-2146893054)

下面是可用的用户授权级别:

  • 管理员 

    拥有管理员访问权限的用户可以查看通过 HP SMH 提供的所有信息。 其相应的缺省用户组(对于 Windows 操作系统是管理员,对于 Linux 操作系统的是 root 用户)始终具有管理员访问权限。

  • 操作员 

    拥有操作员访问权限的用户可以查看和设置通过 HP SMH 提供的大多数信息。 某些 Web 应用程序会将最关键的信息限制为仅供管理员访问。

  • 用户 

    拥有用户访问权限的用户可以查看通过 HP SMH 提供的大多数信息。 某些 Web 应用程序会限制拥有用户访问权限的个人查看关键信息。

要启用或禁用 Kerberos 以及向允许的 Kerberos 组列表添加组,请针对每个访问权限级别执行下列步骤。

Kerberos 支持是针对每个用户提供的。

Kerberos 管理员

要添加 Kerberos 管理员,请执行下列操作:

  1. 从菜单中选择设置

  2. System Management Homepage 框中单击安全性链接。

  3. 单击 Kerberos 授权链接。

  4. Kerberos 配置区域中选中启用 Kerberos 支持旁的框。

  5. 组名称文本框中,以 group@REALMREALM\group 格式输入名称。

    只允许使用字母数字和下划线。 禁止使用下列特殊字符:~ ' ! # $ % ^ & * ( ) + = / " : ' < > ? , | ;。

  6. 单击类型旁边的管理员单选按钮。

  7. 单击添加。 输入的值将作为新的一行添加到列表中。

    可以通过执行第 5 步到第 7 步继续添加具有管理访问权限的组。

  8. 单击应用

要删除 Kerberos 管理员,请执行下列操作:

  1. 从菜单中选择设置

  2. System Management Homepage 框中单击安全性链接。

  3. 单击 Kerberos 授权链接。

  4. 在动态列表中,单击要从 HP SMH 删除的组名称旁边的复选框。

  5. 单击删除

  6. 单击应用

Kerberos 操作员

要添加 Kerberos 操作员,请执行下列操作:

  1. 从菜单中选择设置

  2. System Management Homepage 框中单击安全性链接。

  3. 单击 Kerberos 授权链接。

  4. Kerberos 配置区域中选中启用 Kerberos 支持旁的框。

  5. 组名称文本框中,以 group@REALMREALM\groupname 格式输入名称。

    只允许使用字母数字和下划线。 禁止使用下列特殊字符:~ ' ! # $ % ^ & * ( ) + = / " : ' < > ? , | ;。

  6. 单击类型旁边的操作员单选按钮。

  7. 单击添加。 输入的值将作为新的一行添加到列表中。

    可以通过执行第 5 步到第 7 步继续添加具有操作员访问权限的组。

  8. 单击应用

要删除 Kerberos 操作员,请执行下列操作:

  1. 从菜单中选择设置

  2. System Management Homepage 框中单击安全性链接。

  3. 单击 Kerberos 授权链接。

  4. 在动态列表中,选中要从 HP SMH 删除的组名称旁边的复选框。

  5. 单击删除

  6. 单击应用

Kerberos 用户

要添加 Kerberos 用户,请执行下列操作:

  1. 从菜单中选择设置

  2. System Management Homepage 框中单击安全性链接。

  3. 单击 Kerberos 授权链接。

  4. Kerberos 配置区域中选中启用 Kerberos 支持旁的框。

  5. 组名称文本框中,以 group@REALMREALM\groupname 格式输入名称。

    只允许使用字母数字和下划线。 禁止使用下列特殊字符:~ ' ! # $ % ^ & * ( ) + = / " : ' < > ? , | ;。

  6. 单击类型旁边的用户单选按钮。

  7. 单击添加。 输入的值将作为新的一行添加到列表中。

    可以通过执行第 5 步到第 7 步继续添加具有用户访问权限的组。

  8. 单击应用

要删除 Kerberos 用户,请执行下列操作:

  1. 从菜单中选择设置

  2. System Management Homepage 框中单击安全性链接。

  3. 单击 Kerberos 授权链接。

  4. 在动态列表中,选中要从 HP SMH 删除的组名称旁边的复选框。

  5. 单击删除

  6. 单击应用

相关操作

“匿名/本地访问”
“IP 绑定”
“IP 受限登录”
“本地服务器证书”
“其他名称证书”
“端口 2301 和自动启动(仅适用于 Linux)”
“超时”
“信任模式”
“受信任的管理服务器”
“用户组”

相关主题

“设置页”