【安当产品应用案例100集】028-实现SQL Server数据库的透明加密

数据库是企业的重要资产,涉及多个方面的核心利益。为了帮助保护用户数据库的安全,可以采取以下预防措施:

  • 设计安全的系统
  • 对机密资产加密
  • 在数据库服务器外围构建防火墙

但恶意方如果窃取了硬盘或备份磁带等物理介质,就可以还原或附加数据库并浏览其数据。对此,TDE 可以防止恶意方尝试还原被盗的数据库文件,例如数据、日志、备份、快照和数据库副本。

一、TDE实现原理

在SQL Server数据库上启用 TDE 后,所有脱机数据库文件都使用指定的密钥进行加密,当数据库打开时,内存中的数据会被解密。同时,TDE还可对操作系统,也就是服务器上的用户做权限控制,预防高权限用户拷贝或移动数据,从而避免数据泄漏。整个过程中,用户不需要对应用程序进行任何更改,即可使用我们的安当TDE透明加密实现对数据库的保护。

二、透明加密步骤

使用安当TDE实现SQL Server数据库加密的步骤如下:

1.部署TDE客户端

在数据库服务器上安装TDE客户端软件,通常只需简单的安装步骤即可完成。

2.注册TDE客户端

安装完毕后,需要配置KSP服务地址及注册令牌以建立通信。注册成功后,TDE客户端便能够与KSP进行通信。

客户端注册成功:

3.确定数据的表空间存储位置

SQL Server的数据都是以库文件形式存储,此处我们需要加密的库为andang.mdf

4.配置加密策略

在KSP端创建自定义加密策略,包括定义资源集、用户集、进程集、安全规则以及密钥规则等元素。

  • 资源集:需加密的数据资源(如andang.mdf)
  • 用户集:与计算机系统进行交互的用户的集合(如Operator、backup、Admin等)
  • 进程集:指定用于加密和解密操作的系统进程(如记事本、数据库进程等)
  • 安全规则:控制用户访问权限
  • 密钥规则:用于文件加解密的密钥

在示例策略中,策略通过配置实现资源集,即我们指定的数据表的加密存储。配置操作系统用户Operator拥有所有操作权限,backup用户拥有复制及查看密文的权限,其余所有用户(包括Admin),都不允许对加密数据文件做任何操作。

5.下发保护点

创建并下发保护点,即指定要加密的文件或目录集合。通过合理配置保护点,可以确保关键数据在客户端上获得全面的加密保护。

保护点下发成功后,加密策略会自动推送到TDE客户端。随后,TDE客户端将策略转发至底层驱动程序进行解析,并根据策略对指定的资源集和本地应用进程实施加密和权限控制操作。至此,SQL Server数据库加密所需的五个步骤均已完成。接下来,我们将展示策略下发后的实际效果。

三、加密效果验证

1.使用具有全部操作权限的Operator用户访问加密文件,能正常访问

2.使用只能看见密文的backup用户访问加密文件,访问成功,且只能看见密文

3.使用没有任何权限的Admin用户访问加密文件,被拒绝访问

4.打开数据库连接工具操作数据库,数据库服务正常运行,未受任何影响

四、数据完整性校验

通过TDE的透明加密机制,数据库实例文件在存储过程中始终处于加密状态,即便是在静止状态下也能有效抵御未授权访问的风险。更重要的是,TDE内置了数据完整性校验功能,可以在每次读取或写入数据时自动进行校验,确保数据在传输和存储过程中未被篡改。

五、数据库性能影响评估

在启用安当TDE加密后,我们进行了大量测试,结果显示加密后对数据库操作的性能损耗较小,具体损耗如下:

以上就是安当TDE对SQL Server数据库实现保护的步骤。希望通过这篇文章,能为您提供一定的指导,帮助您有效地保护SQL Server数据库的安全,防止数据泄露和未授权访问,确保业务的连续性和数据的完整性。

文章作者:久洋 ©本文章解释权归安当西安研发中心所有

相关推荐
问道飞鱼1 小时前
【知识科普】认识正则表达式
数据库·mysql·正则表达式
HaiFan.2 小时前
SpringBoot 事务
java·数据库·spring boot·sql·mysql
水根LP492 小时前
linux系统上SQLPLUS的重“大”发现
数据库·oracle
途途途途2 小时前
精选9个自动化任务的Python脚本精选
数据库·python·自动化
04Koi.3 小时前
Redis--常用数据结构和编码方式
数据库·redis·缓存
silver98863 小时前
mongodb和Cassandra
数据库
PersistJiao3 小时前
3.基于 Temporal 的 Couchbase 动态 SQL 执行场景
数据库·sql
上山的月3 小时前
MySQL -函数和约束
数据库·mysql
zhcf3 小时前
【MySQL】十三,关于MySQL的全文索引
数据库·mysql
极限实验室3 小时前
Easysearch Chart Admin 密码自定义
数据库