在 Ubuntu 上使用 Apache2 切换到 Kerberos 身份验证(LDAP 或 AD)

在 Ubuntu 上使用 Apache2 切换到 Kerberos 身份验证(LDAP 或 AD)

我正在考虑将我的内部网应用程序切换到 Kerberos 身份验证。(当前为 NTLM,但所需模块不再维护,并且一旦 Web 服务器更新到最新版本(Ubuntu)将不再起作用)。

我对此完全陌生,而且我并不直接在公司的 IT 部门工作。这是一家大公司,与 IT 打交道是一件很麻烦的事。所以我的问题还围绕着这样一个事实:我是否需要 IT 部门帮我做点什么才能完成这项工作。

我可以通过公司笔记本电脑上的 klist 看到我有 3 张票:

krbtgt/[email protected]

ldap/[email protected]

最后一个是我的笔记本电脑(例如服务器 = 我的笔记本电脑)

我已经有一个通用 ldap 用户用于查询 ldap 进行授权。

我的问题是,我是否可以配置我的 Web 服务器以重用现有的 ldap 票证进行身份验证?如果可以,我该怎么做?

答案1

您无法共享 LDAP/... 票证以在 httpd 中进行身份验证。您也无法共享 keytab 文件,即使在同一主机内也是如此,因为它必须为 HTTP/... 主体提供凭据。httpd 的mod_auth_kerb(命名服务名称) 来“重命名”所使用的主体,但我还没有尝试过,而且我怀疑它是否能起作用,因为客户端会尝试使用标准名称。

关于如何使用 AD + Kerberos 的单点登录配置 Apache httpd 有很多教程。从阅读开始mod_auth_kerb 手册需要记住的事情包括:反向 DNS 条目匹配正向 DNS、时间同步、默认域名/etc/krb5.conf文件,KVNO密码命令。如果出现问题,请尝试(暂时!)在 Apache 配置中设置KrbVerifyKDC off和。LogLevel debug

相关内容