步骤:

1. 修改SA密码

SASQL Server默认的超级管理员,所以一定要确保SA密码的安全性。所以对于SA密码,长度至少8位,并且满足密码复杂性要求。如果有必要,可以修改SA的用户名。

2.删除或禁用不必要的账户

系统包含的默认用户,往往因为用户名公开,成为黑客攻击的目标。在SQL Server中,如果不希望系统管理员接触数据库的话,可以在把系统账号“BUILTIN\Administrators”删除。同时还有别的账号也可一同禁止。

屏蔽SQL Server常见漏洞_休闲

屏蔽SQL Server常见漏洞_Server_02

屏蔽SQL Server常见漏洞_数据库_03

屏蔽SQL Server常见漏洞_数据库_04

3.删除危险的存储过程

删除不必要的存储过程,因为有些存储过程很容易被人利用,用来提升权限或进行破坏。

例(1)关闭危险的存储过程

使用sac(外围应用配置器)打开xp_cmdshell功能

屏蔽SQL Server常见漏洞_漏洞_05

屏蔽SQL Server常见漏洞_休闲_06

执行以下代码,查看结果

exec xp_cmdshell 'mkdir d:\temps'

exec xp_cmdshell 'net share t=d:\temps /unlimited'

屏蔽SQL Server常见漏洞_休闲_07

屏蔽SQL Server常见漏洞_数据库_08

执行以下代码,查看结果

exec xp_cmdshell 'net share t /delete'

屏蔽SQL Server常见漏洞_漏洞_09

屏蔽SQL Server常见漏洞_数据库_10

关闭xp_cmdshell功能

屏蔽SQL Server常见漏洞_漏洞_11

(2) 运行外围应用配置禁用SQL Server功能

4.关闭不必要的网络连接和功能

使用外围应用配置器可以启用、禁用、开始或停止SQL Server 2005安装的一些功能、服务和远程连接

屏蔽SQL Server常见漏洞_数据库_12

屏蔽SQL Server常见漏洞_休闲_13

5.配置防火墙过滤指定端口访问

默认情况下,SQL Server会侦听1433UDP端口用于客户端与服务器间的协议。因此,也为攻击者提供了大量入侵机会,所以应该结合防火墙来限制对端口的访问。使用SQL Server配置管理器可以通过更改默认端口、配置命名实例来侦听同一端口,也可以隐藏端口。

6.禁用不必要的协议

? 禁用不需要使用的协议,减少网络攻击对象

? 减少监听的网卡和IP地址

屏蔽SQL Server常见漏洞_漏洞_14

屏蔽SQL Server常见漏洞_数据库_15

屏蔽SQL Server常见漏洞_漏洞_16

? 改变监听端口号

微软提供的客户端驱动程序默认情况下是通过动态扫描选择SQL Server服务器上的端口。所以修改端口后,一般不会影响客户端的连接。

7.加密数据

? 创建证书

? 创建测试表,指定要加密的列

? 使用加密函数向测试表中写入测试数据

? 利用SQL语句来提取加密的数据

? 利用SQL 语句来解密数据

8.定期安装补丁