SQL Server 2005 MDF文件的安全性如何? (重新:安全)

时间:2010-02-02 18:30:10

标签: sql sql-server sql-server-2005

我们已经开始将SQL Server 2005 Express用于项目,我注意到每个数据库都有自己的MDF / LDF文件。每当我们需要复制我们的数据库(到另一个SQL Server)时,我们只需复制这些文件,然后将它们附加到数据库中。

然而,这让我想知道这些文件的安全性。如果来自外部的人获得了他们的副本,他们是加密的还是他们可以像我一样简单地附加到他们身上?我自己复制/附加密码时没有提示输入任何密码,所以我有点紧张。

谢谢, 约翰

1 个答案:

答案 0 :(得分:3)

它们未加密,可由具有MDF / LDF文件读取权限的任何人加载/附加。

如果需要保护实际的MDF文件,可以采取几种方法。 (这假设仅使用文件权限来锁定访问权限是不可行的,例如,如果您需要保护具有机器管理权限或直接HDD访问权限的用户。)

  1. 使用EFS或BitLocker或类似方法加密文件本身。这不会防止访问文件的同一会话/上下文中的其他应用程序,但它将防止访问文件的其他帐户(EFS)或窃取笔记本电脑/硬盘驱动器的人(EFS / BitLocker)。
  2. 加密数据库本身内的敏感数据。您显然希望单独存储加密密钥(例如,可能使用DPAPI来保护加密密钥)。 SQL Server 2008企业版引入了一项名为透明数据库加密(TDE)的功能,以简化此过程,但遗憾的是,对于2005或Express Edition来说,这显然无济于事。在这种情况下,您最好的选择可能是在应用中对敏感数据进行自定义加密。 (不幸的是在2005年,这将要求使用varbinary字段或Base64编码加密值等。)
  3. 不要首先在本地存储数据(即使用远程SQL Server而不是本地Express实例)。这并没有真正解决问题,但它减少了它(你只需要保护远程实例而不是N本地/快递副本)。