选择显示字体大小

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

难道iis(inte.net 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 服务器扩展吗?我是从来没有用过,这都是默认安装的时候为我们带来的隐患。如果不需要,直接卸载了该服务就没问题了。

  iis加固策略的建议

  你得到的网站源代码不会完全一样,而大多数程序员不会为你只提供一种类型的代码。所以不要完全按照下面的加固列表操作,尤其在加固之前要和程序的提供商取得联系。在得到他们确认后,修改本文中涉及到服务器扩展内容。

  1. 调整iis日志

  当您希望确定服务器是否被攻击时,日志记录是极其重要的。默认的日志不会为我们搜索黑客记录提供很大的帮助,所以我们必须扩展 w3c日志记录格式,步骤如下:

  ★检查是否启用了日志记录,右键单击所述站点,然后从上菜单中选择启用“属性→web 站点→启用日志记录”复选框。

  ★更改日志的默认路径,黑客成功入侵一个系统后,临走时要做的一件事就是清除日志,如果以图形界面的远程控制软件或是从终端登录进入,我们自然是无法保护日志的。不过,现在比较流行的日志清除工具,大多以命令行方式删除默认的w3c日志记录,所以可以将图1所示的路径改写,达到简单保护的功能。

  ★从“活动日志格式”下拉列表中选择“w3c 扩展日志文件格式”。单击“属性→扩展属性”选项卡,然后添加以下信息的记录:客户ip 地址、用户名、方法、uri 资源、http 状态、win32 状态、用户代理、服务器 ip 地址、服务器端口。

  日志记录是我们被入侵后惟一能够找到自身漏洞的地方。就比如有些人钟爱的“动网上传文件”漏洞,如果你能在日志当中发现“http get 200(文件上传成功)”,没什么可以辩解的,肯定是没有升级补丁或者开放了上传权限。所以说日志防护是每个管理员必备的知识。

  2. 删除iis所有默认示例

  这是一个在windows 2000和windows server 2003上都在安装的时候保留的内容,因为只能从本地访问这些文件,所以这些默认的示例不会为服务器带来威胁。如果不需要它们作为建立站时的参照以及远程的管理帮助,可以删除它们,同时起到优化系统的功能(需要关闭iis服务)。

  3. 删除不必要扩展映射

  iis 5被预先配置为支持如.asp这样的动态程序文件,但除了我们常用的几个文件格式之外,还支持了本文中提到的可能造成缓冲区溢出的文件类型。iis 接收到这些类型的文件请求时,该调用由 dll 处理,所以最好删除它们。

  选择“www服务→编辑→主目录→应用程序配置”,参照下表有针对性的选择删除对象:

  iis 6 的全新奉献

  我们常在网上看到关于windows server 2003 已经非常安全的报道,但是我们的管理员不是每天做个补丁更新的工作吗?其实,windows server 2003中给我带来最直接的感觉就是iis 6的安全性,直到现在为止笔者确实没有发现iis 6中有什么重大的漏洞可以被黑客利用。

  工作进程隔离(worker process isolation)以及url的授权访问,我在以前版本里面根本就没有奢念。不仅如此,最主要的改进就是iis本身的“默认可用性”和“默认锁定扩展服务” (如图2)。

  当把服务器升级到windows server 2003的时候,如果你没有运行iislockdown工具,服务器竟然禁止我们提供web服务。


 
图1 改写日志默认存储路径

 
图2 iis6的两项新功能提高了安全


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons