擎的设计 8
3.4.1 策略的属性 8
3.4.2 策略的加载 9
3.4.3 策略的调度 10
3.4.4 策略的接口 10
4 Web的入侵防御系统的实现 11
4.1 基于ISAPI 的解析及响应模块的实现 11
4.1.1 使用ISAPI Filter获取Http报文信息 11
4.1.2 使用ISAPI进行Http响应 13
4.1.3 在服务器上的安装配置ISAPI Filter 14
4.2 基于Lua的策略实现 15
4.2.1 对策略的封装 15
4.2.2 Lua策略脚本示例 15
4.3 基于
xml的策略管理 16
5 系统运行过程及测试 16
结 论 18
参考文献 18
致 谢 19
声 明 20
1 引言
连接入互联网中的每一台服务器每时每刻都会受到来自病毒蠕虫的侵扰和黑客的入侵。目前,很多针对Web服务器的攻击都是通过Http协议发起的,所以传统的防火墙对诸如SQL注入这种攻击方式不能提供很好的保护。在很多网络环境中,正是由于Web服务器同时对内部
网络和外部网络提供服务,使其成为整个网络中最常被攻击的目标。恶意的攻击者往往通过Web服务器上的突破口,来进一步对内部网络进行渗透。所以,Web服务器的安全显得尤为重要。
本课题的首先对Web服务器所受到的威胁及相应的防御方式做了一些调研,然后针对Web服务器所受的这些威胁设计了一套专门针对Web服务器安全的轻量级的入侵防御系统, 并通过ISAPI实现了Windows平台环境下保护IIS服务器的系统。这套系统通过策略来控制访问Web服务器的行为,它的策略引擎可以加载Lua脚本编写的策略,所以策略的编写十分容易。通过对这套系统的运行检测可以发现它能有效的保护Web服务器的安全。
2 Web服务器所受的威胁及防御
Web服务器在互联网环境中会遭受格式各样的安全威胁,下面列出的是一些当前主流的针对Web服务器的攻击方式,它们有的会导致服务器被非法控制,有的会使服务器无法提供正常的服务,而有的甚至会对访问者的机器造成破坏。
2.1 缓冲区溢出
缓冲区溢出[1]主要是因为Web服务器
程序对客户端提交的数据缺少安全必要的长度检测,服务器程序的堆栈被恶意数据填充,导致服务器程序执行非法的指令或产生拒绝服务。如曾经造成十分大危害的蠕虫"红色代码(Red Code)"和"尼姆达(Nimda)"都是利用IIS的缓冲区溢出的漏洞而传播的。目前,缓冲区溢出是很难杜绝的,因为Web服务器程序开发的测试阶