具有集成Windows身份validation的外联网

在外联网上使用Windows集成安全性是否可行,安全和实用?

例如,Intranet上有一个可以通过局域网使用集成身份validation的IIS网站。 当用户从局域网断开连接时,他希望能够使用其join域的笔记本上的浏览器通过互联网(无VPN)连接到同一个网站,而无需单独login。

是的,这绝对有可能使用集成安全性。 但是,它也取决于您用于身份验证的框架。 在ASP.NET中,您可以使用内置的身份验证模块。 您将身份验证模式设置为“Windows”,.Net将为您进行管理。 您还可以在您的Web应用程序中管理不同类型的用户,具有不同的角色。 您的网络应用程序必须在您的局域网外部可用(即您的防火墙不应阻止传入的HTTP请求)

Vamyip

是否“安全”的问题是您在Internet方案中将用户暴露给哪些额外的安全威胁,而这些安全威胁并未在Intranet场景中公开。 此外,您是否将服务器暴露给其他安全威胁 – 并假设问题不是“是否允许从Internet访问服务器”,而是“我们应该允许哪些身份验证方法允许此服务器 – 现在暴露 – 互联网“,这个第二个问题归结为”使用Windows集成身份验证协议或需要使用基本,摘要或数字证书“更好?

对用户/客户端的安全威胁:是否合理地保护用户的凭据免受攻击者的“嗅探”? Windows集成身份验证使用NTLM或Kerberos; 在外联网场景中,用户/客户端通常不能依赖于Kerberos,因为这需要从Internet上透明地访问KDC(即Active Directory域控制器)。 虽然可以做到这一点,但看到一个安全意识型组织允许这样做是不寻常的。 因此,我们正在讨论NTLM–它使用从服务器发送的“nonce”(随机字符集)散列用户的密码,以便用户的密码不会以明文形式出现在导线上。 比较NTLM和Basic,这是一个明显的胜利; 将NTLM与摘要式身份验证进行比较,它有点相同; 将NTLM与客户端证书认证进行比较,证书总是为了安全而赢得胜利(但是在部署/引导挑战上失败)。 一般来说,你会发现你的安全或服务器管理员希望为暴露给Internet的IIS侦听器使用一个SSL证书,这样用户的证书就可以更好地防止“嗅探器”。 SSL并不完美,并不能防止中间的更复杂的攻击者(或者在客户端设备上有木马/僵尸程序的人),但是对于额外的安心而言,其成本非常低。 SSL + NTLM是很多人合理的选择。

对服务器:服务器的安全威胁暴露给未经授权的攻击者试图访问经过身份验证的资源。 如果服务器允许任何通过身份验证的身份验证协议,那么它同样容易(或不会)试图暴力强制用户密码的攻击,而某些类型的IDS解决方案会引发重复的错误密码尝试的警报响铃(但是相当挑战将信号/噪声比降低到可控水平)。 服务器还暴露在可能被利用的漏洞(主要在IIS或其他通过防火墙暴露的地方)被外部攻击者利用来获得对服务器的特权访问的可能性。 最好做好频繁补丁的准备。 其他不太可能,但可怕的安全威胁是可能的,但这是首先要解决的大问题。

正如ParanoidMike所指出的,将网络应用程序暴露给使用Windows身份验证的互联网,您正在为黑客创建一个蛮力攻击向量。 要尝试减轻这种威胁,您应该考虑采取以下措施:

  • 限制通过IP地址访问
  • 在n次失败的登录尝试后,将帐户设置为锁定。
  • 管理员帐户不能设置为锁定,因此请为他们选择隐蔽的用户名。

我目前正在调查是否有可能一起排除管理员帐户