SQLServer:越“少”才会越安全
时 间:2008-08-15 08:31:56
作 者:umvsoft整理 ID:16 城市:江阴
摘 要:SQLServer:越“少”才会越安全
正 文:
现在,做个简单测试:有多少不需要接受来自网络中其他机器的连接的安装总是在监听那些连接?答对了――几乎全部都是。在最近的一项渗透测试活动中,我发现公司中大约有90%的SQL Server安装只被安装在同一台机器上的软件使用,从来没有接受过网络中其他机器的连接。此外,在这90%里面,除了2台机器之外都同时有TCP/IP和netlibs (命名管道网络库)在启用和监听。
这里我们有一个非常好的有关过分表面领域的例子。就是说,当机器暴露在这个层次上的时候没有调用任何的相关措施,那么遇到偶然的发现、暴力攻击,以及可能的远程缓冲溢出攻击就是明显了。最近,对于MSDE Release A ,微软开始在缺省情况下安装MSDE的时候不再启用任何的netlibs ,以便于帮助您最小化暴露的表面区域。然而,许多MSDE较老的安装仍旧如此,并且持续监听。
过分的netlib 支持问题的解决方案是简单的。任何不需要外界连接的SQL Server或者MSDE实例都应该禁用所有的netlibs ,除非是共享内存netlibs ,这个在缺省情况是开启的。共享内存netlib只在与使用它们的应用程序在同一台机器上,并且不允许来自外界主机的连接的SQL Server环境中存在。
如果你使用的是SQL Server,修正是非常简单的。只要为你想要保护的每个SQL Server实例中载入Server Network Utility并且禁用所有的netlibs (在“启用协议”中)即可。然后,停止并重新开始SQL Server实例,以便于修改生效。
如果你使用的是MSDE,你就得费一点事。当然,如果在同一台机器上存在SQL Server安装,并且Server Network Utility也是安装的,你就可以在下拉列表中看到MSDE实例。然而,你可以用与前面描述的针对SQL Server实例完全一样的方式删除netlibs 。
如果你没有访问主机上的Server Nerwork Utility,那么你需要编辑注册表键值来直接控制对netlib 的支持。这个键位于
HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSSQLServerMSSQLServerSuperSocketNetLibProtocolList
只是编辑那里的REG_MULTI_SZ ,删除任何数值数据(TCP/IP 和命名管道在默认情况下是“tcp np”)。再一次,你需要停止并重新开始MSDE实例,以便于修改生效。
将所有的netlibs 都禁用了之后,只有共享内存netlib还能够与SQL Server进行通信。这对于理解netlib 和你的应用程序非常重要:为了连接到本地SQL Server/MSDE实例上,你不能再使用本地机器的名字(或者IP地址)作为连接字符串中的服务器的名字。你需要用点“.”或者单词"(local)"来置换服务器名字或者IP地址。一些应用程序的行为彼此不同,那么需要确保彻底地进行测试。使用那些字符串中的某一个作为服务器的名字可以告诉本地SQL Server客户端网络子系统使用共享内存netlib 来替代基于网络的库。
现在你知道了如何移动netlib ,同时还仍然连接到SQL Server实例上,你应该告诉你的开发人员这是如何完成的,因为他们很有可能安装本地SQL Server/MSDE环境的次数最多。让环境不再监听可以保护他们在远程位置、热点或者其他公共环境中的时候不受到攻击,而在这些环境中,他们很有可能会受到攻击。最小化表面区域是安全难题中的一个关键部分,让这个方法成为所有的新的SQL Server/MSDE安装的默认选择可以很大限度的坚固你的基础设施
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 32位的Access软件转化为64...(04.12)
- 【Access高效办公】如何让vb...(04.11)
- 仓库管理实战课程(10)-入库功能...(04.08)
- Access快速开发平台--Fun...(04.07)
- 仓库管理实战课程(9)-开发往来单...(04.02)
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)