代码之家  ›  专栏  ›  技术社区  ›  miguel

Kerberos的感知/实际优势是什么?有没有可行的替代技术?

  •  1
  • miguel  · 技术社区  · 17 年前

    1 回复  |  直到 17 年前
        1
  •  4
  •   Sean Hanley    17 年前

    impersonation 通过.NET与一个分离的web服务器和数据库服务器。使用旧的NTLM方法,您无法执行“双跳”。


    • 您有一个web服务器(WEB1)
    • 在一台单独的机器上有一个数据库服务器(DB1)
    • 您有用户访问您的网站(USER1)

    USER1点击一个显示订单列表的页面。您的WEB1服务器必须查询DB1,以便在页面上显示此信息。您需要根据用户的凭据和访问权限来限制看到的顺序。因此,您可以设置活动目录组并相应地分配用户。在数据库中,为不同的组提供不同的安全性(例如,GROUP1可能只有select,GROUP2可能获得select、insert和update)。

    NTLM不支持执行此操作所需的双跃点。WEB1必须将USER1的凭证发送到DB1(否则WEB1必须使用一个已知的专用用户id和密码硬编码到web.config文件例如,通常必须具有完全访问权限才能支持所有可能的用户角色)。你可以想象,如果WEB1受到威胁,这可能是一个安全隐患,所以你不能这么做,否则任何获得WEB1控制权的人(可能通过sql注入)可以做任何专用用户帐户可以做的事情,或者模仿任何他们想要的人。Kerberos通过在Windows服务器上进行委派,支持执行第二个跃点,方法是保持域服务器的加密凭据密钥完好无损地传递,并验证这是允许的(在两端,请参阅下面有关在服务器上设置此密钥的信息,因为必须明确允许)。

    另请参见:

    推荐文章