《Web防火墙及其在多媒体资源管理系统中的应用.pdf》由会员分享,可在线阅读,更多相关《Web防火墙及其在多媒体资源管理系统中的应用.pdf(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、http:/-1-Web 防火墙及其在多媒体资源管理系统中的应用防火墙及其在多媒体资源管理系统中的应用1 常乐 北京邮电大学智能通信软件与多媒体北京市重点实验室,北京(100876)E-mail: 摘摘 要:要:Web 应用安全问题是当前计算机应用研究的热点问题之一。多媒体资源管理系统提供了方便快捷的多媒体资源的管理,下载,交易等业务。但是随之而来的也有 Web 应用层次的安全问题。本文首先分析了 Web 应用防火墙的原理和实现方法,然后成功的应用于多媒体资源管理系统。大大增强的媒体资源管理系统的在 Web 方面的安全性。关键词:关键词:Web 应用防火墙,网络安全,多媒体资源管理系统 1.引
2、言引言 在 Internet 大众化及 Web 技术飞速演变的今天,在线安全所面临的挑战日益严峻。伴随着在线信息和服务的可用性的提升,以及基于 Web 的攻击和破坏的增长,安全风险达到了前所未有的高度。由于众多安全工作集中在网络本身上面,Web 应用程序几乎被遗忘了。也许这是因为应用程序过去常常是在一台计算机上运行的独立程序,如果这台计算机安全的话,那么应用程序就是安全的。如今,情况大不一样了,Web 应用程序在多种不同的机器上运行:客户端、Web 服务器、数据库服务器和应用服务器。而且,因为他们一般可以让所有的人使用,所以这些应用程序成为了众多攻击活动的后台旁路。多媒体资源管理系统是是通过浏
3、览器来获得系统中的各种信息资源,包括各种图形图像,声音,动画,文本,视频,模型等素材。如何有效地保护这些素材的安全性就显得尤为重要。2.传统的网络防火墙的不足传统的网络防火墙的不足 1)无法检测加密的 Web 流量。由于网络防火墙对于加密的 SSL 流中的数据是不可见的,防火墙无法迅速截获 SSL 数据流并对其解密,因此无法阻止应用程序的攻击,甚至有些网络防火墙,根本就不提供数据解密的功能。2)普通应用程序加密后,也能轻易躲过防火墙的检测。网络防火墙依赖的是静态的特征库,与入侵监测系统(IDS,Intrusion Detect System)的原理类似。只有当应用层攻击行为的特征与防火墙中数据
4、库中已有的特征完全匹配时,防火墙才能识别和截获攻击数据。3)对于 Web 应用程序,防范能力不足。在防范 Web 应用程序时,由于无法全面控制网络,应用程序和数据流,也无法截获应用层的攻击。由于对于整体的应用数据流,缺乏完整的、基于会话(Session)级别的监控能力,因此很难预防新的未知的攻击。4)应用防护特性,只适用于简单情况。网络防火墙的体系结构,决定了网络防火墙是针对网络端口和网络层进行操作的,因此很难对应用层进行防护,除非是一些很简单的应用程序。5)无法扩展带深度检测功能。基于状态检测的网络防火墙,如果希望只扩展深度检测(deep inspection)功能,而没有相应增加网络性能,
5、这是不行的。真正的针对所有网络和应用程序流量的深度检测功能,需要空前的处理能力,来完成大量的计算任务。1本课题得到北京市教委共建项目(SYS100130422);高等学校博士学科点专项基金资助项目(20050013010)的资助。http:/-2-3.Web 应用防火墙应用防火墙(Web Application Firewall)本文提出的 Web 应用防火墙是针对上述网络防火墙的不足。通过分析当前比较常见的Web 攻击方式。有效的防御来自 Web 应用层次的攻击。达到保护后台 Web 应用服务器的作用。并且提供了 Web 防御管理后台。图 1 Web 应用防火墙基本结构 3.1 WAF 的技
6、术原理的技术原理 3.1.1 反向代理反向代理 Apache 的可以被配置为正向(forward)和反向(reverse)代理。正向代理是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。正向代理的典型用途是为在防火墙内的局域网客户端提供访问 Internet 的途径。正向代理还可以使用缓冲特性(由 mod_cache 提供)减少网络使用率。反向代理正好相反,对于客户端而言它就像是原始服务器,并且
7、客户端不需要进行任何特别的设置。客户端向反向代理的命名空间中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,就像这些内容原本就是它自己的一样。反向代理的典型用途是将防火墙后面的服务器提供给 Internet 用户访问。反向代理还可以为后端的多台服务器提供负载平衡,或为后端较慢的服务器提供缓冲服务。另外,还可以启用高级 URL 策略和管理技术,从而使处于不同 web 服务器系统的 web 页面同时存在于同一个 URL 空间下。例如下图中,代理服务器 B,作为各个应用服务器的代表,对外提供服务。实际上,B本身并不提供应用服务,仅仅是把 A 发网 B
8、的数据转发给 C,然后 C 做出响应。把处理结果发给 B,B 再发给对应的 A。在这一个过程中,B 只是起到”传话筒”的作用。如果 B 根据A 要求的地址来连接该地址对应的服务器,则 B 把这一请求转移到 C(代表 A 访问 C),并把C 对 B 的处理结果返回给 A,在这个过程中,A 一直以为是 B 提供服务,并不知道 C 的存在,C 只是知道,永远只偶 B 来请求它的服务,此时,B 就是反向代理。多数运行在服务器http:/-3-一方。普通代理可代理内网用户访问因特网或用户自身不能访问的网段。反向代理多用于作为应用服务器的缓存服务器,减轻应用服务器的负担,最典型的就是作为 Web 服务器的
9、页面缓存服务器。图 2 反向代理 3.1.2 虚拟主机虚拟主机 虚拟主机技术就是使用特殊的软硬件技术,把一台计算机主机分成一台台虚拟的主机,每一台虚拟主机都具有独立的域名和 IP 地址(或共享的 IP 地址),具有完整的 Internet服务器功能。在同一台硬件、同一个操作系统上,运行着为多个用户打开的不同的服务器程序,互不干扰;而各个用户拥有自己的一部分系统资源(IP 地址、文件存储空间、内存、CPU 时间等)。虚拟主机之间完全独立,在外界看来,每一台虚拟主机和一台独立的主机的表现完全一样。3.1.3 Apache 的安全模块的安全模块 Mod_Security 是一个专门针对 Apache
10、 服务器开发的,他是一个开源的 Web 应用入侵检测系统和防护引擎,它既可以作为 Apache 的模块运行,也可以单独运行。它完全可以不用重新编译 Apache 内核就可以直接加载到 Apache 核心前对流入 Apache 的数据进行。Mod_Security 的主要目的是加固和增强 Web 应用的安全,保护 Web 应用不再受已知和未知的攻击。3.2 WAF 系统结构系统结构 系统主要分为用户认证模块,访问控制模块,安全防护引擎模块,日志模块,和系统管理模块。用户认证模块主要负责系统外部用户的认证功能,根据实际情况不同可以提供不同的验证模式。访问控制模块分为自主访问控制和强制访问控制,对已
11、经通过认证的用户授权访问权限。安全防护引擎主要是指 Mod_Security 安全模块,它集成在 Apache 中更有效的保证了整个 Web 应用防火墙的安全。日志记录模块对外界用户的 Web 攻击进行记录,包括攻击方式,IP 地址等信息。管理员可以方便的通过查看日志对,近期的网络安全情况进行分http:/-4-析,以便采取有效的措施。系统管理模块是采用 Perl 语言开发的一套 Web 界面的管理平台。管理员可以快捷方便的配置和发布安全策略。图 3 WAF 系统结构 3.3 数据传输数据传输 Web 应用防火墙建立一条安全的通道是非常重要的。在服务器端,由于 Apache 服务器以其开源和稳
12、定性,因此它的安全性能就随着应用的深人和扩展需要更好的加强,本文利用Apache 服务器和其内建 SSL 模块 mod_SSL 以及 OpenSSL 来实现 Web 应用防火墙的安全要求。OpenSSL 是一个非常优秀的实现 SSL/TLS 的开源工具包,它提供 SSL 算法的函数库供其他程序调用。它提供了一个通用的高强度加密库,并在此基础上实现了 SSLv2,SSLv3 和TLSv1。HTTP 压缩是在 Web 服务器和浏览器间传输压缩文本内容的方法。HTTP 压缩采用通用的压缩算法如 gzip 等压缩 HTML、JavaScript 或 CSS 文件。压缩的最大好处就是降低了网络传输的数据
13、量,从而提高客户端浏览器的访问速度。当然,同时也会增加一点点服务器的负担。Gzip 是比较常见的一种 HTTP 压缩算法。本文论述的 HTTP 压缩方式,采用的是 Apache中的 mod_gzip 模块。Mod_gzip 在传输前将匹配的文件类型压缩,然后通过 SSL 协议传输,然后到达客户端再解压。3.4 用户认证访问控制用户认证访问控制 访问控制采用 BLP 安全模型。由于 BLP 模型主要是操作系统环境下的访问权限掩码,如读、写、执行等。Web 应用防火墙的目的主要是对 HTTP 访问的控制,因此在要根据 Web服务的类型进行重新分类。根据 HTTP 协议的特点,依据协议中的命令将权限
14、细化为 GET,PUT,DELETE,HEAD,TRACE 等形式。这样细粒度的划分可以有效的控制不同用户的通过HTTP 访问指定的资源。http:/-5-图 4 WAF 访问控制 上图中是访问控制的流程,和前面讨论过的用户认证模块联系紧密。当用户请求资源时,首先判断访问资源是否需要访问限制。如果不需要则直接访问,否则开始认证,通过认证之后,判断用户所在用户组级别,然后与需要请求的资源的级别进行比较。如果级别高于访问资源,那么允许用户 GET 请求,如果级别低于访问资源,则允许 POST 请求。3.5 Web 安全防护引擎安全防护引擎 Web 应用的防护要对输入和输出数据进行过滤。作为 Apa
15、che 服务器的实现代码中,使用模块化可以实现无须对 Apache 内核进行修改/编译,而直接附加模块即可实现。Mod_Security 就是这样一个 Apache 模块。Mod_Security 是一个专门针对 Apache 服务器开发的,他是一个开源的 Web 应用入侵检测系统和防护引擎,它既可以作为 Apache 的模块运行,也可以单独运行。它完全可以不用重新编译 Apache 内核就可以直接加载到 Apache 核心前对流入 Apache 的数据进行。Mod_security 的主要目的是加固和增强 Web 应用的安全,保护Web 应用不再受已知和未知的攻击。?SQL 注入 SQL 注
16、入攻击属代码注入攻击的一种,即在浏览器对 Web 服务器的正常页面请求中人为插入一段”非预期”的代码,通过网络提交到服务器端执行,以达到非法攻击目的。因其插入的代码都是标准化查询语言(SQL)格式片断,在服务器上形成特殊的 SQL 语句,对数据库执行恶意操作,故称 SQL 注入攻击。?路径遍历攻击 路径遍历攻击技术强制访问文件、目录及隐藏在 Web 文档根目录之外的命令。攻击者以Web 站点执行或者显示出 Web 服务器上任意文件内容的方式,来操作 URL。泄漏 HTTP 接http:/-6-口的任何设备都是路径遍历的容易攻击的对象。为了在文件系统上任意地方访问文件或执行命令,路径遍历攻击利用
17、了特殊字符串的功能。最基本的路径遍历攻击利用“./”特殊字符串,改变 URL 中的请求资源定位。虽然许多主流的 web 服务器可以防止访问 Web 文档根目录,但是“./”串交替编码可以绕过安全过滤。?跨站点脚本攻击 所谓跨站点脚本(CSS:Cross-site scripting)攻击,是指某个 web 站点的访问者利用 web服务器中的应用程序或代码的漏洞,而进行恶意上传的一段脚本代码。当信任此 Web 服务器的某终端访问用户/浏览者对此站点进行再次访问时,该用户的浏览器就会自动加载并执行先前用户恶意上传的脚本代码。从这个攻击过程中,可以看出,跨站点脚本攻击是一种间接攻击技术(用户 A 通
18、过 Web 服务器完成对用户 B 的攻击),但有时也可对网站进行直接攻击。为了避免与 HTML 语言中的 CSS 相混淆,我们通常称它为“XSS”。?IP 黑名单 用户自定义需要拦截的网站的 IP 地址来达到防止恶意网站的攻击。对于上面的攻击行为。本文利用 mod_security 定义对应的规则,达到防护目的。例如:SecFilterSelective ARGS update.+set.+=id:10007 log,pass,status:403,msg:SQL Injection attack id:首先,为每一种匹配规则指定一个 id,这样可以方便我们以后管理,并且在日志分析中也能起到关
19、键作用。log:日志过滤用于纪录 Apache 的错误日志。pass:允许在过滤匹配中请求被继续。这个动作用在当你想记录一个匹配而不并不想执行其他的动作时候。deny:在过滤匹配中中断一个请求处理。除非 status 动作也在使用,否则 Mod_Security 会立即返回一个 HTTP 500 错误代码。如果一个请求被拒绝,文件头 mod_security-action 将会被添加到请求文件头列表中去。这个文件头包括 code 使用状态。status:当一个请求被拒绝的时候使用替代 HTTP 状态代码。上面的规则就是当它被触发的时候将返回Page not found信息。如果在配置里有这条规
20、则 Apache 错误提示信息会被触发。所以,如果你以前已经为一个设定的状态定义了一个定制的错误页,那么它将会被执行并且给用户显示。msg:当通过正则表达式检测出匹配的攻击时,根据攻击类型分类。需要返回一个可以识别的信息。3.6 日志分析日志分析 WAF 中的日志主要记录的是攻击者攻击服务器的一些行为记录。在日志文件中。记录了攻击者的 IP 服务器地址,请求的 URL 地址,攻击信息等。记录的内容相当多也很复杂。为此,作者提供了日志分析模块,实现对日志的关联分析,根据经典的 Apriori 算法对繁琐的日志进行分析,提供系统管理员关心的内容。并且以良好的 Web 界面显示。http:/-7-图
21、 5 日志分析流程 日志分析过程,首先要对复杂的日志进行数据预先处理,针对系统记录的日志中 Web日志主要包括以下信息:日期、时间、客户 IP 地址、服务器 IP 地址、请求的方法、被请求文件的 URL、协议状态、引用页的 URL 以及用户代理等。为了净化数据首先应该删除掉Web 日志中与 Apriori 挖掘算法无关的数据,例如:URL 后缀为.gif.jpg 等。日志分析的文件主要包括网页集合文件 page,它用来存放已经访问过的所有页面的集合。包括 pageid 和 URL 两项内容。事务集合文件 tran,它用来存放用来分析的事务集合。包括 tranid,ip 地址,pagelist。
22、其中 paglist 是由 pageid 组合而成的访问序列。数据预处理时,扫描日志文件。首先查找 page 集合文件。如果是新访问的 page,那么就把它添加到 page 集合文件中并且在 tran 事务集合中添加对应 ip 的新的 page 序列。如果已经存在就取出 pageid。然后查找事务集合 tran。比较 IP 地址,如果该 IP 地址对应 page 序列中已经存在该 pageid。那么跳过。如此循环直至日志扫描完成。最终生成提供日志挖掘的事务数据集合 tran。下面就要通过关联规则,根据事务数据集合 tran 来挖掘日志。首先需要依 Apriori 算法来找出事务集合中访问页面的
23、最大频繁项集。这个频繁集合是一组访问页面的序列,由pageid 组成。在本文的 WAF 中产生的最大频繁项集为P002,P003,P011,P014,P020,每项表示访问页面的 pageid。根据关联规则的性质。性质 1 频繁项集的子集必定是频繁项集。实现了函数 subset()来根据最大频繁项集产生它的子集数组 subnet。依据预先定义的最小信任度 min_conf0.7,来产生强关联规则。两层循环子集数组subnet,然后扫描事务结合文件 tran 计算两两子 集P002,P004的合集 的支持度support(AB)。最后得出信任度:Confidence(P002,P004P005)
24、=)P005()P005 P004P002,(SupportSupport=80%如果 Confidence(P002,P004P005)大于或者等于 min_conf0.7,则产生强关联规则。然后根据 pageid 查找具体的 URL。就可以分析得到:攻击者访问过网页 P002,P004 有80的可能访问网页 P005。系统管理可以根据分析结果,得到一些用户习惯访问的页面序列。进而可以针对某些特定页面加强防护。4.多媒体资源管理系统中的多媒体资源管理系统中的 Web 保护保护 多媒体资源管理系统是基于 B/S 结构的管理系统。用户对多媒体资源的操作都是通过浏览器来实现的。它提供了对系统用户的
25、管理,媒体资源的下载以及网上交易等功能。这就使http:/-8-得其他的一些不法用户有机可乘,在 Web 层次针对媒体资源管理系统进行攻击。WAF 对多媒体资源管理系统提供了多种安全的策略,并且可以根据不同的情况,灵活配置不同的策略组合达到最优的 Web 保护。图 6 多媒体资源管理系统的 Web 保护 4.1 系统用户认证系统用户认证 首先,多媒体资源管理系统可以提供给一般的用户进行多媒体资源的浏览。但是对于具有某些权限在下载的用户就需要进行认证。例如,在多媒体资源管理系统中,存在后台管理的 Web 页面。我们并不能直接把他暴露给普通的用户。进入后台管理的认证完全是由 Web应用防火墙的访问
26、控制模块来提供的。当管理员通过浏览器管理后台时,是首先必须在提示的认证对话框中输入正确的用户名和密码。根据用户的级别不同,4.2 多媒体资源防护多媒体资源防护 由于 Web 服务器上存有大量的多媒体资源。有些攻击者可能不是按照常规的方法去下载多媒体资源,而是通过在浏览器中输入的 URL 中嵌入目录遍历攻击编码来列出 Web 服务器上的目录和文件进而进行下载。例如,index.jsp 页面没有正确检查过滤参数数据,远程攻击者可以在输入数据的 URL 中插入类似./././的目录遍历串,允许未经认证的远程攻击者利用 Web 接口读取远程系统上的任意文件,包括重要数据文件。WAF 通过 URL 拦截
27、模块可以对这些恶意的编码进行拦截。多媒体资源管理系统数据库的保护也显得十分重要的。攻击者可以通过 Web 页面的空间或者在 URL 中嵌入 SQL 注入语句。例如,当输入正确的用户名和密码时 SQL 语句会构造为 select*from user where name=admin and pwd=123456。当用户在控件中输入用户名admin or 1=1,口令为 123456,那么 SQL 的查询语句就构造为 select*from user where name=admin or 1=1 and pwd=123456。这条语句的条件是为真的那么这样就成功绕过用户认证。WAF 的安全防护引
28、擎可以这类的攻击防护达到很好的效果。并且记录在日志文件中以备查看。4.3 负载平衡负载平衡 由于 Web 防火墙本身是基于 Apache 的,因此可以利用 Apache 和 tomcat 结合实现负载均衡技术对多媒体资源管理系统的负载均衡。Apache 作为负载均衡器,多台 tomcat 服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都存有多媒体资源管理http:/-9-系统的一个副本。都可以单独对外提供服务而无须其他服务器的辅助。通过负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台 tomcat 服务器上,而接收到请求的tomcat 服务器独立地回应客户的请求
29、。但是对于外界用户来说好像访问的只有一个整体的服务器。这样的话攻击就可以平衡到个服务器上,这样就能为 Web 防火墙以及系统管理员争取到追踪攻击源的时间,并且在受到攻击的一段时间内多媒体资源管理系统还提供基本正常的服务,提高了多媒体资源管理系统的可靠性。图 7 多媒体资源管理的负载均衡 5.总结总结 本文论述了 Web 应用防火墙的实现原理以及其基本的一些功能。然后结合多媒体资源管理系统的某些特点利用 WAF 不仅有效的防护了 Web 层次的应用,而且利用 Web 压缩和负载均衡技术提高了多媒体资源管理系统的可靠性。参考文献参考文献 1 刘克龙,卿斯汉,冯登国一种基于 BLP 模型的安全 We
30、b 服务器系统 计算机学报,2003 2 隆功伦,席光文基于关联规则的虚拟主机网站日志挖掘 重庆文理学院学报,2007 3 李国俊,苏锐丹,周利华基于 OpenSSL 的 Web 安全访问控制设计与实现 微电子学与计算机,2006 4 方义著 Apache Server 的配置于管理 人民邮电出版社,2001 5 RYAN B.BLOOM 著 APACHE SERVER 2.0 技术参考大全清华大学出版社,2003 6 Andrew S.Tanenbaum 著计算机网络(第 4 版)清华大学出版社,2004 7 江魁著网络安全体系结构人民邮电出版社,2005 http:/-10-Web Fir
31、ewall and Its Application in Multimedia Resource Management System Chang Le Beijing Key Lab of Intelligent Telecomm Software and Multimedia,Beijing University of Posts and Telecommunication,Beijing (100876)Abstract Web application security is one of the hottest topics in computer application researc
32、h.The Multimedia Resource Management System includes multimedia resource management,downloading the resource and trade of the resource,etc.And it is unavoidable that some web security problems occur in the Multimedia Resource Management System.How to deal with it is an urgent thing.The paper analyzes the theory of the Web Application Firewall and makes it use on Multimedia Resource Management System and improve its security and reliability greatly.Keywords:Web Application Firewall,Network Security,Multimedia Resource Management