SQL Server的安全配置
除跟着微软打满所有补丁外,还需要加强数据库的安全。
首先,你需要加强象sa这样的账号的密码,跟系统账号的使用配置相似,一般操作数据库不要使用像“sa”这样的最高权限的账号,而使用能满足你的要求的一般账号。
接着对扩展存储过程开始大屠杀,首先就是xp_cmdshell,还有就是上面那些一大堆存储过程,都drop吧,一般也用不着。
执行:
use master
sp_dropextendedproc ’xp_cmdshell’
去掉guest账号,阻止非授权用户访问。去掉不必要的网络协议。
加强对数据库登陆的日志记录,最好记录所有登陆事件。可以用下面的简单DOS命令来查看日志:
findstr /C:"登录" d:\Microsoft SQL Server\MSSQL\LOG\*.*
用管理员账号定期检查所有账号,是否密码为空或者过于简单,比如下面的语句:
Use master
Select name,Password from syslogins where password is null
用下面语句对所有账号,检查对存储过程和扩展存储过程的执行权,提防不必要的执行权限扩散:
Use master
Select sysobjects.name From sysobjects, sysprotects
Where sysprotects.uid = 0 AND xtype IN (’X’,’P’) A
ND sysobjects.id = sysprotects.id
加强数据库的安全是非常重要的,有的数据库服务器是和WEB服务器隔离开的,这就同MAIL服务器一样,数据库的日志可能就基本很少去查看,这将会成为管理员的一个疏忽点。类似DNS、MAIL等等,数据库服务器往往成为各种入侵的跳板。
文章来源于领测软件测试网 https://www.ltesting.net/