如何以安全的方式实施Windows身份validation以用于Internet环境?

我正在阅读关于IIS7中的Windows身份validation

我从经验中知道,Windows身份validation在技术上可以在Internet上使用IIS进行工作 – 这意味着用户受到401未经授权的挑战,并且大多数浏览器(Chrome,FF,IE,Safari)会提示inputwindows \ user和password,如果authentication成功,并且如果被授权,则用户获得所请求的页面。

但后来我读到:

Windows身份validation不适合在Internet环境中使用,因为该环境不要求或encryption用户凭据。

HTTPS可以用于encryption,但我正在寻求澄清的另一部分。

什么“不需要用户凭证”是什么意思?

在此基础上,真正的问题是:除了使用HTTPS进行encryption之外, 如何以安全的方式实现Windows身份validation以用于Internet环境?

微软的说法似乎是没有根据的。 我得知,如果使用NTLM而不是Kerberos,那么您将失去与受信任的第三方身份提供者的直接连接,但是这并不能解释为什么如果正确实施,将不需要证书。 寻求那个方法。 谢谢。

你不应该有本地身份validation和面向互联网的网站的主要原因是,如果您的networking服务器被入侵,所有的本地帐户都将被入侵。 借助Kerberos,您可以更新密码,并对授权进行集中控制。

现在kerberos身份validation可以使用SPN密钥表,并且您有不同types的encryptionhttps://uit.stanford.edu/service/kerberos/keytabs,而NTLM仅部分使用encryptionhttps://blogs.msdn.microsoft.com/chi/zh/cn / 09/20 / ntlm-want-know-how-it-works / 。 除非NTLMSPP在您的操作系统上得到完全支持和更新,否则您将以纯文本格式发送凭据http://www.cisco.com/c/en/us/support/docs/security/web-security-appliance/118487-technote -wsa-00.html和https://en.wikipedia.org/wiki/NTLMSSP 。 NTLM目前没有被扩展,它不是select的协议https://msdn.microsoft.com/en-us/library/windows/desktop/aa378749(v=vs.85).aspx 。

正如你所看到的,每个MS文档的用户名都是纯文本的,密码是散列的。 针对NTLM的“简单”攻击是可能的 – 通过哈希,或者预测在会话中产生的随机数,然后从中获取密码。 除此之外,NTLM支持56和128encryption,因此比任何相当新的方法都要低。

面向networking的服务无法安全地实施本地身份validation。 请让我知道,如果这是有道理的。

most of em don't use https either (even over internet) because they are too cheap to pay for certificates

configuration网站要求Https将提供一个合理的安全措施。 如果你正在寻找别的东西,因为他们不想使用/支付证书,那么你就是在浪费大家的时间。 在不需要SSL的情况下在互联网上实现Windows身份validation将是不负责任的,因为集成的Windows身份validation机制可能因多种原因而不起作用。 如果发生这种情况,他们将被要求input凭据,如果不需要SSL,将通过networking以纯文本forms传输。

而且我们甚至没有考虑数据是否需要encryption。

此外,NTLM和Kerberos都会向每个数据包发送http授权标头有效负载,并且该标头包含已散列/消失的凭证。 Kerberos将比NTLM更安全,但如果不使用SSL,两者都可能受到MITM重放攻击的影响。

根据我的经验,即使在内部networking上使Windows Auth可靠地工作也很困难,并且在不encryption的情况下提示未encryption的http连接的凭据是一个不容忽视的弱点。 有多种情况可能无法正常工作,包括由于组成员身份和/或IISconfiguration设置不足而导致令牌/ auth头太大,或者Windows凭据在客户端和Active Directory域之间不同步。 由于组成员身份存储在Kerberos PAC中,所以令牌大小过大问题只发生在Kerberos上。