我有一个 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) 是否需要防火墙访问 (TCP/UDP 88) 到 KDC (kdc.domain.com) 或者密钥表文件是否足以让服务主机能够解密Kerberos 票证并提供身份验证?