【发布时间】:2020-12-18 12:24:03
【问题描述】:
我在 centos 8 上有一个 apache httpserver。 我必须使用 kerberos 模块保护特定位置,并且我正在使用 GSSAPI 模块。
我已经配置了 kerberos 客户端,并且 kinit 测试看起来不错:
[root@test etc]# kinit -V
Using principal: HTTPS/test.com@MIODOMINIO.IT
Password for HTTPS/test.com@MIODOMINIO.IT:
Authenticated to Kerberos v5
[root@test etc]#
我需要域 pc 上的浏览器可以访问我的受保护资源而无需询问凭据。 我以这种方式在 apache 中设置了 GSSAPI 模块:
<Location /kerb>
AuthType GSSAPI
AuthName "GSSAPI Single Sign On Login"
GssapiSSLonly On
GssapiAllowedMech krb5
GssapiCredStore keytab:/etc/kerberosx2.keytab
BrowserMatch Windows gssapi-no-negotiate
GssapiLocalName On
GssapiBasicAuth Off
Require valid-user
</Location>
但是当我在浏览器(Internet Explorer)中请求 apache 日志中的资源时,我遇到了这个错误:
[Fri Dec 18 12:32:10.276925 2020] [auth_gssapi:debug] [pid 11188:tid 139970006206208] mod_auth_gssapi.c(895): [client 192.168.1.174:53678] URI: /kerb/kerb.html, no main, no prev [Fri Dec 18 12:32:10.276932 2020] [auth_gssapi:info] [pid 11188:tid 139970006206208] [client
192.168.1.174:53678] NO AUTH DATA Client did not send any authentication headers
我已将该站点放在 Internet Explorer 的本地安全站点中,就像我在网上找到的一样,但没有结果。
有什么想法吗?似乎浏览器即使在域中也不会发送身份验证标头。
谢谢!
【问题讨论】:
-
/etc/krb5.conf 是什么样的?编辑您的问题并将该信息放在那里。你是什么意思“安全站点”?请确认您指的是“受信任的网站”还是“本地 Intranet”
-
所有浏览器都通过 SPNego 支持 Kerberos。我知道还有其他不为人知的 HTTP Kerberos 实现,没有人知道。你是随机选择那个 Apache auth 模块,还是确保它在真实场景中工作?
标签: active-directory kerberos gssapi