【安当产品应用案例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数据库的安全,防止数据泄露和未授权访问,确保业务的连续性和数据的完整性。

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

相关推荐
芷栀夏12 分钟前
基于Anything LLM的本地知识库系统远程访问实现路径
数据库·人工智能
软件20529 分钟前
【redis使用场景——缓存——数据淘汰策略】
数据库·redis·缓存
ChinaRainbowSea42 分钟前
9-2 MySQL 分析查询语句:EXPLAIN(详细说明)
java·数据库·后端·sql·mysql
时序数据说43 分钟前
Java类加载机制及关于时序数据库IoTDB排查
java·大数据·数据库·物联网·时序数据库·iotdb
deeper_wind1 小时前
MySQL数据库基础(小白的“升级打怪”成长之路)
linux·数据库·mysql
加勒比海涛1 小时前
Spring Cloud Gateway 实战:从网关搭建到过滤器与跨域解决方案
数据库·redis·缓存
belldeep1 小时前
java:如何用 JDBC 连接 TDSQL 数据库
java·数据库·jdbc·tdsql
格调UI成品3 小时前
预警系统安全体系构建:数据加密、权限分级与误报过滤方案
大数据·运维·网络·数据库·安全·预警
心平愈三千疾7 小时前
通俗理解JVM细节-面试篇
java·jvm·数据库·面试
我科绝伦(Huanhuan Zhou)9 天前
Oracle|Oracle SQL*Plus 配置上下翻页功能
数据库·sql·oracle