通过IP地址访问站点时Kerberos失败

时间:2012-09-04 09:32:36

标签: authentication ubuntu-10.04 kerberos

按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 [client 10.10.1.x] gss_acquire_cred()失败:   未指定的GSS故障。次要代码可能会提供更多信息(密钥   表格条目未找到)

     

src / mod_auth_kerb.c(1261):[客户10.10.1.x获取信用证   HTTP @ my-host [debug] src / mod_auth_kerb.c(1407):[client 10.10.1.x]   使用KRB5 GSS-API验证客户端数据[debug]   src / mod_auth_kerb.c(1423):[client 10.10.1.x]返回验证   代码0

您可以看到Kerberos尝试查找HTTP@10.10.1.xHTTP@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地址?

3 个答案:

答案 0 :(得分:9)

Kerberos不支持IP地址,它仅依赖于域名和正确的DNS条目。

答案 1 :(得分:1)

在微软知识库文章中,它说的是设计:

https://support.microsoft.com/en-ca/kb/322979

以上KB的标题是:  使用IP地址

连接到SMB共享时不使用Kerberos

答案 2 :(得分:0)

我意识到这是一个非常的旧线程,但这是所有相关搜索的首选。我认为值得注意的是Microsoft has recently added Kerberos client support using IPv4 and IPv6.

  

从Windows 10版本1507和Windows Server 2016开始,   可以将Kerberos客户端配置为支持IPv4和IPv6主机名   在SPN中。

     

为减少禁用NTLM的影响,引入了一项新功能   允许管理员使用IP地址作为服务中的主机名   主体名称。通过以下方式在客户端上启用此功能   注册表项值。

由于这是一个客户端修补程序,因此您的Kerberos客户端必须正在运行相应版本的Windows,并收到TryIPSPN注册表项。您的服务还必须在Active Directory中注册有基于IP的SPN。