30步检查SQL Server安全列表.docx

上传人:b****5 文档编号:6993127 上传时间:2023-01-15 格式:DOCX 页数:5 大小:18.66KB
下载 相关 举报
30步检查SQL Server安全列表.docx_第1页
第1页 / 共5页
30步检查SQL Server安全列表.docx_第2页
第2页 / 共5页
30步检查SQL Server安全列表.docx_第3页
第3页 / 共5页
30步检查SQL Server安全列表.docx_第4页
第4页 / 共5页
30步检查SQL Server安全列表.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

30步检查SQL Server安全列表.docx

《30步检查SQL Server安全列表.docx》由会员分享,可在线阅读,更多相关《30步检查SQL Server安全列表.docx(5页珍藏版)》请在冰豆网上搜索。

30步检查SQL Server安全列表.docx

30步检查SQLServer安全列表

30步检查SQLServer安全列表

1.确认已经安装了NT/2000和SQLServer的最新补丁程序,不用说大家应该已经安装好了,但是我觉得最好还是在这里提醒一下。

  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'

  对SQLExecutiveCmdExec的详细情况请查看下列文章:

  

  如果你不需要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.如不需要就停用对象连接与嵌入自动化储存程序(警告-当这些储存程序被停用的时候,一些企业管理器功能可能丢失).如果你决定停用该进程那么请给他们写一个脚本这样在以后你用到他们的时候你能够把他们重新添加回来。

记住,我们在这里正在做的是锁定一个应用程序的功能-你的开发平台应该放到其他机器上。

  8.禁用你不需要的注册表存取程序。

(同上面的警告)这些包括:

  Xp_regaddmultistring

  Xp_regdeletekey

  Xp_regdeletevalue

  Xp_regenumvalues

  Xp_regremovemultistring

  注意:

我过去一直在这里列出xp_regread/xp_regwrite但是这些程序的移除影响一些主要功能包括日志和SP的安装,所以他们的移除不被推荐。

  9.移除其他你认为会造成威胁的系统储存进程。

这种进程是相当多的,而且他们也会浪费一些cpu时间。

小心不要首先在一个配置好的服务器上这样做。

首先在开发的机器上测试,确认这样不会影响到任何的系统功能。

  10.在企业管理器中"安全选项"之下禁用默认登录。

(只有SQL6.5)当使用整合的安全时候,这使未经认可的不在syslogins表中使用者无权登陆一个有效的数据库服务器。

  11.除去数据库的guest账户把未经认可的使用者据之在外。

例外情况是master和tempdb数据库,因为对他们guest帐户是必需的。

  12.若非必须,请完全地禁用SQL邮件功能。

它的存在使潜在的攻击者递送潜在的trojans,病毒或是简单实现一个DOS攻击成为可能

  13.检查master..Sp_helpstartup看有无可疑的木马进程。

确定没有人已经在这里放置秘密的后门程序。

使用Sp_unmakestartup移除任何可疑进程。

  14.检查master..Sp_password看有无trojan代码。

比较你的产品scripts和一个新安装的系统的默认scripts而且方便的保存。

  15.记录所有的用户存取访问情况。

从企业管理器做这些设定或通过以sa登陆进入查询分析器的下列各项:

  xp_instance_regwriteN'HKEY_LOCAL_MACHINE',N'SOFTWAREMicrosoftMSSQLServerMSSQLServer',N'AuditLevel',REG_DWORD,3

  16.重写应用程序使用更多用户定义的储存和察看进程所以一般的对表的访问可以被禁用。

在这里你也应该看到由于不必经常进行查询计划操作而带来的性能提升。

  17.除去不需要的网络协议。

  18.注意SQL服务器的物理安全。

把它锁在固定的房间里,并且注意钥匙的安全。

只要有机会到服务器面前,就总是会找到一个方法进入。

  19.建立一个计划的任务运行

  findstr/C:

"LoginFailed"mssql7log*.*'

  然后再重定向输出到一个文本文件或电子邮件,因此你监测失败的登录尝试。

这也为系统管理员提供一个好的记录攻击的方法。

也有很多用来分析NT日志事件的第三者工具。

注意:

你可能需要将路径换成你安装SQL的路径。

  20.设定非法访问和登陆失败日志警报。

到企业管理器中的"ManagersqlserverMessages"搜寻任何有关无权访问的消息(从查找"loginfailed"和"denied"开始).确定你所有感兴趣的信息被记录到事件日志。

然后在这些信息上设定警报,发送一个电子邮件或信息到一个能够对问题及时响应的操作员。

  21.确定在服务器和数据库层次上的角色都只被授给了需要的用户。

当sqlserver安全模型7有许多增强的时候,它也增加额外的许可层,我们必须监控该层,确定没有人被授予了超过必需的权限。

  22.经常检查组或角色全体会员并且确定用组分配权限,这样你的审计工作能够简化。

确定当你在的时候,公众的组不能从系统表执行选择操作。

  23.花些时间审计用空密码登陆的请求。

使用下面的代码进行空密码检查:

  使用主体

  选择名字,

  password

  fromsyslogins

  wherepasswordisnull

  orderbyname

  24.如果可能,在你的组织中利用整合的安全策略。

通过使用整合的安全策略,你能够依赖系统的安全,最大简化管理工作从维护二个分开的安全模型中分离开来。

这也不让密码接近连接字串。

  25.检查所有非sa用户的存取进程和扩充存储进程的权限。

使用下面的查询定期的查询哪一个进程有公众存储权限。

(在SQLServer中使用"type"而不是"xtype"):

  Usemaster

  selectsysobjects.name

  fromsysobjects,sysprotects

  wheresysprotects.uid=0

  ANDxtype在('X','P')

  ANDsysobjects.id=sysprotects.id

  Orderbyname

  26.当时用企业管理器的时候,使用整合的安全策略。

过去,企业管理器被发现在标准的安全模态中储存"sa"密码在注册表的plaintext中。

注意:

即使你改变模态,密码也会留在注册表中。

使用regedit而且检查键:

  HKEY_CURRENT_USERSOFTWAREMicrosoft

  MSSQLServerSQLEWRegedi

  sql6.5

  现在数据被隐藏在

  HKEY_USERS/softwareMicrosoftMicrosoftsqlservertoolSQLEWregisteredserverXSQLservergroup

  ("SQLserver组"是默认值但是你可能已建立用户组因此相应地改变其位置)

  27.发展一个审核计划而且订定每月的安全报告,对IT主管可用的报表包括任何的新exploit,成功的攻击,备份保护,和对象存取失败统计。

  28.不要允许使用者交互式登陆到sqlServer之上。

这个规则适用任何的服务器。

一旦一个使用者能够交互式进入一个服务器之内,就有能用来获得管理员的存取特权得到管理员权限。

  30.尽力限制对SQLServer的查询与存取操作。

用户可以用最小权限查询sqlserver中的很多东西。

若非必须不要给他们机会。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1