针对 FreeIPA 的 Kerberos 进行 Apache 身份验证

针对 FreeIPA 的 Kerberos 进行 Apache 身份验证

我目前正在尝试将 Apache 设置为身份验证门户。它应该充当具有 krb 身份验证的反向代理。

我的 apache 服务器名为 portal.example.com(debian 容器)我的 IPA 服务器名为 freeipa.example.com(centos 容器)

这是我在 portal.example.com 上的当前 Apache 配置:

< Location />
   AuthType Kerberos
   AuthName "Login on test domain"    
   KrbAuthRealm TEST.COM
   Krb5Keytab /etc/apache2/portal.keytab
   KrbMethodNegotiate on
   KrbMethodK5Passwd off
   KrbServiceName HTTP/[email protected]
   require valid-user
< /Location>

我无法让它按我想要的方式工作:我不想让它要求用户输入密码,所以我配置了 Firefox 以让它协商身份验证,但我总是得到 401/Unauthorized。但是,如果我将 KrbMethodK5Passwd 设置为开启,然后使用我的 krb 用户名和密码登录,那么我会得到 200 http 响应。有没有想过如何在不要求输入凭据的情况下做到这一点? :(

答案1

检查 /etc/apache2/portal.keytab 是否归 webserver 用户(debian 系统上的 www-data)所有,并且只能由该用户读取(-r--------)。

检查你的浏览器是否同时配置了域 test.com 和子域

about:config
network negotiate-auth.trusted-urls  test.com, .test.com

相关内容