【问题标题】:SQL 2005 Security Best PracticesSQL 2005 安全最佳实践
【发布时间】:2011-08-18 06:30:53
【问题描述】:

加密 SQL 2005 数据库的最佳方法是什么?

我发现了有关 SQL 2008 的内容,并且我已经了解了如何在 SQL 2005 中进行列加密 - 但访问表值似乎更困难,因为您需要创建一个函数或一个视图/存储程序。

我还尝试通过使用 Windows 加密(通过证书)来加密保存数据库文件的文件夹来实现文件级别的安全性,但是 SQL Server Management Studio 给了我权限错误(即使我给了它权限)。

我需要保护我们服务器上的客户端数据,并且我需要以一种不会让我们的服务器太慢的方式来做这件事,尽管我知道由于加密带来的额外层,这是不可避免的。

是我遗漏了什么,还是我错了?请指教。

【问题讨论】:

    标签: database sql-server-2005 encryption


    【解决方案1】:

    升级到 SQL Server 2008 并使用 Transparent Database Encryption。与 SQL Server 2005 的列级加密不同,顾名思义,2008 TDE 是透明的。无需更改应用程序。此外,数据是可搜索的,这始终是可取的,但使用列加密或客户端加密很难实现。

    文件级加密实际上不适用于 SQL Server。但是,BitLocker 确实适用于 SQL Server,因此使用 BitLocker 加密整个卷是另一种可行的选择。

    【讨论】:

    • 升级到 2008 是显而易见的答案,如果可以的话,我会这样做。 TDE 是理想的,但该项目没有更新到 2008 年的预算。另一方面,我将调查 BitLocker,看看我能收集什么。
    【解决方案2】:

    如果您不想降低服务器速度,您可以使用客户端对数据进行动态加密和解密。以序列化和/或加密方式将数据存储在数据库中。这种事情网上有很多例子。

    为您的数据创建一个包装器,如下所示:

    Wrap(
     Zip (
      Base64 Encode (
         Encrypt (
           Serialize(
              DATA
           )
         )
      )
     )
    )
    

    那么,

    StoreInDB(
        WrappedData
    )
    

    【讨论】:

      猜你喜欢
      • 2010-09-28
      • 1970-01-01
      • 2013-06-19
      • 2014-01-17
      • 2011-01-26
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多