Answers:
仅从Windows角度来看:
MaxConcurrentAPI
,AuthPersistSingleRequest
(错误),更快的DC)的情况并不少见。推荐奖金。)lmcompatibilitylevel
)的影响也许可以遍历代理,但请参见上面的DC点:您仍然需要与活动DC处于同一网络上,就像服务器一样。
票证寿命很长(10h),这意味着票证生命周期内的DC通信更少 -并且要强调:这可以 在整个生命周期内为每个客户端节省数千到数百万个请求 -(AuthPersistNonNTLM
仍然是一件事情;Kerberos PAC验证曾经是一件事情)
UserA
访问IIS并在IIS访问SQL Server时使用相同的用户帐户,这就是“身份验证委托”。KRB_ERR_AP_MODIFIED
)注册在我们的时候:
LogonType
配置来完成此操作(认为默认设置在2000年到2003年之间更改为网络明文,但是可能记错了)总结一下:
设置遏制可能很棘手,但是有大量的指南(我的一个)试图简化流程,并且从2003年到2008年,这些工具有了很大的改进(SetSPN
可以搜索重复项,这是最常见的中断问题) ; 使用SETSPN -S
任何时候你看到的指导使用-A,生活会更快乐)。
受约束的代表团值得入场费用。
来自Microsoft Application Verifier,它可以检测常见的开发人员错误。这些错误之一是使用NTLM:
NTLM是一种过时的身份验证协议,其缺陷可能会损害应用程序和操作系统的安全性。最重要的缺点是缺乏服务器身份验证,这可能使攻击者诱骗用户连接到欺骗性服务器。作为缺少服务器身份验证的必然结果,使用NTLM的应用程序也容易受到称为“反射”攻击的攻击。后者允许攻击者将用户的身份验证会话劫持到合法服务器,并使用它将攻击者身份验证到用户的计算机。NTLM的漏洞及其利用方法是安全社区中越来越多的研究活动的目标。
尽管Kerberos已有许多年可用,但许多应用程序仍仅使用NTLM编写。这不必要地降低了应用程序的安全性。但是,Kerberos不能在所有情况下替换NTLM,主要是在客户端需要向未加入域的系统进行身份验证的情况下(家庭网络可能是其中最常见的)。Negotiate安全软件包允许向后兼容的折衷方案,该方案尽可能使用Kerberos,并且仅在没有其他选择时才还原为NTLM。将代码切换为使用协商而不是NTLM可以显着提高我们客户的安全性,同时几乎不引入应用程序兼容性。进行谈判本身并不是灵丹妙药,在某些情况下,攻击者可以强制降级为NTLM,但要利用它们显然要困难得多。但是,一项直接的改进是,为正确使用协商而编写的应用程序可以自动抵抗NTLM反射攻击。
最后请注意不要使用NTLM:在将来的Windows版本中,可以在操作系统上禁用NTLM。如果应用程序对NTLM有严格的依赖性,则在禁用NTLM时,它们将仅无法通过身份验证。
您应该添加一个非常重要的观点:
Kerberos在Unix中已成为标准和开放协议超过20年,而NTLM是Microsoft的纯专有解决方案,并且只有Microsoft知道。
如果需要模拟用户访问iis服务器上没有的资源,则需要Kerberos。