我正在尝试将我们应用程序的 Web 层移到 Centos 上的 Apache 上,并使用 mod_auth_kerb 对 AD 用户进行身份验证并自动将其登录到应用程序中。我已成功加入域,并且可以成功为 AD 用户发出 kerberos 票证。
我遇到的问题是后端应用服务在 Windows 服务器上作为本地用户运行,而不是作为 AD 用户运行,所以我不确定如何制作正确的 keytab 导入 apache。
我的想法是在 AD 中创建一个相同的用户,然后将 HTTP 的 SPN 添加到该用户并使用 ktpass 导出密钥表。问题是,AD 管理员不想创建新用户,因为他们需要获得批准等...
那么,有没有一种方法可以实现这一点,而无需在 AD 中创建新用户?
答案1
您无需创建新的 AD 用户;只需使用 setspn.exe 将新服务主体添加到任何现有帐户,并创建相应的密钥表以提供给 Apache。哪个帐户并不重要,因为没有 Windows 服务需要访问密钥;您只需要将主体添加到 AD Kerberos 数据库,以便域控制器为其发出票证。该 AD 帐户将有权访问服务密钥,并可以向用户模拟应用程序,反之亦然,因此帐户安全性在这方面很重要。