【发布时间】:2023-03-13 08:25:01
【问题描述】:
通过 IP 地址访问受 Kerberos 保护的站点时出现问题。 例如:
http:/10.10.1.x:3001/ 失败。
http:/my-host:3001/sso 成功完成。
Apache 错误日志说:
src/mod_auth_kerb.c(1261): [client 10.10.1.x] 获取信用 HTTP@10.10.1.x [客户端 10.10.1.x] gss_acquire_cred() 失败: 未指定的 GSS 故障。次要代码可能会提供更多信息(关键 未找到表条目)
src/mod_auth_kerb.c(1261): [客户端 10.10.1.x 获取凭据 HTTP@my-host [调试] src/mod_auth_kerb.c(1407): [客户端 10.10.1.x] 使用 KRB5 GSS-API [调试] 验证客户端数据 src/mod_auth_kerb.c(1423): [client 10.10.1.x] 验证返回 代码 0
如您所见,Kerberos 尝试查找 HTTP@10.10.1.x 或 HTTP@my-host 主体。为这两个主体在 ActiveDirectory 中创建了虚拟帐户。在 keytab 文件中也包括了他们两个:
KVNO Timestamp Principal
---- ----------------- -----------------------------------------------------
5 01/01/70 03:00:00 HTTP/10.10.1.x@MY_DOMAIN.LAN (ArcFour with HMAC/md5)
11 09/04/12 12:03:01 HTTP/my-host@MY_DOMAIN.LAN (ArcFour with HMAC/md5)
Kinit 对它们都适用。
服务器上的 Kerberos 配置:
Krb5Keytab /etc/krb5.keytab
AuthType Kerberos
KrbMethodNegotiate On
AuthName "Kerberos Login"
KrbAuthRealms MY_DOMAIN.LAN
KrbVerifyKDC Off
KrbMethodK5Passwd On
Require valid-user
有人能猜出问题出在哪里吗?是否可以在 Kerberos SSO 中使用 IP 地址?
【问题讨论】:
标签: authentication ubuntu-10.04 kerberos