推荐日志

彻底保护你的网站不受RDS攻击的威胁

[ 2007-03-25 02:39:41 | 作者: sun ]
字体大小: | |
最迅速和最彻底的取消对RDS的支持。(但是如果你确实需要RDS,那么你最好往下读)
----------------------------------------------------------------------
-

----[ 1. 问题
RDS攻击不是一个简单的问题,虽然IIS 4.0存在许多各种各样的安全漏洞,
但是微软从来没有为同一个安全漏洞发布过如此多的补丁程序,一共是发布了三个不同的补丁程序,但是RDS仍然存在问题。
所以我们需要的是真正掌握什么是RDS。然后你就会知道如何来自己修补
这个问题。这个问题从根本上说,是由于Jet 3.5允许调用VBA的shell()函数造成的。
该函数允许你执行外壳命令,具体的过程我想还是不详细介绍了。
现在的问题是,IIS 4.0默认的情况下是安装有MDAC 1.5的,它包含有RDS,
从而允许通过浏览器远程访问ODBC组件,具体的实现是通过一个位
于/msadc/msadcs.dll
的特定的dll文件来实现的。现在你应该可以明白,问题其实是由两部分组成。其实还有个“第三者”,那就是跟随RDS SDK包安装附带的例子程序组件VbBusObj,它可以允许你
饶过那些就是已经安装了微软发布的RDS补丁的情况。
下面将分别就上面三种情况做详细的解决方案描述。

----[ 2. 解决方案
问题是目前有许多种方法来解决,同时这些方法还可以被不同的组合使用。
在这里尽量描述详细。
-解决方案 #1: 移走cmd.exe (ULG推荐的补丁方法)
http://www.aviary-mag.com/News/Powerful_Exploit/ULG_Fix/ulg_fix.html

我推荐ULG的解决方法,虽然该方法仍然存在问题。因为虽然mdac.pl是使用了
cmd.exe
来实现RDS攻击的,但是,要知道
CMD.EXE并不是RDS攻击方法的唯一实现途径


-解决方案 #2: 升级MDAC 1.5 到 2.0

MDAC 2.0将Jet 3.5升级到Jet 3.52。但是仍然存在VBA shell()攻击问题(而这恰好是
RDS攻击的必要条件),并且默认情况下还是支持使用RDS的。事实上,就是你删除了RDS系统还是会重新安装的,其中一些应该注意的事情是:

* 默认的Jet引擎变成了3.52 (仍然有安全漏洞)
* 允许自定义处理 (可以解决匿名RDS使用问题)
* 生成 Microsoft.Jet.OLEDB.3.51* 提供
注意这种解决方法,它的默认设置不是非常好。你需要修改注册表来限制自定义使用RDS处理。注册表中位置是:
HKEY_LOCAL_MACHINE\Software\Microsoft\DataFactory\HandlerInfo\

Keyname: HandlerRequired
Value: DWORD:1 (safe) or 0 (unsafe)
推荐是将它的数值改成1。这其实也是使用微软提供的补丁'handsafe.exe/.reg'完成的。
现在,你可以保护你的系统不被远程RDS攻击了,但是你仍然存在被ODBC其他方式攻击的可能性,
包括Excel, Word, 和 Access木马文件等。所以这个解决方案也有一些不足。

-解决方案 #3: 升级你的MDAC 1.5 到 2.1

MDAC 2.1 将Jet 3.5 升级到Jet 4.0引擎,这个引擎不存在RDS攻击安全漏洞。
但是同时也印证了一个亘古不变的法则,东西越安全它的兼容性能也就越差,
由于3.5和4.0之间存在太大的差异,许多人不愿意为了这些兼容性能而升级。
因为一旦升级后许多现在正在使用的程序将完全不能够使用。具体细节是:

* 默认的数据库引擎为Jet 4.0 (没有这个安全漏洞)
* 支持自定义处理 (可以禁止匿名使用RDS)

但是,自定义处理默认的情况下并不是使用的。你同样需要象上面一样来修改注册表。

-解决方案 #4: 升级你的MDAC 1.5到2.0,然后再到2.1
现在,如果你是一个优秀的管理员,你应该保证你一直升级你的系统。如果你经常升级,就应该服从按顺序升级的次序。虽然同样你需要修改注册表使
能'HandlerRequired'
,同样由于使用了2.1的Jet 4.0(没有漏洞)作为默认的数据库引擎。但是由于你是通过
从2。0的升级,所以你将拥有Microsoft.Jet.OLEDB.3.51.
这意味着你的运用程序(包括RDS)对数据库的调用情况都能够被日志记录下来。而那些
老版本的OLEDB是实现不了的。
你应该从注册表中将老的hooks/providers数值去掉。一个方法是删除下面的键值入口:
HKEY_CLASSES_ROOT\Microsoft.Jet.OLEDB.3.51
HKEY_CLASSES_ROOT\Microsoft.Jet.OLEDB.3.51Errors
但是,你仍然需要面对的问题是兼容性能问题。

-解决方案 #5: 安装JetCopkg.exe (见微软发布的安全公告MS99-030)

JetCopkg.exe是一个修改过的Jet 3.5引擎,它增强了更多的安全特性来防止被攻击。
它主要是对注册表中下列键值的修改:
HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\3.5\engines\SandboxMode
它的值如下:
0 禁止一切
1 使能访问ACCESS,但是禁止其它
2 禁止访问ACCESS,但是使能其他
3 使能一切

(详细的解释可以参考
http://support.microsoft.com/support/kb/articles/q239/1/04.asp)
值得注意的是,默认的允许修改键值权限是不安全的。你必须只能够让有权限的
帐号才能够修改该键值。不然该键值会带来很多安全上的隐患。切记,切记。
只要将键值该成2或则3就可以将一切对RDS的攻击拒绝了。所以,这个解决方案是最好的。
并且由于它仍然使用的是Jet 3.5引擎,所以你不用担心兼容性能的问题。并且同时你还是可以
使用RDS的,虽然已经不能够再使用RDS进行攻击了,但是问题是匿名使用RDS还是会将你的数据库中的信息给
泄露出去的。所以你需要对RDS有较深入的编程基础,我可以建议你禁止使用RDS或则将ODBC升级到
MDAC 2.0,这样你就可以只让有权限的人才能够使用RDS,而拒绝匿名用户使用。

-解决方案 #6: 删除/禁止RDS功能
就是我在本文最开始的位置提到的方法,删除下面这个文件:
?:\Program Files\Common Files\System\Msadc\msadcs.dll
就是它提供了RDS的调用接口。下面是一些更详细彻底清除RDS(如果你确信你的网站不需要该功能的话)的步骤:

* 从IIS控制台删除/msadc虚拟目录
* 删除下面的注册表键值:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\Parameters\
ADCLaunch
* 删除下面这个文件目录
?:\Program Files\Common Files\System\Msadc

----[ 3. 情况
-情况 #1: 我确实需要RDS
首先你需要升级你的系统到MDAC 2.0。记住别忘了安装JetCopkg,或者你直接升级到MDAC 2.1.
确保你修改了'HandlerRequired'注册表中的数值,解释见上。同时确保你已经删除了所有的
RDS的例子程序。同时取消匿名帐号对/msadc目录的访问权限,而使用自定义帐号来进行处理。
详细的步骤可以参考:
http://www.microsoft.com/Data/ado/rds/custhand.htm

-情况 #2:我还是想使用那些例子该怎么办?
那么唯一的方法就是你必须禁止匿名帐号对RDS的访问权限。但是例子中的
VbBusObjcls会跳过自定义
访问的限制,如果例子是安装在
?:\Program Files\Common Files\System\Msadc\Samples
的话,那么你应该按照下面的步骤来解决:
*删除下面这个目录下所有的东西
?:\Progam Files\Comman Files\System\Msadc\Samples
* 删除注册表中的键值
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\Parameters\
ADCLaunch\VbBusObj.VbBusObjCls

评论Feed 评论Feed: http://www.lziss.com/blog/feed.asp?q=comment&id=116
UTF-8 Encoding 引用链接: http://www.lziss.com/blog/trackback.asp?id=116

浏览模式: 显示全部 | 评论: 2 | 引用: 0 | 排序 | 浏览: 1374
引用 vdv157*
[ 2007-09-19 06:21:12 ]
卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞卢克瑞
引用 gdc832*
[ 2007-12-04 11:27:39 ]
上海派爱商务咨询有限公司
经营范围:商务咨询、企业管理咨询、投资咨询、市场策划、展览展示服务、劳动服务。
并可以为贵公司提供高质量网站建设及网站优化、产品推广服务


公司本次发布信息内容:食品、饮料、酒类、调味品等企业。如果有需要本公司进行产品投放市场前期
的策划,寻找代理商家,可以与我公司联系。

在本月10日以前联系的公司将可以安排贵公司产品参加11月份的华联超市全国订货会。

联系方式:电话 021--51021055-3
E-mail: sh-pai@hotmail,com.

联 系 人:邵先生

发表
表情图标
[1] [2] [3] [4]
[5] [6] [7] [8]
[9] [10] [11] [12]
[13] [14] [15] [16]
[17] [18] [19] [20]
[21] [22] [23] [24]
[25] [26] [27] [28]
[29] [30] [31] [32]
[33] [34] [35]
UBB代码
转换链接
表情图标
悄悄话
用户名:   密码:   注册?