【问题标题】:SQL Azure deployment security concernsSQL Azure 部署安全问题
【发布时间】:2013-11-04 22:18:35
【问题描述】:

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

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

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

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

我相信第一个问题的关注点是,用于管理 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 将简单地拒绝未加密的 任何 连接尝试。让你的“安全部门”。仔细阅读文档,并根据需要进行测试。如果一个人是真正的安全专家,那么检测给定连接是否加密非常容易......
  • 这是我们在文档中并不清楚的一点。我确实进行了测试,并验证了我们这边的每个连接都是加密的,并将其传达给我们的安全部门。再次感谢您的洞察!

标签: sql security azure


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2014-01-24
      • 1970-01-01
      • 1970-01-01
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      • 2010-11-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多