SQL Azure 部署安全问题

标签 sql security azure

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

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

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

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

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

我做了一些研究,但无法从 Microsoft 找到这些问题的任何明确答案,这让我认为我们问了错误的问题。我对任何在这方面比我更有经验的人的见解感兴趣。

最佳答案

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

Encryption and Certificate Validation All communications between Windows Azure SQL Database and your application require encryption (SSL) at all times. If your client application does not validate certificates upon connection, your connection to Windows Azure SQL Database is susceptible to "man in the middle" attacks. To validate certificates with application code or tools, explicitly request an encrypted connection and do not trust the server certificates. If your application code or tools do not request an encrypted connection, they will still receive encrypted connections. However, they may not validate the server certificates and thus will be susceptible to "man in the middle" attacks. To validate certificates with ADO.NET application code, set Encrypt=True and TrustServerCertificate=False in the database connection string. For more information, see How to: Connect to Windows Azure SQL Database Using ADO.NET. SQL Server Management Studio also supports certificate validation. In the Connect to Server dialog box, click Encrypt connection on the Connection Properties tab. SQL Server Management Studio does not support Windows Azure SQL Database in versions prior to SQL Server 2008 R2.

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

关于SQL Azure 部署安全问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19778342/

相关文章:

php - 什么时候使用哪种字符串转义方法?

azure - 通过公共(public)IP将Logstash连接到Azure中的Kafka

azure - 监视 Azure 辅助角色诊断的最佳方式?

json - Azure 数据工厂 - 尝试将参数添加到 REST API 请求正文中的动态内容

mysql - 如何在 MySQL 中选择同一组随机行?

sql - 是否有一个函数可以返回负值排名。甲骨文

mysql - 如何使用 MYSQL 编写查询

javascript - 凭证更改后需要身份验证

Android 和无 XML

sql - 一次 INSERT ALL 中的最大行数