【发布时间】:2020-12-12 13:04:27
【问题描述】:
我有一个关于从 TGS-REP 验证 KDC 的问题。
我有一个用 C++ 编写的旧版测试工具,用于验证用户的 AD 凭据。此测试工具调用 krb5 库方法来执行身份验证并在客户端(Linux 机器)上运行。我可以在数据包捕获中看到测试工具正在验证来自 AS-REP 的用户。
测试工具 在客户端 AD 服务器
------------- AS-REQ------>
(用户现在将被验证)
测试工具正在通过 AS-REP 验证用户。
它没有发送/接收 TGS-REQ/TGS-REP。 ***我从 TGS-REP 了解到,我们也可以验证 KDC。 *** 因此,我扩展了该工具以执行以下操作:
测试工具 在客户端 AD 服务器
-———----——— AS-REQ—————>
<----——— AS-REP —————
—————— TGS-REQ (with sname: host/test.machine.examaple.com@EXAMPLE.COM)—————>
<——— TGS-REP—————
....... 我的测试工具将通过将 KDC 的密钥与预配置的密钥表进行比较来验证 KDC。我已经为上述 SPN 创建了一个 keytab。
问:从一些在线阅读材料中,我了解到这可以通过将 KDC 的密钥与预配置的密钥表文件进行比较来完成。我确信我没有完全明白这一点。请帮助我理解这部分。为什么我们不能从 AS-REP 获得此验证?
【问题讨论】:
-
你很困惑。应用程序服务器从不 联系 KDC。作为 AP-REQ 一部分的 UNIX/LINUX 上的 GSS-API 机制在使用部署在该 UNIX/LINUX 服务器上的密钥表解密入站凭据后验证用户。在 Windows 上,SSPI 自己处理所有这些,在 AP-REQ 期间不需要 keytab。您正在讨论客户端和 KDC 之间的 AS-REQ。到目前为止,应用服务器还不是此交换的一部分。
-
我无法正确表达,我的错。我的测试应用程序不是服务。它只是一个可以在客户端上运行以验证用户的 AD 凭据的测试工具。我想扩展这个测试工具的功能,以便它可以在从 AS-REP 验证用户后发送 TGS-REQ。我确实改写了我的问题。谢谢。
-
@T-Heron 我认为在委托(S4U2Self/Proxy)的情况下,GSS-API 确实会联系 KDC。
-
抱歉再次编辑问题,但这抓住了我现在的问题。
-
@BhushanKarmarkar - 在这种情况下,他不是在谈论委托。
标签: kerberos mit-kerberos kdc