Kerberos 身份验证、服务主机和访问 KDC

Kerberos 身份验证、服务主机和访问 KDC

我有一个 Web 应用程序(主机名:service.domain.com),我希望使用 Kerberos 身份验证来识别登录到 Windows 域的用户。Microsoft AD(Windows Server 2008 R2)提供 Kerberos 服务。

该服务是一个 Java Web 应用程序,使用 Spring Security Kerberos 扩展库来实现 SPNEGO/Kerberos 协议。我在 AD 中创建了一个 keytab 文件,其中包含一个共享密钥,该密钥足以验证客户端浏览器使用 Web 应用程序发送的 Kerberos 票证。

我的问题是,服务主机(service.domain.com)是否需要具有对 KDC(kdc.domain.com)的防火墙访问权限(TCP/UDP 88),或者 keytab 文件是否足以让服务主机能够解密 Kerberos 票证并提供身份验证?

答案1

服务无需与韩国核能发展委员会. 它需要一个密钥表韩国核能发展委员会,但您可以以任何您想要的方式复制。它们永远不需要互相交谈。

我认为发生的事情的一个过于简化的版本大致如下:

设置服务

  • 韩国核能发展委员会生成服务密钥表(如果你愿意的话,它可以是类似于密钥/密码的东西)
  • 密钥表提供给服务某种方式(scp或者如果你愿意的话,放在 USB 上)

客户端连接到服务

  • 客户请求服务来自韩国核能发展委员会
  • 韩国核能发展委员会生成服务,其中包含一些只能由服务解密的信息密钥表(这是位于您的服务器上的文件)
  • 客户发送其服务服务
  • 服务使用其密钥表验证(无需网络通讯)

相关内容