SQLServer 安全检查列表
时间:2007-12-23 来源:不详 作者:迈克DB
2.评估并且选择一个考虑到最大的安全性但是同时又不影响功能的网络协议。多协议是明智的选择,但是它有时不能在异种的环境中使用。
3.给"sa"和"probe"帐户设定强壮的密码来加强其安全性。设定一个强壮的密码并将其保存在一个安全的地方。注重:probe帐户被用来进行性能分析和分发传输。当在标准的安全模态中用的时候,给这个帐户设定高强度的密码能影响某些功能的使用。
4.使用一个低特权用户作为SQL服务器服务的查询操作账户,不要用LocalSystem或sa。这个帐户应该有最小的权利(注重作为一个服务运行的权利是必须的)和应该包含(但不停止)在妥协的情况下对服务器的攻击。注重当使用企业治理器做以上设置时,文件,注册表和使用者权利上的ACLs同时被处理。
5.确定所有的SQL服务器数据,而且系统文件是装置在NTFS分区,且appropraiteACLs被应用。假如万一某人得到对系统的存取操作权限,该层权限可以阻止入侵者破坏数据,避免造成一场大灾难。
6.假如不使用Xp_cmdshell就关掉。假如使用SQL6.5,至少使用ServerOptions中的SQLExecutieCmdExec账户操作限制非sa用户使用XP_cmdshell. 织梦好,好织梦
在任何的isql/osql窗口中(或查询分析器):
usemaster
execsp_dropextendedproc’xp_cmdshell’
假如你不需要xp_cmdshell那请停用它。请记住一个系统系统治理员假如需要的话总是能把它增加回来。这也好也不好-一个侵入者可能发现它不在,只需要把他加回来。考虑也除去在下面的dll但是移除之前必须测试因为有些dll同时被一些程序所用。要找到其他的程序是否使用相同的dll:
首先得到该dll。
selecto.name,c.textfromdbo.syscommentsc,dbo.sysobjectsowherec.id=o.idando.name=’xp_cmdshell’
其次,使用相同的dll发现其他的扩展储存操作是否使用该dll。
selecto.name,c.textfromdbo.syscommentsc,dbo.sysobjectsowherec.id=o.idandc.text=’xplog70.dll’
用户可以用同样的办法处理下面步骤中其他你想去掉的进程。
7.如不需要就停用对象连接与嵌入自动化储存程序(警告-当这些储存程序被停用的时候,一些企业治理器功能可能丢失).这些包括:
Sp_OACreate
Sp_OADestroy
Sp_OAGetErrorInfo
Sp_OAGetProperty
Sp_OAMethod
Sp_OASetProperty
Sp_OAStop
假如你决定停用该进程那么请给他们写一个脚本这样在以后你用到他们的时候你能够把他们重新添加回来。记住,我们在这里正在做的是锁定一个应用程序的功能-你的开发平台应该放到其他机器上。 织梦好,好织梦
8.禁用你不需要的注册表存取程序。(同上面的警告)这些包括:
Xp_regaddmultistring
Xp_regdeletekey
Xp_regdeletevalue
Xp_regenumvalues
Xp_regremovemultistring
注重:我过去一直在这里列出xp_regread/xp_regwrite但是这些程序的移除影响一些主要功能包括日志和SP的安装,所以他们的移除不被推荐。
9.移除其他你认为会造成威胁的系统储存进程。这种进程是相当多的,而且他们也会浪费一些cpu时间。小心不要首先在一个配置好的服务器上这样做。首先在开发的机器上测试,确认这样不会影响到任何的系统功能。在下面是我们所推荐的有待你评估的一些列表:
sp_sdidebug
xp_availablemedia
xp_cmdshell
xp_deletemail
xp_dirtree
xp_dropwebtask
xp_dsninfo
xp_enumdsn
xp_enumerrorlogs
xp_enumgroups
xp_enumqueuedtasks
上一篇:DB2 UDB V8.1管理学习笔记(一) 下一篇:SQL注入攻击通杀
文章评论
共有位Admini5网友发表了评论 查看完整内容