2024年4月11日发(作者:)
科技创新
IIS
信息服务常见漏洞及安全策略
朱伟
陕西汉中723000)(陕西理工学院计算机科学与技术系
摘要:不管是个人或者是网站搭建的InternetIIS信息服务,总为IIS层出不穷的漏洞苦恼;本文介绍了IIS信息服务常见
漏洞表现,并给出了基于个人或网站的安全策略。
关键词:IIS信息服务;常见漏洞;安全策略
由于宽带越来越普及,给自己的Win2000/XP装上简单
易学的IIS,搭建一个不定时开放的ftp或是web站点,相信
是不少电脑爱好者所向往的,而且应该也已经有很多人这样
做了。但是IIS层出不穷的漏洞实在令人担心,远程攻击着只
要使用webdavx3这个漏洞攻击程序和telnet命令就可以完成
一次对IIS的远程攻击。许多网站因为多种因素的制约采用了
相对简单易用的NT(WindowsNT/2000/2003)+IIS(Internet
InformationServer)的架构,由于各站点的技术力量和管理水
平存在较大差距,因此网站的安全性也参差不齐,只有少数
的IIS网站具有较高安全性。
1.IIS信息服务常见漏洞
①Unicode漏洞。Unicode安全问题存在于许多系统中,
当IIS对含有Unicode的字符进行解码时,如果遇到特定编码,
将导致错误或非法操作。②应用程序映射问题。在IIS的许多
应用程序映射中存在着相当严重的安全问题,如源代码泄露、
缓冲区溢出、DOS拒绝服务、非法执行脚本等基本上都是由
此而引发的。③ISAPI缓冲溢出漏洞。④IISRDS(远程数据
服务)漏洞。⑤HTTP非标准数据问题。攻击者发送大量的
特殊畸形的HTTP请求头数据包,可导致服务器消耗系统的
所有内存,只有服务终止或主机重启,IIS才能恢复正常。⑥
IIS验证漏洞。这可导致泄露系统信息及帐号被远程暴力破
解。⑦设备文件问题和系统设计错误。⑧应用程序问题。网
站的应用程序承担和实现了具体的网络服务和功能,但由于
编程水平不一,因而应用程序安全性差别很大,这也极易造
成对IIS的攻击。⑨有很多安全缺口归因于Microsoft在IIS
中所提供的功能。如果适切的注意到这些属性,它们将允许
客制化(customization)的运用,在执行上更具弹性。但是当
它们被忽略、误解或不正确的使用时,它们就会成为受攻击
的弱点。⑩主观人为因素。指网站的设计者、管理者和使用
者的意识、素质、道德、责任心、技术等主观方面对此的影
响。
2.IIS信息服务的安全策略
2.1个人IIS信息服务的一般安全设置
在入侵者突破了防火墙的情况下配置IPSec策略;通过
限制来隔绝那些可以存取Telnet服务器的用户以达到保护
服务器的目的;为服务器的虚拟目录设置适当的存取控制;
进行日志记录,并在日志文件(logfiles)中设置适当的权限;
如果合适的话,为IP地址和DNS地址做权限;更新网络
服务器上的RootCA证书;移除IIS中所有的示范应用程
序;移除所有不必要的COM组件,例如FileSystemObject;
从IIS4.0升级以后,移除IISADMPWD虚拟目录;移除无
用的应用程序对应(scriptmappings),例如IDC或HTR;
在ASP程序代码中检查窗体输入,以防止恶意输入;在IIS
5.0中禁用ParentPaths选项;禁用Content-Location文件
的表头信息,以免泄露地址。
从Microsoft的IIS5.0安全性检查清单开始吧!它收录
了许多简单易懂的步骤,帮助保护Windows2000/XP系列的
网站服务器免受绝大多数的攻击。
2.2网站IIS信息服务的一般安全策略
网站在以WindowsNT(包括WindowsNT4.0,Windows
2000Server系列,windowsServer2003)为操作系统的服务器
上通过IIS为客户的请求提供服务。维护IIS信息安全的方法
包括公共网关接口(CommonGatewayInterface,CGI),Internet
服务应用编程接口(InternetServerAPI,ISAPI)的过滤器
(Filter)程序和安全套接字(SecuritySocketLayer,SSL)等。
CGI是最常用的方法,可以实现基于IIS的信息存储和传输的
安全,用CGI编制的程序由IIS调用,但运行在自己的进程
内,所以其运行的速度较慢。ISAPIFilter主要实现信息存储
的安全,是以动态链接库的形式封装,直接运行在IIS进程内,
运行速度较快。SSL可以用于信息传输的安全,直接集成在
IIS中。将ISAPIFilter和SSL结合即可达到信息存储和传输
的安全,本文介绍通过这种方法实现基于IIS的信息安全。
①ISAPIFilter的作用机制
ISAPI是微软提供的基于WindowsNT(包括Windows
NT4.0,Windows2000Server系列,windowsServer2003)的
Internet编程接口,利用ISAPI编制的应用程序以动态链接库
的形式封装,直接运行在IIS进程中。ISAPI实现的应用程序
包括扩展和过滤器两种形式,ISAPI扩展可以响应客户的请
求,执行特殊的功能,而过滤器可以实现数据压缩、重定向、
加密和身份验证等功能。ISAPI过滤器运行在IIS的前端,可
以处理IIS提供的每一步服务。过滤器在IIS进程启动时装载,
并运行GetFilterVison函数,GetFilterVison函数的目的是设置
119
现代经济信息
过滤器的优先级并将事件通知的关注点注册到过滤器。当系
统中存在多个过滤器时需要通过设置优先级确定过滤器的执
行顺序,而事件通知的关注点是过滤器可以处理的服务。当
客户请求服务时,IIS首先启动过滤器程序,然后根据过滤器
注册的关注点调用过滤器实现的事件处理函数。
②ISAPI过滤器实现信息存储安全
通过ISAPI过滤器可以对客户的身份进行验证,控制访
问的客户,从而实现系统存储的信息安全。在ISAPI过滤器
中,验证客户身份需要注册的事件关注点是
SF_AUTHENTICATION事件,相应的事件处理函数是
OnAuthentication。客户在提交访问后,IIS启动新的线程为客
户提供服务,在IIS线程验证客户的身份前会首先查看过滤器
中有无SF_AUTHENTICATION事件关注点,若有,则执行
过滤器的OnAuthentication函数。所以可以通过
OnAuthentication函数在IIS线程前对客户的身份进行验证。
客户匿名访问时,过滤器直接返回,保证客户可以访问非保
密的资源。当客户非匿名访问时,过滤器查找用户数据库,
找到对应的系统密码和用户名,并替代客户的密码和用户名,
然后在IIS中用替换的系统密码和用户名对客户的身份进行
验证。采用这种方法使得客户输入的密码和用户名并不是系
统真正的密码和用户名,既保证了客户的数量又保护了系统
的安全。ISAPI身份验证过滤器运行在多线程的IIS进程中,
每一个线程都将调用过滤器程序,而与数据库的连接很占系
统的资源,当访问的客户超过一定的数量时,可能会导致系
统的崩溃。在实现时可以通过一段缓存解决这个问题,具体
方法是过滤器装载时在内存中开辟一段空间,用以保存近来
访问服务器的客户的密码和用户名以及对应的系统密码和用
户名。在客户访问时,过滤器先查找缓存中有无客户的密码
和用户名,若没有再查找数据库,并将查找到的内容写入缓
存中,由于查找缓存的时间及占用的资源远远小于对数据库
的查找,所以可以大大提高过滤器的执行效率。
③SSL实现信息传输安全
在Internet传输的所有数据都暴露于任何网络客户面前,
任何对通信进行监测的人都可以对通信的数据进行截取和修
改。保证数据传输的保密性、完整性和安全性的关键在于防
止网络的监听和篡改。SSL技术为应用层间数据通信提供安
全的途径,它位于可靠的传输层之上,为高层的应用提供透
明的服务,保证传输信息的隐私性、可靠性和用户的非否认
性。SSL通信分两个阶段:连接阶段和数据传输阶段。在连
接阶段,建立安全连接,一旦算法达成协议,就交换密钥,
接着验证身份,然后开始数据传输。在数据传输阶段,信息
传输到SSL时通过加密或解密后向下或向上传输。SSL要求
在客户端与服务器端建立通信渠道,通信渠道的建立通过客
户与服务器的握手来完成。客户和服务器之间通过相互询问
确定最终的加密算法。询问信息提供了建立安全渠道的重要
信息。服务器端通过证书确定客户的身份,然后发出确认和
结束信息结束握手阶段,开始正常的数据传输。数据在传输
120
过程中被分解为许多信息,同时用会话密钥加密并使用数字
签名。接收端在试图解密数据之前首先要验证数字签名。在
IIS中可以方便的通过SSL建立数据传输的安全性。服务器建
立SSL链接之前必须安装证书。证书可以使用Microsoft
CertificateServer生成。新密钥的创建通过IIS密钥管理器完
成,它会根据向导自动请求服务器上安装的CertificateServer
生成证书。在密钥建成后需要通过IIS的控制台配置SSL,可
以配置的选项包括密钥设置、是否要求客户端证书以及客户
端证书映射等。在这些设置完成后就可以实现信息传输的安
全性。
3.结束语
Microsoft针对IIS安全性和可存取性/可用性
(accessibility/usability)两方面做了很好的折衷,一般认为更
倾向于后者。我们在提供IIS服务的时候,尤其是网站以ISAPI
过滤器程序保护系统存储信息安全的方法,采用DLL的形式
运行在IIS进程中,可以通过用户数据库和缓存扩充用户的数
量并提高过滤器运行的效率。用SSL保护信息传输的安全是
目前常用的也是较好的方法之一。
参考文献:
[1]王洪.计算机网络应用教程[M].北京:机械工业出版
社.2004.
[2]4.0使用大全[M].北京:人民邮电
出版社.1998
[3]周继军.网络与信息安全基础[M].北京:清华大学出版
社.2008


发布评论