1

我们正在开发一个使用 Windows Azure 云服务和 SQL Azure 数据库的应用程序。我们有一个 ASP .NET MVC 项目,它使用数据库优先在我们的 Visual Studio 解决方案中创建实体。现在我们需要将数据库架构部署到 Azure。

目前这是不可能的,因为我们的网络阻止了端口 1433 上的出站访问,这是 SQL Azure 唯一可用的端口。我们已经要求我们的安全团队允许对外开放 1433 端口,但他们有一些担忧:

  1. Azure 的 Internet 上的 Microsoft 防火墙允许未加密的数据库流量(端口 1433)。尽管数据库中没有敏感信息,但如果数据库凭据未加密,则管理凭据可能是明文,并可能导致损坏风险。

  2. 互联网防火墙打开了哪些网络端口来访问托管网站和数据库的系统?

我相信第一个问题的关注点是管理 Azure DB 的凭据将在部署期间未加密的端口 1433 上发送。对于第二个,我认为答案是我们可以配置端点以打开我们想要为我们的云服务提供的任何端口,但默认情况下它们是关闭的。

我做了一些研究,但无法从微软那里找到关于这些问题的任何明确答案,这让我觉得我们问错了问题。我会对任何比我有更多经验的人的见解感兴趣。

4

2 回答 2

2

SQL Azure 仅接受此处的安全指南和限制(Windows Azure SQL 数据库)文章中的加密 (SSL) 通信:http: //msdn.microsoft.com/en-us/library/windowsazure/ff394108.aspx

加密和证书验证 Windows Azure SQL 数据库和您的应用程序之间的所有通信都需要始终加密 (SSL)。如果您的客户端应用程序在连接时未验证证书,则您与 Windows Azure SQL 数据库的连接很容易受到“中间人”攻击。要使用应用程序代码或工具验证证书,请明确请求加密连接并且不要信任服务器证书。如果您的应用程序代码或工具未请求加密连接,它们仍将接收加密连接。但是,他们可能不会验证服务器证书,因此容易受到“中间人”攻击。要使用 ADO.NET 应用程序代码验证证书,在数据库连接字符串中设置 Encrypt=True 和 TrustServerCertificate=False。有关详细信息,请参阅如何:使用 ADO.NET 连接到 Windows Azure SQL 数据库。SQL Server Management Studio 还支持证书验证。在连接到服务器对话框中,单击连接属性选项卡上的加密连接。SQL Server Management Studio 不支持 SQL Server 2008 R2 之前版本的 Windows Azure SQL 数据库。

SQL Azure 使用 1433 和 8443。Azure 的端口要求可在此处获得:http: //msdn.microsoft.com/en-us/library/windowsazure/jj136814.aspx

如果要限制进出特定 IP 地址的防火墙流量,可在此处获得 Azure 数据中心 IP 范围:http: //msdn.microsoft.com/en-us/library/windowsazure/dn175718.aspx

于 2013-11-07T16:41:20.050 回答
0

一些选项(除了 DarrelNorton 的回答): - 您可以使用专用 SQL Server VM,然后您可以使用端口转发,端口问题不是问题,您可以安装额外的防火墙选项和额外的安全软件 - 专用 SQL VM 允许您利用 SQL Server 中的 TDE(Trans. Data Encryption),或者您可以执行 SQL Azure DB 中不可用的更高级的加密技术 - 与其他 MSFT 客户端隔离的专用 SQL VM。如果您被黑客入侵,您可以从脚本重新配置 VM - 如果您担心安全性(VPN 已加密),您可以在 MSFT 数据中心和本地网络之间使用虚拟网络连接

于 2013-11-07T22:17:17.520 回答