Kerberos KDC 在获取凭据时不支持加密类型

laz*_*zio 9 encryption active-directory kerberos

我正在使用带有 Kerberos 的 AD 配置 apache/SSO 身份验证。我的 http 服务器是 Debian Wheezy,AD 是 Windows Server 2012。

我在 WS2012 上生成了密钥表文件,其中包含 WS2012 上kpass可用的每种加密类型的命令。

当我尝试使用 与用户打开会话test@DOMAIN.COMkinit,它可以工作。

当我尝试使用我的 开启会话时HTTP/web.domain.com@DOMAIN.COM,我收到以下消息:

kvno HTTP/web.domain.com@DOMAIN.COM
kvno: KDC has no support for encryption type while getting credentials for HTTP/web.domain.com@DOMAIN.COM
Run Code Online (Sandbox Code Playgroud)

另外,当我检查用于 的加密时test@DOMAIN.COM,我有:

root@SERVER:~# klist -e
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: test@DOMAIN.COM

Valid starting       Expires              Service principal
03/04/2015 12:48:21  03/04/2015 22:48:17  krbtgt/DOMAIN.COM@DOMAIN.COM
        renew until 04/04/2015 12:48:21, Etype (skey, tkt): arcfour-hmac, arcfour-hmac
Run Code Online (Sandbox Code Playgroud)

我尝试自定义我/etc/krb5.conf的:

  default_tgs_enctypes = arcfour-hmac-md5 des-cbc-crc des-cbc-md5
  default_tkt_enctypes = arcfour-hmac-md5 des-cbc-crc des-cbc-md5
Run Code Online (Sandbox Code Playgroud)

并且通过使用加密的keytab 文件arcfour-hmac没有成功。

我不明白如何更改用于通信的加密类型,为什么它总是想要 arcfour-hmac 以及为什么当我给它 arcfour-hmac 加密时,没有任何改变......

如何确保 /etc/krb5.conf 更改有效以及如何使 Kerberos 票证生成也起作用?

Rya*_*ies 7

Active Directory 域控制器支持的加密类型列在msDS-SupportedEncryptionTypes域控制器的计算机对象的属性中。在默认安装中,它们通常类似于:

RC4_HMAC_MD5
AES128_CTS_HMAC_SHA1_96
AES256_CTS_HMAC_SHA1_96
Run Code Online (Sandbox Code Playgroud)

这是一个位掩码,可计算为十进制 28,因此它类似于00011100.

因此,当您问为什么域控制器“总是只需要 ARC4-HMAC”时,这是因为您的客户端与域控制器没有其他两种加密类型中的任何一种,因此在协商过程中将它们消除。

(注意:RC4_HMAC_MD5 确实是这里所有可能的加密类型中最差和最弱的,但有时也需要支持旧方案和与非 Microsoft 产品的互操作性。)

我查阅了一些文档,找到了其他人的配置文件的示例,并认为这可能很有用:

http://wiki.squid-cache.org/ConfigExamples/Authenticate/Kerberos

; for Windows 2008 with AES
   default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
   default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
   permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
Run Code Online (Sandbox Code Playgroud)

请注意,除了支持更好的加密类型外,它们还在rc4-hmac其配置中指定,这与您拥有的不同,arcfour-hmac-md5. (也不要忘记这permitted_enctypes行,我在你的帖子中没有看到。)

我不能 100% 确定这会解决您的问题,因为我现在无法对其进行测试,但希望它会有所帮助。