加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

为什么在IIS中使用Kerberos而不是NTLM?

发布时间:2021-03-16 05:48:53 所属栏目:Windows 来源:网络整理
导读:这是我从未真正能够回答的问题:在IIS中使用Kerberos身份验证而不是NTLM的真正优势是什么? 我已经看到很多人真的很难设置它(包括我自己)并且我没有能够找到使用它的充分理由.必须有一些相当显着的优点,否则设置它不值得一试,对吧? 仅从 Windows的角度来

这是我从未真正能够回答的问题:在IIS中使用Kerberos身份验证而不是NTLM的真正优势是什么?

我已经看到很多人真的很难设置它(包括我自己)并且我没有能够找到使用它的充分理由.必须有一些相当显着的优点,否则设置它不值得一试,对吧?

仅从 Windows的角度来看:

NTLM

>适用于外部(非域)和内部客户端
>适用于IIS框中的域帐户和本地用户帐户

>使用域帐户,只有服务器需要直接连接到域控制器(DC)
>使用本地帐户,你不需要任何地方连接:)
>您无需以相关用户身份登录即可使用凭据
>除此之外:DC不会被繁忙的NTLM服务器(IIS,Exchange,TMG / ISA等)以及NTLM请求的数量所淹没(缓解:MaxConcurrentAPI,AuthPersistSingleRequest (false),更快的DC).(Self-referential bonus. )

>要求客户端仅连接到IIS服务器(在站点端口上,没有别的.即一切都通过HTTP(或HTTPS)发生.)
>可以遍历任何支持HTTP Keep-Alives的代理

>您可以使用TLS / SSL解决其他问题

>需要多次往返进行身份验证,使用小数据包

>(日志模式为401.2,401.1,200用户名)

>不能用于需要双跳认证的场景

>即,用户的凭证将被转发到另一台计算机上的服务

>支持旧客户端(< Win2000)
>易受LM Auth Level差异的影响(lmcompatibilitylevel不匹配)
如果Curb失败,>将被Negotiate包用作后备.

>(不是“如果使用Curb拒绝访问”,Curb必须中断才能使用NTLM – 通常这看起来没有获得票证.如果客户获得票证并且它不完美,那么这不会导致后退.)

Kerberos的

>仅适用于当前加入域的客户

>要求客户端连接到AD DC(tcp / udp 88)和服务器(客户端通过Curb端口从DC检索票证,然后使用HTTP提供给服务器)

>可能能够遍历代理,但请参阅上面的DC点:您仍然需要与活动DC在同一网络上,服务器也是如此.

>所以理论上如果你有一个域名,互联网连接的客户端直接与互联网连接的DC聊天,它是可行的.但除非你已经知道,否则不要这样做.
>在反向代理方案(ISA / TMG)中,protocol transition服务器需要在该网络上,即不是客户端…但是客户端实际上不是那个执行Kerberos位的服务器(必然 – 认为Forms auth to Curb过渡).

>票证是长寿命的(10h)意味着在票证生命周期中更少的DC通信 – 并强调:这可以在整个生命周期内为每个客户节省数千到数百万的请求 – (AuthPersistNonNTLM仍然是一件事; Kerberos PAC validation曾经是一件事)
>需要单次往返进行身份验证,但身份验证有效负载大小相对较大(通常为6-16K)(401,{(编码)令牌大小} 200)
>可以与(请始终受约束)委派一起使用,以启用连接用户对下一个服务的Windows身份验证

>例如,要允许UserA访问IIS,并在IIS访问SQL Server时使用相同的用户帐户,这就是“身份验证委派”.
>(在此上下文中受约束意味着“但不是其他任何东西”,例如Exchange或其他SQL框)

>目前是协商身份验证的主要安全包

>意味着Windows域成员在获得它时更喜欢它

>需要注册SPN,这可能很棘手. Rules that help.
>需要使用名称作为目标,而不是IP地址
>理由可能会失败:

>使用IP地址而不是名称
>没有SPN注册
>重复注册的SPN
> SPN注册了错误的帐户(KRB_ERR_AP_MODIFIED)
>没有客户端DNS / DC连接
>客户端代理设置/本地Intranet区域未用于目标站点

我们在这里:

基本

>可以多跳.但是通过将您的用户名和密码直接暴露给目标Web应用程序来实现

>然后可以随心所欲地做任何事情.任何东西.
>“哦,域管理员刚刚使用我的应用程序吗?我刚读过他们的电子邮件吗?然后重置密码?Awww.Pity”

>需要传输层安全性(即TLS / SSL)以实现任何形式的安全性.

>然后,请参阅上一期

>适用于任何浏览器

>(但请看第一期)

>需要单次往返进行身份验证(401,200)
>可以在多跳场景中使用,因为Windows可以使用基本凭据执行交互式登录

>可能需要将LogonType配置为完成此操作(认为默认情况下在2000和2003之间更改为网络明文,但可能是错误记录)
>但是再次看到第一期.
>给人的印象是第一个问题真的非常重要吗?它是.

总结一下:

Curb设置起来可能很棘手,但是有大量的指南(my one)试图简化这个过程,并且工具在2003年到2008年间有了很大的改进(SetSPN可以搜索重复项,这是最常见的问题; use SETSPN -S任何时候你看到使用-A的指导,生活会更快乐.

受限制的代表团值得入场费用.

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读