Mik*_* C. 9 asp.net web-services active-directory
我有几个网站用于公司局域网以外的工作 - 因此,在直接通信范围的Active Directory(A/D)之外 - 但我希望能够针对该网站对用户进行身份验证.企业A/D服务器以及用户/角色的辅助存储库***.此活动的伪代码是:
***我们的想法是,当他们只登录我们的外部Web服务器时,我们不希望将数十个(可能是数百个)承包商和附属公司放入Active Directory.因此,二次授权方案.
我认为这里有几个层次,每一层都有自己的问题:
如何从 DMZ 访问 LAN 内的 Web 服务?
这是一项艰巨的任务,因为它确实打破了 DMZ/LAN 分离的概念。一般来说,LAN 和 DMZ 之间的连接只允许(并且在有限的基础上)从 LAN 端进行 - 这样,受损的 DMZ 就无法发起与 LAN 的联系,并且它可以执行的操作受到极大限制(它无法发出请求)任意请求,只响应来自局域网的请求)。
如何使用另一台计算机上的服务来验证用户名/密码?
这又是一个棘手的问题 - 您正在通过网络传递密码 - 它们是否有可能被拦截。对于 AD,这个问题可以通过 kerberos 来解决 - 一种质询/响应系统,可确保密码永远不会被实际传输。当然,kerberos 和类似的协议非常复杂 - 您永远不应该尝试自己构建,因为它可能不如使用现有的协议安全 - 例如您的 Web 服务可以在 https 上运行,因此至少密码只是明文两台服务器,而不是其间的通信链路。证书还可以用于防止用于 LAN Web 服务的流量被重新路由到受损的 DMZ 计算机(受损的 DMZ 计算机无法伪造证书,因此您的系统可以确定它在连接到伪造的服务器之前)发送详细信息以进行身份验证)
根据我自己的经验,这些问题会导致 LAN 之外的 AD 无法完成。公司选择要么让外部人员使用通过 RSA 密钥(那些显示一组不断变化的数字的小钥匙串)进行身份验证的 VPN,要么使用一组完全独立的登录名来访问 DMZ 区域服务。
归档时间: |
|
查看次数: |
10057 次 |
最近记录: |