加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 保护SQL Server 2008R2数据库

发布时间:2020-12-16 07:02:56 所属栏目:asp.Net 来源:网络整理
导读:我们将开发一个ASP.NET应用程序.它将数据存储在SQL Server 2008 R2安装中.大多数数据都很敏感,因此安全性是首要考虑因素. 我们将在共享环境中托管它,并且设计目标是在盗窃的情况下数据应该是不可读的. 我在考虑以下设置: 使用TDE加密整个数据库.用户在SQL S
我们将开发一个ASP.NET应用程序.它将数据存储在SQL Server 2008 R2安装中.大多数数据都很敏感,因此安全性是首要考虑因素.
我们将在共享环境中托管它,并且设计目标是在盗窃的情况下数据应该是不可读的.

我在考虑以下设置:
使用TDE加密整个数据库.用户在SQL Server用户表中创建,当用户通过Web界面登录时,我们会对此进行身份验证.
目的是如果有人进入数据库,他们将无法使用数据.并且不需要将具有用户凭证的连接字符串存储在web.config文件中.

你觉得这种方法有什么缺点吗?如上所述,对SQL Server进行身份验证有多容易?

解决方法

我不认为在共享环境中使用TDE是个好主意.

它的整个想法是使用您的INTERNAL上的加密主密钥(或证书的私钥)对外部用户进行加密/解密TRANSPARENT,由您,服务器保护并防止在另一台服务器上恢复加密数据库键.
但共享托管服务器不是您的服务器,您无法控制对它的访问,甚至更频繁地甚至更改或写入系统文件夹/文件或数据库.你应该咨询你的主机.
但是,如果一个共享主机客户端将被给予例外,那么将有另一个,分别访问共同系统受限功能和区域.

无论如何,来自hoster sysadmins或roundabout worker的任何人都可以使用您的主密钥访问您的数据库,以便在另一台服务器上恢复和读取它.

然后,TDE是SQL Server企业版的功能,共享主机通常提供Express Editions.分享Enterprise Ed没有多大意义.服务器

更新:@Martin Wiboe,
我不确定我是否遵循了您的目标和您所询问的内容.

数据库加密密钥使用服务主密钥加密(后者受Windows DPAPI保护)但在碎片环境中没有任何意义,因为内存和线路上的数据未加密且主服务密钥是例如(服务器).
因此,它应该在共享主机上的所有用户之间共享.
您无法“锁定”/“解锁”密钥,因为它是透明数据加密!
请注意,如果其中一个数据库是TDE-ed,那么tempdb系统数据库将被加密.这对共享主机没有多大意义.

1)
软件生成的密钥是可破解的,这只是持久性/期望与时间阈值的关系.
只有硬件生成和硬件存储密钥才能确保真正的安全性.因此,共享主机不在考虑之列
2)
您可能需要考虑放弃DBMS加密并在客户端加密数据.
虽然这种方法的缺点是您无法使用SQL Server进行搜索,优化服务器端的传输,处理等.那么,这样的DBMS有什么意义呢?

最终,这一切归结为使用共享托管服务器没有多大意义

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读