魑魅魍魉

魑魅魍魉的IT博客

打造安全主机 加固脆弱的IIS服务

  难道IIS(Internet Information Services)就真是“脆弱”的吗?难道拥有全球市场排名第一的Apache就坚不可摧?其实这些问题只是我们对服务器安全问题的曲解,在IIS 6没有推出以前,我一直忙着对IIS 5 修修补补,也确实过了一段提心吊胆的日子。我们完全有理由相信,经过调整后的IIS足以让我们值得信赖。
解释几个常见漏洞
1. 缓冲区溢出
简单解释一下,缓冲区溢出主要因为提交的数据长度超出了服务器正常要求,导致服务器检查代码错误。而溢出的方法有可以分为:基于堆栈的溢出和基 于堆的溢出。在IIS 6以前的版本,Web服务是运行在LocalSystem账户下,当某个黑客利用缓冲区溢出的漏洞入侵后,当然就可以执行大部分的管理员命令了。
利用该漏洞比较名的病毒是“红色代码(Redcode)”和“尼姆达(Nimda)”。eEye Digital Security 公司早于1996年就发现了这类漏洞的代表作HTR缓冲区漏洞。eEye发现,IIS抵抗力十分脆弱。如果攻击传递给IIS,那么输入值将不是一串字母而 是可以执行的系统命令。HTR文件的解释程序是将一个以.htr结尾的超长文件在ism.dll中造成输入缓冲区溢出。
我们早已用不到HTR了(笔者个人的理解),那只是早些时候,微软脚本编程用到的,早已经被ASP技术取代。
说明:根据上文的说明我们知道一个漏洞的根源就是.htr文件与System32目录下的ism.dll存在着关联,如果将ism.dll和.htr文件之间存在的映射关系断开,或者删除了ism.dll,就可以解决了。
2.臭名昭著的Unicode
首先要知道什么是Unicode二次解码漏洞?打开IE,选择“查看→编码→Unicode(UTF-8)”,在没有创造Unicode之前, 没有一个编码可以包含足够的字符来容纳数百种的数字编码。比如我们要看一个繁体中文(BIG5)的网页,在你的简体中文版的Windows 系统上,没有Unicode的支持就不可能实现。
如果非法用户提交一些特殊的编码,将导致IIS错误地打开或者执行某些Web根目录以外的文件。那么,未经授权的用户可以利用 IUSR_machinename账号访问用户目录的任何文件。同时,我们有知道这个账号在默认情况下属于Everyone和Users 组,Windows 2000 Server默认的安全权限是“Everyone完全控制”因此任何能被这些用户组访问的文件都可能被删除、修改或执行。
说明:可以限制网络用户访问和调用CMD命令的权限;若没必要使用Scripts和Msadc目录,可以删除或者重新命名;还有一个问题,安装Windows NT系统时不使用默认的WINNT路径。
3.FrontPage 服务器扩展漏洞
对于安装FrontPage服务器的网站,通常会在Web目录(缺省)下有若干个以字母“_vti”开头的目录,正是这些目录为黑客提供了可乘之机。我们可以从搜索引擎上搜索默认的Frontpage目录,这时我们能从引擎上返回大量的信息。

说明:你真的需要FrontPage 服务器扩展吗?我是从来没有用过,这都是默认安装的时候为我们带来的隐患。如果不需要,直接卸载了该服务就没问题了。

eeye旗下产品:Retina|Blink|Iris|Secure IIS|

posted on 2008-10-10 13:55 魑魅魍魉 阅读(66) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
<2008年3月>
2425262728291
2345678
9101112131415
16171819202122
23242526272829
303112345

导航

统计

常用链接

留言簿(1)

随笔档案

网址收藏

搜索

最新评论

阅读排行榜

评论排行榜