确定 IWA 实施
Determining IWA Implementation
我使用的一些客户端软件和 Web 应用程序并不清楚它们允许哪种类型的 IWA 进行身份验证。我已阅读 manuals/guides 无济于事。它们包含标记为 "Enable IWA" 的复选框功能,并且 IWA 在向 machine/domain.
进行身份验证时似乎确实像宣传的那样工作
根据我的了解和所做的研究,有两种类型的 IWA:NTLM 和
克伯罗斯。我熟悉用于启用协商以使用 either/or NTLM/Kerberos 的 IIS 设置。我也熟悉使用 klist 来确定 kerberos 票证是否在域认证系统上 requested/utilized。
我感到困惑的地方是当应用程序不是基于 IIS(也就是无法检查协商设置)并且 klist 输出显示没有 kerberos 票证并且 IWA 仍然有效的情况下。这种情况是否总是被假定为 IWA NTLM?还有其他我不知道的 IWA 形式吗?我知道 Web 应用程序可以从 javascript 中提取当前经过身份验证的用户,但这是一种非常不安全的做法,而且在我检查 javascript 时似乎也不是这种情况。
问题总结:
- 还有其他形式的 IWA 我没有在这里提到吗?
- 如果正在使用 non-IIS/klist 可验证 IWA,如何检查 IWA 类型?
- 无需我执行数据包捕获即可检查是否正在使用 NTLM 的最简单方法是什么?
还有其他形式的 IWA 我没有在这里提到吗?
A. 没有其他形式 - 您的研究是正确的,您列出了 IWA 的两种形式:NTLM 和 Kerberos.
如果正在 non-IIS/klist 可验证 IWA,我如何检查 IWA 类型
利用?
A. klist 验证 Kerberos 是否被用作 IWA 类型。如果 klist 没有显示 Kerberos 票证并且 单点登录 到 Web 应用程序工作,而 HTTP 客户端从未出现过要求用户名和密码的对话框,那么身份验证类型一定是 NTLM。
- 无需我执行数据包捕获即可检查是否正在使用 NTLM 的最简单方法是什么?
A. 最简单的方法是根据情况知道:当 klist 输出显示没有 kerberos 票证并且 IWA 仍然工作(没有弹出对话框)时,这意味着 NTLM 必须已经使用。只要 SSO 工作并且 klist 没有显示 Web 应用程序的 Kerberos 票证(如上面的答案 #2 中所示),就会调用 NTLM。尽管浏览器缓存中存在会话密钥,这可能会造成混淆,但真正确定的唯一方法是通过观察网络跟踪或 trace/debug 级别的服务器日志分析。不过,我要补充一点,如果确实出现了询问用户名和密码的对话框,则身份验证类型不是 IWA,很可能是基本身份验证或 LDAP 身份验证(基本身份验证和 LDAP 身份验证不是 SSO 协议)。
我使用的一些客户端软件和 Web 应用程序并不清楚它们允许哪种类型的 IWA 进行身份验证。我已阅读 manuals/guides 无济于事。它们包含标记为 "Enable IWA" 的复选框功能,并且 IWA 在向 machine/domain.
进行身份验证时似乎确实像宣传的那样工作根据我的了解和所做的研究,有两种类型的 IWA:NTLM 和 克伯罗斯。我熟悉用于启用协商以使用 either/or NTLM/Kerberos 的 IIS 设置。我也熟悉使用 klist 来确定 kerberos 票证是否在域认证系统上 requested/utilized。
我感到困惑的地方是当应用程序不是基于 IIS(也就是无法检查协商设置)并且 klist 输出显示没有 kerberos 票证并且 IWA 仍然有效的情况下。这种情况是否总是被假定为 IWA NTLM?还有其他我不知道的 IWA 形式吗?我知道 Web 应用程序可以从 javascript 中提取当前经过身份验证的用户,但这是一种非常不安全的做法,而且在我检查 javascript 时似乎也不是这种情况。
问题总结:
- 还有其他形式的 IWA 我没有在这里提到吗?
- 如果正在使用 non-IIS/klist 可验证 IWA,如何检查 IWA 类型?
- 无需我执行数据包捕获即可检查是否正在使用 NTLM 的最简单方法是什么?
还有其他形式的 IWA 我没有在这里提到吗?
A. 没有其他形式 - 您的研究是正确的,您列出了 IWA 的两种形式:NTLM 和 Kerberos.如果正在 non-IIS/klist 可验证 IWA,我如何检查 IWA 类型 利用?
A. klist 验证 Kerberos 是否被用作 IWA 类型。如果 klist 没有显示 Kerberos 票证并且 单点登录 到 Web 应用程序工作,而 HTTP 客户端从未出现过要求用户名和密码的对话框,那么身份验证类型一定是 NTLM。- 无需我执行数据包捕获即可检查是否正在使用 NTLM 的最简单方法是什么?
A. 最简单的方法是根据情况知道:当 klist 输出显示没有 kerberos 票证并且 IWA 仍然工作(没有弹出对话框)时,这意味着 NTLM 必须已经使用。只要 SSO 工作并且 klist 没有显示 Web 应用程序的 Kerberos 票证(如上面的答案 #2 中所示),就会调用 NTLM。尽管浏览器缓存中存在会话密钥,这可能会造成混淆,但真正确定的唯一方法是通过观察网络跟踪或 trace/debug 级别的服务器日志分析。不过,我要补充一点,如果确实出现了询问用户名和密码的对话框,则身份验证类型不是 IWA,很可能是基本身份验证或 LDAP 身份验证(基本身份验证和 LDAP 身份验证不是 SSO 协议)。