防御公司网络内部的Azure SQL数据泄漏

时间:2018-09-03 09:32:51

标签: azure-sql-database azure-virtual-network azure-security

我对公司网络中的DLP(数据泄漏防护)有疑问。

我在公司网络上有一个虚拟机。虚拟机可以通过端口1433上的连接访问aaa.database.windows.net云中的Azure SQL数据库。

但是,我不希望同一台VM连接到bbb.database.windows.net。

Azure不对公共IP提供任何保证(两个服务器可能都显示为相同的IP)-我可以在公司的外围网络/防火墙上使用哪些技术来允许访问aaa,但不允许访问bbb?

我担心的攻击是公司内部某人从aaa中查询数据并将其插入到bbb中。例如,如果一台服务器是ourcorporatedate.database.windows.net,另一台是somerandom.database.windows.net,则公司内部的某人可以获取公司数据并将其写入某个随机数据库。

谢谢

3 个答案:

答案 0 :(得分:0)

您可以使用虚拟网络服务端点和规则。虚拟网络规则是一种防火墙安全功能,它控制您的Azure SQL数据库服务器或SQL Data Warehouse服务器是否接受从虚拟网络中的特定子网发送的通信。在this文档中了解如何使用它以及优点/限制。

答案 1 :(得分:0)

如果数据库aaa和bbb具有相同的公用IP地址。我认为没有一种在内部防火墙中设置允许访问aaa但拒绝访问bbb的好方法。来自同一客户端的防火墙规则将具有相同的源IP,协议,端口和目标IP,以用于出站流量。

如果要选择性地仅授予对Azure SQL服务器中数据库之一的访问权限,则只能为所需数据库创建数据库级规则。另外,为数据库防火墙规则指定的IP地址范围超出服务器级防火墙规则中指定的IP地址范围,并确保客户端的IP地址落在数据库级规则中指定的范围内。服务器级别规则允许访问Azure SQL Server。这意味着客户端将有权访问该SQL Server上存储的所有数据库。请参阅此doc

答案 2 :(得分:0)

SQL Azure中当前的VPN功能并不能直接阻止(但是请在计划用于SQL Azure服务终结点功能的地方寻找将来的更新)。但是,可以使用多种缓解措施来检测或降低执行此操作的能力:

  1. 您可以在aaa数据库上启用审核。这可以检测到数据库的所有登录名和主要状态更改。 (检测)
  2. 您可以将数据库上各种用户的权限降低到最低限度,并使用可以进一步减少客户可以从数据库中复制出的数据大小的功能。这包括行级安全性,数据屏蔽,始终加密(您可以将其锁定到特定的应用程序/用户,以便能够解密客户端中的敏感数据-其他没有密钥的客户端只是获得超文本)等。
  3. 使用防火墙规则(如其他答案所述)来限制哪些客户端可以完全连接到数据库-然后,您可以限制它们可以使用权限连接的位置。

请注意,SQL Azure的逻辑服务器通常并不意味着该服务器中的每个客户数据库都具有相同的IP。当前,服务端点中有一个旋钮(文档页面当前处于关闭状态,因此我无法为您提供链接atm)以配置是否通过每个区域网关。如果不这样做(建议),您将看到托管节点的IP,并且该IP会随着时间而变化。服务端点功能将为VPN用户提供更多控制权,以控制未来的网络级规则,但是其中一些功能尚未投入生产。我鼓励您通过其他步骤(上文)进行缓解,直到您可以使用为止。