windows - 具有集成 Windows 身份验证的外联网

标签 windows iis integrated-security extranet

在 Extranet 上使用 Windows Integrated Security 是否可能、安全且实用?

例如Intranet 上有一个 IIS 网站,可以通过集成身份验证在 LAN 上使用。当用户断开与 LAN 的连接时,他希望能够使用其已加入域的笔记本电脑上的浏览器通过 Internet(无 VPN)连接到同一网站,而无需单独登录。

最佳答案

它是否“安全”的问题是您在 Internet 场景中让用户面临哪些额外的安全威胁,而在 Intranet 场景中他们没有受到这些威胁。此外,您是否将服务器暴露于其他安全威胁 - 并假设问题不是“是否允许从 Internet 访问服务器”,而是“我们应该允许此服务器使用哪些身份验证方法 - 现在暴露 - -the-Internet”,这个次要问题可以归结为“是使用 Windows 集成身份验证协议(protocol)更好还是需要使用 Basic、Digest 或数字证书更好”?

对用户/客户端的安全威胁:用户的凭据是否受到合理保护,免受“通过网络嗅探”的攻击者的攻击? Windows 集成身份验证使用 NTLM 或 Kerberos;在外联网场景中,用户/客户端通常不能依赖 Kerberos,因为这也需要从 Internet 透明访问 KDC(即 Active Directory 域 Controller )。虽然这可以做到,但很少有注重安全的组织允许这样做。所以我们谈论的是 NTLM - 它使用从服务器发送的“nonce”(随机字符集)对用户的密码进行哈希处理,这样用户的密码就不会以明文形式出现在网络上。将 NTLM 与 Basic 进行比较,这是一个明显的胜利;将 NTLM 与 Digest 身份验证进行比较,它在某种程度上是等价的;将 NTLM 与客户端证书身份验证进行比较,证书总是在安全方面胜出(但在部署/引导挑战方面失败)。通常,您会发现您的安全或服务器管理员会希望为暴露在 Internet 上的 IIS 监听器使用 SSL 证书,这样用户的凭据就可以更多受到“嗅探器”的保护。 SSL 很难说是完美的,并且不能防止中间更复杂的攻击者(或在客户端设备上有木马/机器人的人),但它的成本非常低,可以让您高枕无忧。 SSL + NTLM 是许多人做出的合理选择。

对服务器的安全威胁:服务器暴露给试图访问经过身份验证的资源的未经授权的攻击者。如果服务器允许 任何 AD 验证的身份验证协议(protocol),那么它同样容易(或不)受到试图暴力破解用户密码的攻击,以及某种 IDS 解决方案,它会为重复的错误密码发出警报尝试是可取的(但要将信噪比降低到可管理的水平是一个很大的挑战)。服务器也暴露于任何可利用的漏洞(主要是在 IIS 中,或任何其他通过防火墙暴露的漏洞)都可能被外部攻击者用来获得对服务器的特权访问。最好为频繁打补丁做好准备。其他不太可能但听起来很可怕的安全威胁也是可能的,但这是首先要解决的大问题。

关于windows - 具有集成 Windows 身份验证的外联网,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3352036/

相关文章:

.net - 两个 .NET 进程何时可以共享 DLL 内存?

c# - 强制 SSL session 在服务器或客户端超时

c# - 自定义异步 HTTP 处理程序仅在 IIS 7.5 集成模式下生成错误 500 - 为什么?

asp.net - 无法在 IIS Express 中启动 asp.net core web 应用程序

postgresql - 使用集成安全性连接到 PostgreSQL 或回退到公共(public)登录

sql-server - Azure数据工厂: Can self-hosted Integration Runtime be configured to use Sql Integrated Security

c++ - 更改 Windows 资源管理器中的当前路径

c# - WinForms 中如何处理不可见控件的绘制?

windows - 上传代码时Arduino更改COM端口(Windows)