保持一些Web服务私密和其他公共

时间:2009-06-03 13:45:19

标签: web-services iis

不确定实现目标的最佳方式......

我们在几台Web服务器上运行asp.net v3.5上的一些Web服务。他们都互相和公共互联网很好地交谈。

现在,我们希望将这些网络服务中的某些服务保持为“私有”状态,即使其无法访问公共互联网,同时让其他人可以访问。

AFAICS最简单的方法就是在不同的端口上运行私有服务,并将公共端口保留在端口80上。我们的防火墙只允许通过端口80访问互联网,因此会丢弃从互联网到私有的任何请求网页服务。排序......我想?

这个想法是一个合理的解决方案吗?或者,我应该使用一些简单的IIS机制吗?

由于

SAL

5 个答案:

答案 0 :(得分:2)

您可以通过IIS控制面板(目录安全性选项卡)中的黑名单/白名单来限制对站点的访问。这就是我过去用IP地址过滤所做的事情。

答案 1 :(得分:1)

您可以将IP访问限制放在您想要的任何网站/应用上。我们有几个internal Web服务,仅允许访问10.x.x.x范围。

答案 2 :(得分:1)

  

AFAICS最简单的方法是   只需运行私人服务   一个不同的港口,并保持公众   端口80上的。我们的防火墙   允许通过端口80访问互联网   会放弃任何请求   互联网到私人网络服务。

这正是我们采取的方法。我们还有一个VPN,以便员工可以在远程工作时访问该网站。

答案 3 :(得分:1)

这实际上取决于您希望内部Web服务的安全性。

如果您在内部Web服务上有敏感数据,则需要将它们放在完全不同的服务器上,即使您不允许通过为其分配不同的端口来从外部访问它们。

但是,如果您没有敏感数据的问题,那么为内部和外部用户分配不同的端口或IP地址是一个很好的方法。

答案 4 :(得分:0)

除端口外,您还可以使用限制来调用(例如,使用IP地址过滤)。

此外,您实际上可能需要对Web服务的调用者进行身份验证,如果您使用ActiveDirectory,这应该很容易配置。

在任何情况下,如果你有一个私有的“公共”网络服务,你可能想要“发布”它两次:一次是公开的(有好的外部URL),一次是内部的,所以你的另一个内部服务和/或客户不必通过“外部”URL。然后,您可以为同一服务的不同发布者配置不同的限制(客户端IP,身份验证,...)。