APP下载

SQL Server文件的保护

2017-03-08

网络安全和信息化 2017年4期
关键词:备份文件黑客备份

加密SQL Server备份文件

近年来在网络经常会看到一些网站的泄密事件,导致大量的用户资料泄露,究其原因,很大程度上就在于数据库备份文件被盗取造成的。

在SQL Server 2012之前的版本中,在Backup备份语句中,可以定义备份集密码。使用密码可以防止别人使用SQL Server工具在未经授权的情况下,执行数据库还原操作。但是,这仅仅是给备份附加了一个密码,并没有对备份数据进行加密。TDE可以加密整个数据库,当然也可以加密备份文件。不过单单使用TDE来加密备份文件,又显得有些大材小用。

在SQL Server 2014中,如果使用SQL Server 2014的原生备份加密,则无需对整个数据库进行加密,备份仅仅在被写入磁盘之前加密。如果将原生备份加密功能和备份压缩工相结合,可以先压缩再加密,不仅可以保护备份文件安全而且可以减小备份文件体积,可谓一举两得。这里还以上述“Clientzl”数据库为例,首先按照上述方法创建数据库主密钥,执行“CREATE CERTIFICATE ClientbkCert WITH SUBJECT = 'Backup Encryption Certificate'”,“Go”语句,创建所需的证书。注意,必须在Matser数据库下创建证书。

执 行“B A C K U P CERTIFICATE ClientbkCert TO FILE = 'd:zhengshuClientzlCert.cer”,“Go”语句,将证书导出。执行“BACKUP DATABASE C l i e n t z l T O D I S K='C:dataClientzl_Encrypted.bak' WITH COMPRESSION, ENCRYPTION(ALGORITHM = AES_256,SERVER CERTIFICATE =ClientbkCert)”语句,就可以将数据库备份进行加密处理。

在还原时,可以执行“USE master”,“RESTORE DATABASE Clientzl FROM DISK = 'C:dataClientzl_Encrypted.bak' WITH REPLACE”语句,就可以将其还原。如果在其他的SQL Server实例上进行还原,则必须按照上述方法将证书备份出来,然后在目标主机上执行导入证书操作,之后才可以执行数据库还原操作。

防御SQL Server注入攻击

实际对于使用SQL Server作为后台数据的网站来说,如果网站代码存在注入漏洞的话,黑客就会使用各种注入工具对其进行SQL注入攻击,对于经验丰富的黑客来说,甚至可以徒手进行注入攻击。一旦让其得手,对网站的安全就会造成极大的威胁。例如,黑客可以猜解到后台数据库管理员密码。并冒充管理员登录到网站后台,上传木马并提升权限,对服务器进行各种攻击。或者利用注入漏洞,执行各种危险的命令,打开远程桌面服务,创建黑客账户,进而控制整个服务器。

SQL注入攻击的原理很简单,因为是网站程序没有对用户提交的数据的合法性进行准确判断造成的。防范SQL注入攻击的方法有很多,例如对用户提交的数据进行严格的验证和过滤,对可疑数据(包括特殊字符,敏感的SQL关键字等)进行替换,当对用户输入的内容进行过滤后,可以大大降低攻击风险。使用存储过程,利用参数来传送用户提交的数据并通过对参数的数据类型进行严格的定制,可以有效过滤各种恶意数据,使其无法提交执行。

为了提高安全性,还可以在客户端进行输入合法性检查,限制其输入长度,对应用程序使用的账号进行严格的权限管理,例如不要将SA账户随意交由用户使用等。

猜你喜欢

备份文件黑客备份
“备份”25年:邓清明圆梦
多少个屁能把布克崩起来?
欢乐英雄
文件智能备份好助手
继电保护装置意外掉电的保护措施研究
网络黑客比核武器更可怕
iPhone备份文件加密模式及安全性研究
浅析数据的备份策略
出版原图数据库迁移与备份恢复
巧用WinRAR轻松分类备份文件