【问题标题】:Protect test/beta site running in azure保护在 azure 中运行的测试/beta 站点
【发布时间】:2012-05-27 20:55:51
【问题描述】:

我们正在开发一个在 azure 中运行的新网站。我们目前正在针对本地 azure dev 环境进行开发。但现在我们需要在真实的 Azure 世界中发布和测试该站点。但是我们想在一个“封闭”的环境中运行,只有知道用户可以访问,因为该站点还没有上线。有什么建议可以做到这一点吗?

/拉斯穆斯

【问题讨论】:

  • 这是一个很好的问题。我建议限制 IP 地址。您需要一个静态 IP 地址。请参阅下面的答案。

标签: azure


【解决方案1】:

Windows Azure 有一种叫做“暂存模式”的东西,请参阅这篇文章:http://sevans.info/2010/10/10/windows-azure-staging-model/

它非常强大,据我所知正是你所需要的。

【讨论】:

  • 但我的网站 /url 仍然是公开的。暂存模式本身是否提供一些身份验证?我们的网站在“运行”时将 ACS 与社交提供者一起使用。但对于登台,我希望完全控制访问权限
  • 不,分期无法为您提供所需的保护
  • 暂存部署将 guid 作为其名称的第一部分 (.cloudapp.net),因此虽然理论上有人可以找到您的测试版站点,但这种可能性极小。
  • 按照 Leon 的建议使用 staging。在您的应用程序之上实施安全性,即使它只是表单身份验证。
【解决方案2】:

您可以删除实例配置的端点,因此不会通过负载均衡器进行转发。之后,您可以使用远程桌面登录到您的 azure 实例并测试您的 Web 应用程序。

【讨论】:

  • 根本不是一个好主意。首先删除端点会改变应用程序的动态,从 LB 中删除实例非常容易。请看我的定位。
  • 你是对的。似乎是在 rdp 会话的帮助下运行 ps 命令的更简单方法。好提示!
【解决方案3】:

以上建议很棒,我还想在此列表中再添加两个:

  1. 使用生产部署并拥有一个禁用目录浏览的虚拟索引/默认页面(已设置为默认值)因此,当有人来到您的站点时,他们将看不到任何内容。并且由于没有目录浏览,所以他们无法猜测页面*.aspx 来访问您的站点。这将使您的生产站点保持运行,您可以从外部对其进行测试。

  2. 从负载均衡器中删除您的实例,同时保持您的实例健康。这将要求您通过 RDP 对您的实例测试 Azure 应用程序,然后在内部启动。如果你想这样做,这里是Powershell based trick.

【讨论】:

  • 1.不过,这是一种通过默默无闻的安全性。互联网仍然知道您的应用程序在那里。他们会通过暴力破解获得一些页面,除非您限制速率,例如:azure.microsoft.com/en-us/blog/…
【解决方案4】:

如果您有静态 IP 地址,您可以限制允许访问您的应用的 IP 地址。根据此链接:https://azure.microsoft.com/en-us/blog/ip-and-domain-restrictions-for-windows-azure-web-sites/

开发人员可以使用 IP 和域限制来控制允许或拒绝访问其网站的 IP 地址集和地址范围。借助 Windows Azure 网站,开发人员可以使用其网站中的 web.config 文件启用/禁用该功能,以及自定义其行为。

代码如下:

<system.webServer>
  <security>
    <ipSecurity allowUnlisted="false" denyAction="NotFound">
      <add allowed="true" ipAddress="123.456.0.0" subnetMask="255.255.0.0"/>
    </ipSecurity>
  </security>
</system.webServer>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-28
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多