sql服务器安全加固
安装最新的mdac(http://www.microsoft.com/data/download.htm)
5.1 密码策略
由于sql server不能更改sa用户名称,也不能删除这个超级用户,所以,我们必须对这个帐号进行最强的保护,当然,包括使用一个非常强壮的密码,最好不要在数据库应用中使用sa帐号。新建立一个拥有与sa一样权限的超级用户来管理数据库。同时养成定期修改密码的好习惯。数据库管理员应该定期查看是否有不符合密码要求的帐号。比如使用下面的sql语句:
use master
select name,password from syslogins where password is null
5.2 数据库日志的记录
核数据库登录事件的"失败和成功",在实例属性中选择"安全性",将其中的审核级别选定为全部,这样在数据库系统和操作系统日志里面,就详细记录了所有帐号的登录事件。
5.3 管理扩展存储过程
xp_cmdshell是进入操作系统的最佳捷径,是数据库留给操作系统的一个大后门。请把它去掉。使用这个sql语句:
use master
sp_dropextendedproc ’xp_cmdshell’
注:如果你需要这个存储过程,请用这个语句也可以恢复过来。
sp_addextendedproc ’xp_cmdshell’, ’xpsql70.dll’
ole自动存储过程(会造成管理器中的某些特征不能使用),这些过程包括如下(不需要可以全部去掉:
sp_oacreate sp_oadestroy sp_oageterrorinfo sp_oagetproperty
sp_oamethod sp_oasetproperty sp_oastop
去掉不需要的注册表访问的存储过程,注册表存储过程甚至能够读出操作系统管理员的密码来,如下:
xp_regaddmultistring xp_regdeletekey xp_regdeletevalue xp_regenumvalues
xp_regread xp_regremovemultistring xp_regwrite
5.4 防tcp/ip端口探测
在实例属性中选择tcp/ip协议的属性。选择隐藏 sql server 实例。
请在上一步配置的基础上,更改原默认的1433端口。
在ipsec过滤拒绝掉1434端口的udp通讯,可以尽可能地隐藏你的sql server。
对网络连接进行ip限制
使用操作系统自己的ipsec可以实现ip数据包的安全性。请对ip连接进行限制,保证只有自己的ip能够访问,拒绝其他ip进行的端口连接。
通过以上的配置,禁止了服务器开放不必要的端口,防止服务被植入后门程序,通过配置目录权限可以防止入侵者拿到welshell后提权,加强了服务器的安全性,避免了对服务器的攻击和加强了TCP协议栈。通过iis的配置提高了iis的安全性和稳定性。修改了sql server的默认端口,可以防止恶意用户对服务器进行扫描尝试暴力破解sa账户提供数据库的安全性。对服务器实现了整体的安全加固。