Chapter 1 Securing Your Server and Network(11):使用透明数据库加密
未经作者允许,不论什么人不得以“原创”形式公布,也不得已用于商业用途,本人不负责不论什么法律责任。
前一篇:http://blog.csdn.net/dba_huangzj/article/details/38368737
前言:
假设没有对数据库文件(MDF/LDF等)做权限控制。攻击者能够把这些文件复制走,然后附加到自己机器上进行分析。
第一层保护就是对SQL Server文件所在的NTFS文件系统进行权限管控。
假设希望进一步保护数据库,能够使用透明数据库加密(Transparent Database Encryption,TDE),这个功能能够保护相应数据库的全部文件,无论有多少个文件。
由于文件已经加密。即使这些文件被复制走,假设没有数据库主密钥,也一样不能使用。同一时候,这样的加密不影响用户对数据库的使用。开发者不须要对此做额外的工作。
须要注意。仅仅有开发版、且一般和数据中心版才支持TDE。
实现:
1. 创建server加密主密钥:
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '强password';
2. 立即备份主密钥,并放到安全的地方,假设丢失了主密钥,将导致自己都无法使用:
BACKUP MASTER KEY TO FILE = '\\path\SQL1_master.key' ENCRYPTION BY
PASSWORD = '强password';
当中password必须复合Windows 安全策略要求。而且SQL Server服务帐号要有对相应文件夹的写权限。
3. 在Master库中创建server证书:
CREATE CERTIFICATE TDECert WITH SUBJECT = 'TDE Certificate';
4. 备份证书:
BACKUP CERTIFICATE TDECert TO FILE = '\\path\SQL1_TDECert.cer'
WITH PRIVATE KEY (
FILE = '\\path\SQL1_TDECert.pvk',
ENCRYPTION BY PASSWORD = '另外一个强password'
);
原文出处:http://blog.csdn.net/dba_huangzj/article/details/38398813
5. 创建相应数据库的数据库加密密钥:
USE 目标数据库;
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_128
ENCRYPTION BY SERVER CERTIFICATE TDECert; --TDECert为证书名
原文出处:http://blog.csdn.net/dba_huangzj/article/details/38398813
6. 启用数据库加密:
ALTER DATABASE 目标数据库 SET ENCRYPTION ON;
原理:
TDE自己主动加密磁盘上的数据和日志文件,不须要对数据库额外改动。而且能够加密全部数据库或日志备份。实现方式也非常easy。
对于加密算法,通常能够使用AES_128/192/256 或者Triple_des_3key。
当中TRIPLE-DES强度更高。
可是可能影响性能。
对于TDE的性能分析,能够訪问这篇文章:http://www.databasejournal.com/features/mssql/article.php/3815501/Performance-Testing-SQL-2008146s-Transparent-Data-Encryption.htm(Performance Testing SQL 2008's Transparent Data Encryption。SQL Server 2008 TDE/透明数据库加密性能測试)。
假设须要还原加密后的数据库文件到另外一台server,须要首先还原证书到目标server:
USE master;
CREATE CERTIFICATE TDECert FROM FILE = '\\path\SQL1_TDECert.cer'
WITH PRIVATE KEY (
FILE = '\\path\SQL1_TDECert.pvk',
DECRYPTION BY PASSWORD = 'password'
);
原文出处:http://blog.csdn.net/dba_huangzj/article/details/38398813
然后就能開始还原数据库或日志文件。
下一篇:http://blog.csdn.net/dba_huangzj/article/details/38438363
Chapter 1 Securing Your Server and Network(11):使用透明数据库加密的更多相关文章
- Chapter 1 Securing Your Server and Network(5):使用SSL加密会话
原文:Chapter 1 Securing Your Server and Network(5):使用SSL加密会话 原文出处:http://blog.csdn.net/dba_huangzj/art ...
- Chapter 1 Securing Your Server and Network(10):使用扩展保护避免授权中继攻击
原文:Chapter 1 Securing Your Server and Network(10):使用扩展保护避免授权中继攻击 原文出处:http://blog.csdn.net/dba_huang ...
- Chapter 1 Securing Your Server and Network(9):使用Kerberos用于身份验证
原文:Chapter 1 Securing Your Server and Network(9):使用Kerberos用于身份验证 原文出处:http://blog.csdn.net/dba_huan ...
- Chapter 1 Securing Your Server and Network(8):停止未使用的服务
原文:Chapter 1 Securing Your Server and Network(8):停止未使用的服务 原文出处:http://blog.csdn.net/dba_huangzj/arti ...
- Chapter 1 Securing Your Server and Network(7):禁用SQL Server Browse
原文:Chapter 1 Securing Your Server and Network(7):禁用SQL Server Browse 原文出处:http://blog.csdn.net/dba_h ...
- Chapter 1 Securing Your Server and Network(6):为SQL Server访问配置防火墙
原文:Chapter 1 Securing Your Server and Network(6):为SQL Server访问配置防火墙 原文出处:http://blog.csdn.net/dba_hu ...
- Chapter 1 Securing Your Server and Network(4):使用虚拟服务帐号
原文:Chapter 1 Securing Your Server and Network(4):使用虚拟服务帐号 原文出处:http://blog.csdn.net/dba_huangzj/arti ...
- Chapter 1 Securing Your Server and Network(3):使用托管服务帐号
原文:Chapter 1 Securing Your Server and Network(3):使用托管服务帐号 原文出处:http://blog.csdn.net/dba_huangzj/arti ...
- Chapter 1 Securing Your Server and Network(1):选择SQL Server运行账号
原文:Chapter 1 Securing Your Server and Network(1):选择SQL Server运行账号 原文出处:http://blog.csdn.net/dba_huan ...
随机推荐
- 【HDOJ】4317 Unfair Nim
基本的状态压缩,想明白怎么dp还是挺简单的.显然对n个数字进行状态压缩,dp[i][j]表示第i位状态j表示的位向高位产生了进位. /* 4317 */ #include <iostream&g ...
- bzoj3572
通过这题我知道了一个鬼故事,trunc(ln(128)/ln(2))=6……以后不敢轻易这么写了 好了言归正传,这题明显的构建虚树,但构建虚树后怎么树形dp呢? 由于虚树上的点不仅是议事会还有可能是议 ...
- vijos 1563 疯狂的方格取数
P1653疯狂的方格取数 Accepted 标签:天才的talent[显示标签] 背景 Due to the talent of talent123,当talent123做完NOIP考了两次的二取 ...
- CentOS下防火墙的基本操作命令
CentOS 配置防火墙操作实例(启.停.开.闭端口): 注:防火墙的基本操作命令: 查询防火墙状态: [root@localhost ~]# service iptables status< ...
- Imageview使用记录
1. imageView清除背景 原文网址:http://blog.csdn.net/lzq1039602600/article/details/40393591 两种清除 imageView的背景 ...
- 【转】Android底层库和程序
原文网址:http://blog.csdn.net/louiswangbing/article/details/6616202 Android底层库和程序 1. 本地实现的基本结构 Andro ...
- 13、Android的多线程与异步任务
课程目标:学习Android中异步操作的三大方式 重点难点:Handler与线程的关系 Handler消息队列的实现 考核目标: 使用Handler是异步的,它会建立新线程么? no Handle ...
- 27、Service
1服务可以通过startservice的方法 开启.通过stopservice的方法 停止. 服务有一个特点: 只会一次onCreate()方法一旦被创建出来,以后oncreate() 就不会再被执行 ...
- selenium+testNG+Ant
好几天没写了,抽时间写下,也好有个总结: 1.selenium+testNG+Ant (1)ant 是构建工具 他的作用就是运行你配置好的东西 而tentng.xml你可以认为他是管理test的一个配 ...
- 无状态、REST、RESTful 和 Web Services【整理】
在理解 OpenStack 的过程中,常常遇到 REST 这个概念,现从各处搜罗如下: 对 Web Service 的理解: Web 服务有点像对计算机友好的网页,基于让程序可以跨网络交换信息的标准和 ...