【发布时间】:2013-11-04 22:18:35
【问题描述】:
我们正在开发一个使用 Windows Azure 云服务和 SQL Azure 数据库的应用程序。我们有一个 ASP .NET MVC 项目,它使用数据库优先在我们的 Visual Studio 解决方案中创建实体。现在我们需要将数据库架构部署到 Azure。
目前这是不可能的,因为我们的网络阻止了端口 1433 上的出站访问,这是 SQL Azure 唯一可用的端口。我们已经请求我们的安全团队允许对外开放 1433 端口,但他们有一些担忧:
Microsoft 的防火墙允许通过 Internet 访问 Azure 的未加密数据库流量(端口 1433)。尽管数据库中没有敏感信息,但如果数据库凭据未加密,则管理凭据可能是明文形式,并可能导致损坏风险。
互联网防火墙上打开了哪些网络端口来访问托管网站和数据库的系统?
我相信第一个问题的关注点是,用于管理 Azure DB 的凭据将在部署期间未加密的端口 1433 上发送。对于第二个,我认为答案是我们可以配置端点以打开我们想要的云服务的任何端口,但默认情况下它们是关闭的。
我进行了一些研究,但无法从 Microsoft 那里找到有关这些问题的任何明确答案,这让我认为我们提出了错误的问题。我很想知道任何比我更有经验的人的见解。
【问题讨论】:
-
您还可以通过从 azure 管理门户启动的 silverlight 插件在 https 上执行一些数据库设置
-
您的第一个假设非常错误。 SQL Azure 需要显式加密。这意味着它将拒绝任何未加密的连接!在假设之前,您必须阅读“Windows Azure SQL 数据库 (msdn.microsoft.com/en-us/library/windowsazure/ff394108.aspx) 的安全指南和限制”!
-
@astaykov 感谢您的链接,我实际上已经阅读了那篇文章,但仍然不清楚在从 Visual Studio 部署到 SQL Azure 期间是否对超过 1433 的连接进行了加密。根据文章:“Windows Azure SQL 数据库和您的应用程序之间的所有通信都需要始终加密 (SSL)。”我们的安全部门关心 SQL Azure 和 VS 之间的通信,而不是我们的应用程序。另外,为了记录,我们的安全部门。是那些做出假设的人,我只是在寻找正确的答案:)。感谢您的洞察力!
-
Visual Studio 也是“您的应用程序”。 SQL Server Management Studio 也是“您的应用程序”。您编写的代码也是“您的应用程序”。 SQL Azure 将简单地拒绝未加密的 任何 连接尝试。让你的“安全部门”。仔细阅读文档,并根据需要进行测试。如果一个人是真正的安全专家,那么检测给定连接是否加密非常容易......
-
这是我们在文档中并不清楚的一点。我确实进行了测试,并验证了我们这边的每个连接都是加密的,并将其传达给我们的安全部门。再次感谢您的洞察!