【问题标题】:Kerberos delegation between different services不同服务之间的 Kerberos 委托
【发布时间】:2015-11-29 02:49:11
【问题描述】:

我们对 httpd 网络服务器进行了如下设置,如下所示:

以下场景: 服务器 A 从浏览器获取请求并执行一些操作并创建一个新请求并将其发送到 服务器 B用户 X服务器 B 上进行了身份验证,但 用户 Y 没有(而且不应该这样做)。由于 A 正在创建一个新请求,B 认为 Y 已经发送了请求,因此拒绝了它。删除服务器 A 不是一种选择。我该如何解决这个问题。你能帮忙吗?

【问题讨论】:

    标签: apache authentication webserver kerberos httpd.conf


    【解决方案1】:

    这可以通过委托来解决:服务器 A 应该在向服务器 B 发出请求时将自己验证为用户 X。

    代表团:

    • 服务器 A 收到来自浏览器的请求,包含 TGS 票证。
    • 服务器 A 具有正确的用户名/密码组合(存储在用户代表服务的 Kerberos 数据库中),因此它可以打开票证并验证此用户
    • 服务器 A 向 KDC 请求委托票证,并附上从用户处收到的票证。
    • KDC(例如 AD)检查是否可以委派(在 Active Directory 中,代表服务器 A 的用户必须被授予委派权限。在 ADC 上使用命令 ktpass 生成 keytab 文件后,此选项卡变为可见。 AD 还会检查用户帐户是否允许委托其票证 - 默认情况下启用,可以为某些特殊、敏感的用户禁用)
    • KDC 给服务器 A 一个委托的 Kerberos 票证。服务器 A 使用它来登录服务器 B。
    • 服务器 B 收到来自服务器 A 的带有委托票证的请求,表明是用户 X 登录。

    Kerberos 委托有时被称为“双跳”:http://blogs.technet.com/b/askds/archive/2008/06/13/understanding-kerberos-double-hop.aspx

    Active Directory 管理员可能不喜欢让服务 A 有权委托票证(即以用户 X 身份登录域中的任何其他服务)的想法。这就是为什么几年前引入了“约束委派”的原因。它使 AD 管理员可以让服务 A 仅以用户 X 的身份登录到服务器 B。他们可以在代表服务 A 的 activeDirectory 帐户上进行设置。

    http://windowsitpro.com/security/how-windows-server-2012-eases-pain-kerberos-constrained-delegation-part-1

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-20
      • 2013-06-29
      • 1970-01-01
      • 2013-08-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多