【问题标题】:Keeping some web services private and others public将一些 Web 服务保持为私有,而另一些则为公开
【发布时间】:2009-06-03 13:45:18
【问题描述】:

不确定实现某事的最佳方式...

我们已经在几个 Web 服务器上运行了许多在 asp.net v3.5 上的 Web 服务。他们彼此之间以及在公共互联网上都很好地交谈。

现在我们希望将其中一些网络服务保持为“私有”,即使它们无法在公共互联网上使用,同时让其他网络服务可以访问。

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

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

谢谢

SAL

【问题讨论】:

    标签: web-services iis


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      AFAICS 最简单的方法是 只是为了运行私人服务 一个不同的港口并保持公众 那些在端口 80 上。我们的防火墙只 允许通过端口 80 访问互联网,因此 会丢弃来自 互联网到私人网络服务。

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

      【讨论】:

        【解决方案3】:

        您可以对任何您想要的网站/应用设置 IP 访问限制。例如,我们有几个 internal Web 服务只允许访问 10.x.x.x 范围。

        【讨论】:

        • 请问您是怎么​​做到的(我不是 IIS 专家!)?您指的是与 flatline 相同的东西吗?
        • 是的,他和我在同一条线上 :)
        • 不知道他指的是不是同一个东西,但是在目录安全下有一个“IP地址和域名限制”面板,可以让您指定单个地址或地址范围.我认为您甚至可以进行 DNS 查找,但出于性能原因不建议这样做。
        【解决方案4】:

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

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

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

        【讨论】:

          【解决方案5】:

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

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

          在任何情况下,如果您有一个“公共”网络服务,它也是私有的,您可能希望“发布”两次:一次用于公共(带有漂亮的外部 URL),一次用于内部,以便您的另一个内部服务和/或客户端不必通过“外部”URL。然后,您可以为同一服务的不同发布者配置不同的限制(客户端 IP、身份验证等)。

          【讨论】:

            猜你喜欢
            • 2020-01-10
            • 2020-01-12
            • 1970-01-01
            • 2014-11-30
            • 2012-10-26
            • 1970-01-01
            • 2016-12-26
            • 2022-11-12
            • 1970-01-01
            相关资源
            最近更新 更多