(计算机软件与理论专业论文)基于包拦截的内容过滤网关研究与应用.pdf_第1页
(计算机软件与理论专业论文)基于包拦截的内容过滤网关研究与应用.pdf_第2页
(计算机软件与理论专业论文)基于包拦截的内容过滤网关研究与应用.pdf_第3页
(计算机软件与理论专业论文)基于包拦截的内容过滤网关研究与应用.pdf_第4页
(计算机软件与理论专业论文)基于包拦截的内容过滤网关研究与应用.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

论文题目:基于包拦截的内容过滤网关研究与应用 专业:计算机软件与理论 硕士生:区咏莹 指导教师:罗笑南教授 摘要 日益增长的网络规模和复杂性也带来了新的问题。不同的网段使用了不同 的架构和网络协议,需要通过t c p i p 协议的把异构网络互连起来。由此发展起 来的i n t e m e t 以其一致性、广泛适用性融入人们的日常生活。使用者在享受信息 资源共享、实时交互通信的便利之余很少去考虑背后的危机。事实上在解决了 异种网络互连的问题的同时,t c p i p 协议的简单一致的设计思想也给网络安全 带来了隐患。由于设计的时候并没有考虑到安全性,各种恶意或非恶意的黑客 利用i n t e m e t 的弱点对其进行攻击。 本文以此为研究背景,分析t c p i p 协议的安全性能,以及防火墙实现的保 护作用。通过对比不同类型的防火墙的结构、功能和特点,结合各自的优点, 提出新的网关型防火墙架构和实现内容过滤的方法。为了结合包过滤防火墙高 效率和应用层网关提供的高层服务,对研究功能强大的f r e e b s d 内核网络工具 n e t g r a p h 和目前最流行的应用层s q u i d 进行了深入的研究。在阅读通信协议的规 范和程序源代码基础上,在网络底层使用n e t g r a p h 开发的内核节点拦截数据包。 同时经过对s q u i d 及其重定向器s q u i d g u a r d 的剖析,确定使用s q u i d g u a r d 解析 器的优秀文本处理能力。本文叙述了如何在安全网关上进行s q u i d g u a r d 程序移 植并提供内容过滤功能,实现新型的网关体系架构。 笔者在中大计算机应用研究所与天网安系统集成有限公司建立的中大网安 实验室从事研发工作。该架构和方法已经应用到该实验室的内容过滤网关项目 当中,体现了其可行性。 关键词:包拦截,内容过滤,程序移植,解析器,防火墙 t i t l e :s t u d ya n da p p l i c a t i o no f p a c k e ti n t e r c e p t i o n b a s e dc o n t e mf i l t e r i n gg a t e w a y m a j o r :c o m p u t e r s o f t w a r ea n dt h e o r y n a m e :o u y o n g y i n g s u p e r v i s o r :p 诧s s o r l u ox i a o n a n a b s t r a c t w ea r cn o w f a c i n gt h ep r o b l e mo f t h er a p i di n c 佗m e mo fn e t w o r k t c p i pi s d e v e l o p e dt oc o n n e c te t h e m e tt o g e t h e ra st h e ya r eu s i n gd i f f e r e n tp r o t o c o l s f r o m t h e no n , i m e m e tb e c o m ew i d em v o l v eo f d a i l yl i f e w h e ne n j o y i n gt h ei n f o r m a t i o n s h a r i n ga n dl o wc o s tc o m m u n i c a t i o nt h r o u g hi m e m e t ,u s e r ss e l d o mt h i n ka b o u tt h e d a n g e rh e h i n dt h i ss c e n e t h et c p i p h a v et ob es i m p l et ow o r ka tt h ew i d ea r r a n g e a n ds t i l lb ee f f e c t i v e o nt h eo t h e rh a n d ,t h es i m p l i c i t yb r i n g sv u l n e r a b i l i t yt o n e t w o r ks e c u r i t y h a c k e r sc a l l e a s i l ya t t a c ka n dh a c ki n t ot h en e t w o r kw h i l et h e p r i n c i p l eo f t h ep r o t o c o l d i d n tc o n s i d e ra b o u tt h em c u r l t y t h i sp a p e rs t u d yt h e s e c u r i t yp r o b l e mo ft c p h pa n dt h ep m t e 吐| o no fa f i r e w a l lc a nb r i n gt oi t t h ea u t h o rm a k e sac o m p a r eo fd i f f e r e n tk i n do ff w e w a l l s a c c o r d i n g t ot h e i rs t r u c t u r ea n df i m c t i o n t h e nb r i n go u tn e w g a t e w a y a r c h i t e c t u r et o i m p l e m e n tc o n t e mf i l t e r i n g 船a f i r e w a l lo nt h eb a s eo fr e a d i n gt h en e t w o r k p m t o c o la n ds o u s ec o d e , t h i sp a p e r s t u d i e st h ep o w e r f u lf r e e b s di n - k e r n e l n e t w o r k i n gt o o ln o , g r a p h a n du s e si tf o r p a c k e ti n t e r c e p t i o n s q u i d g u a r d ,t h e r e d i r e c t o ro f s q u i dp r o x ys e l v e r ) i si n t e g r a t e di n t ot h eg a t e w a y t op r o v i d ec o n t e n t f i l t e r i n g t h ea u t h o ri sd o i n g 佗s e a r c hw o r ki nt h ef i e l do fn e t w o r ks e c u r i t yf o rt h e 、 z h o n g s h a nu n i v e r s i t yc o m p u t e ra p p l i c a t i o ni n s t i t u t e t h ea r c h i t e c t u r ea n d m e t h o d s b r o u g h tf o r w a r d i nt h ep a p e ri s i m p l e m e n t e do nt h ep r o j e 吐o fc o c u tf i l t e r i n g g a t e w a y a n d p r o v e d k e y w o r d s :p a c k e ti n t e r c e p t i o n , c o n t e n tf i l t e r i n g ,p r o g r a mi n t e g r a t i o n ,p a r s e r , f i r e w a l l 基于包拦截的内容过滤罔关研究与应用 第1 章绪论 1 1 课题的研究背景及发展 把独立的计算机用通信线路连接起来的做法使计算机的功能得到了成倍的 增强,应用的广泛也起了革命性的变化。从单纯的高校、研究机构的科学计算领 域发展到工业、金融、电信、商业等行业的产业应用。计算机网络在科技生产领 域起到了主导作用。 i n t e r n e t 具有开放性、无缝的连接性和共享性,用户一旦与网络连接就可以 共享信息资源和计算机的资源,同时也使内部通信系统暴露在i n t e r a c t 上。我们 不但要对国际性的信息安全有清醒的认识,更重要的是建立内部网的内部资源 和信息交流的安全性。目前,世界各国都在大力进行研究和开发各种具有功 能的安全服务器、网络系统等。计算机通信的安全问题以及感成为影响社会稳 定和国家安全的战略性问题。 防火墙提供行之有效的网络安全机制,是网络安全策略的有机组成部分。 它通过控制和监测网络之间的信息交换和访问行为实现对网络安全的有效保 障,在内部网与外部网之间实施安全的防范措施。目前,虽然还没有哪一种安 全机制可以完全地确保网络的安全,但建立自己的防火墙无疑会给自己的网络 带来很大的好处。通过建立防火墙,可以保护内部网络不受来自i n t e m 6 t 的攻击, 创建安全域和增强机构安全策略。 1 2 网络安全课题的意义和实用价值 本网关型内容过滤系统是面向学校、企业、网吧等需要对网络信息进行监 控和过滤的单位而开发的、针对黄色信息和反动信息的分级内容过滤系统。当 前网络技术的普及和广泛应用,越来越多的未成年人开始接触到网络。由于他 第1 章绪论 们缺乏辨别能力,而当前网络里面内容广泛混杂,尤其是不良成分的内容泛滥, 为了保护不同年龄和认知层次的群体,存在建立内容过滤系统的必要。 目前国外生产厂商提供了大量性能优越可靠性高的防火墙,同时国内的产 品开发商也提出了各种针对不同类型企业环境解决方案。这些防火墙大都基于 底层数据包过滤或高层的应用层代理技术。如何突破现有的单一结构,建立功 能更强大、性能更优越的防火墙是急需解决的问题。相比国外知名厂商的防火 墙网络安全产品系列,我们自主产权开发的同类产品在功能、性能、可靠性、 健壮性等方面还是存在一定的差距。研发新一代的网络安全产品,抢占网络信 息安全的桥头堡,已经成为各部门、机构和企业的重点发展战略。 1 3 本文的结构安排 本课题对用于维护互联网络安全的防火墙相关理论进行研究,并结合实际 研究开发的项目,提出自己的方法与观点。 各章节的安排如下: 第一章为绪论,主要介绍了研究课题的背景和发展,提出本课题的研究目 标、内容、意义和实用价值。 第二章首先分析了t c p i p 协议存在的安全问题,再介绍了不同类型的防 火墙性能特点,对它们的技术进行比较。 第三章介绍本系统使用的f r e e b s d 内核网络3 1 具n e t g r a p h 以及如何使用它 实现内核数据包拦截。 第四章剖析应用层代理s q u i d 的重定向器s q u i d g u a r d 的内容过滤原理,其 性能的优良和实用性。进而分析如何通过标准重定向接口与s q u i d g a r d 通信。 第五章叙述如何利用s q u i d g u a r d 在自己定义的包拦截网关应用层架构上 实现内容过滤。 课题的目的在于:通过对网络安全现状和存在问题,以及当前流行的防火 墙系统的研究,使读者对数据交换模块的功能与结构有比较深入的理解,并进 一步提出自己的改进方法,并能为这个领域进一步的研究提供一些有意的理论 观点和实践经验。 2 基于包拦截的内容过游网关研究与应用 第2 章防火墙技术的分类及比较 2 1 网络安全的现状和问题 互连网技术屏蔽了底层网络硬件细节,使得异种网络之间可以互相通信。 t c p i p 协议组是目前使用最广泛的网络互连协议。但t c p i p 协议组本身存 在着一些安全性问题。这就给“黑客”们攻击网络以可乘之机。由于大量重要 的应用程序都以t c p 作为它们的传输层协议,因此t c p 的安全性问题会给网 络带来严重的后果。 从t c p 状态转移图着手进行分析可以得知黑客攻击的基本原理和进行安全 防范的落脚点。t c p 状态转移图控制了一次连接的初始化、建立和终止,该图 由定义的状态以及这些状态之间的转移弧构成。t c p 状态转移图与定时器密切 相关,不同的定时器对应于连接建立或终止、流量控制和数据传输。几类主要 的定时器及其功能如下: ( 1 ) 连接定时器:在连接建立阶段,当发送了s y n 包后,就启动连接定时 器。如果在7 5 秒内没有收到应答,则放弃连接建立。 ( 2 ) f i n - w a i t - 2 定时器:当连接从f i n - w a i t - 1 状态转移到f i n w a i t - 2 状 态时,将一个f i n w a i t - 2 定时器设置为1 0 分钟。如果在规定时间内该连接没 有收到一个带有置位f i n 的t c p 包,则定时器超时,再定时为7 5 秒。如果在 该时间段内仍无f i n 包到达,则放弃该连接。 ( 3 ) t i m e - w a i t 定时器:当连接进入t i m e - w a i t 状态时,该定时器被激活。 当定时器超时时,与该连接相关的内核数据块被删除,连接终止。 ( 4 ) 维持连接定时器:其作用是预测性地检测连接的另一端是否仍为活动状 态。如果设置了s o - k e e p a l i v e 套接字选择项,则t c p 机状态是e s t a b l i s h e d 或c l o s e w a i t 。 入侵者使用假i p 地址发送包,利用基于口地址证实的应用程序。其结果 是未授权的远端用户进入带有防火墙的主机系统。 第2 章防火墙技术的分类及比较 - - - 辚明霭声辩燕鬻馥痞鬻迁 = 憎! 锐l 目拣势辫瞬正常毽巷盎涟 茳用璐舞穗嘎墨左强j 拽静端种潍棒酵发生辨 蜷麓 量 投:说埔鲞载雾j l c 燃变爨掰) 翰蘸变迁 擞。说璃者了瑶辑幕r 卜拣雹瞄眭蹑蹙避静r c ,辩踅毂 图2 - 1t c p 状态转移图 假设有两台主机a 、b 和入侵者控制的主机x 。假设b 授予a 某些特权, 使得a 能够获得b 所执行的一些操作。x 的目标就是得到与b 相同的权利。 为了实现该目标,x 必须执行两步操作:首先,与b 建立一个虚假连接;然后, 阻止a 向b 报告网络证实系统的问题。主机x 必须假造a 的i p 地址,从而使 b 相信从x 发来的包的确是从a 发来的。 我们同时假设主机a 和b 之间的通信遵守t c p i p 的三次握手机制。握手 方法是: a 一:s y n ( 序列号= m ) b a :s y n ( 序列号= n ) ,a c k ( 应答序号= m + 1 ) a b :a c k ( 应答序号= n + 1 ) 4 基于包拦截的内容过渡网关研究与应用 主机x 伪造i p 地址步骤如下:首先,x 冒充a ,向主机b 发送一个带有 随机序列号的s y n 包。主机b 响应,向主机a 发送一个带有应答号的s y n + a c k 包、该应答号等于原序列号加1 。同时,主机b 产生自己发送包序列号,并将 其与应答号一起发送。为了完成三次握手,主机x 需要向主机b 回送一个应答 包,其应答号等于主机b 向主机a 发送的包序列号加1 。假设主机x 与a 和b 不同在一个子网内,则不能检测到b 的包,主机x 只有算出b 的序列号,才能 创建t c p 连接。其过程描述如下: x b :s y n ( 序列号_ m ) ,s r c = a b a :s y n ( 序列号= n ) ,a c k ( 应答号= m + 】) x b :a c k ( 应答号- - - - n + i ) ,s r c = a 同时,主机x 应该阻止主机a 响应主机b 的包。为此,x 可以等到主机 a 因某种原因终止运行,或者阻塞主机a 的操作系统协议部分,使它不能响应 主机b 。一旦主机x 完成了以上操作,它就可以向主机b 发送命令。主机b 将 执行这些命令,认为他们是由合法主机a 发来的。 上述的入侵过程,主机x 是如何阻止主机a 向主机b 发送响应在的,主机 调通过发送一系列的s y n 包,但不让a 向调发送s y n a c k 包而中止主机a 的登录端口。如前所述,t c p 维持一个连接建立定时器。如果在规定时间内( 通 常为7 5 秒) 不能建立连接,则t c p 将重置连接。在前面的例子中,服务器端 口是无法在7 5 秒内作出响应的。 下面我们来讨论一下主机x 和主机a 之间相互发送的包序列。x 向a 发送 一个包,其s y n 位和f i n 位置位,a 向x 发送a c k 包作为响应: x a :s y nf i n ( 系列号= m ) a x :a c k ( 应答序号= m h ) a 开始处于监听( l i s n ) 状态。当它收到来自x 的包后,就开始处理 这个包。值得注意的是,在t c p 协议中,关于如何处理s y n 和f i n 同时置位 的包并未作出明确的规定。我们假设它首先处理s y n 标志位,转移到 s y n - r c v d 状态。然后再处理f i n 标志位,转移到c l o s e w a i t 状态。如果 前一个状态是e s t a b l i s h e d ,那么转移到c l o s e w a i t 状态就是正常转移。 但是,t c p 协议中并未对从s y n - r c v d 状态到c l o s e w a i t 状态的转移作出 第2 章防火墙技术的分类及比较 定义。 在上述入侵例子中,由于三次握手没能彻底完成,因此并未真正建立t c p 连接,相应的网络应用程序并未从核心内获得连接。但是,主机a 的t c p 机处 于c l o s e w a i t 状态,因此它可以向x 发送一个f i n 包终止连接。这个半开 放连接保留在套接字侦听队列中,而且应用进程不发送任何帮助t c p 执行状态 转移的消息。因此,主机a 的t c p 机被锁在了c l o s e w a i t 状态。如果维持 活动定时器特征被使用,通常2 小时后t c p 将会重置连接并转移到c l o s e d 状 态。 当t c p 机收到来自对等主机的r - s t 时,就从e s t a b l i s h e d ,f i n w a i t - 1 和f i n w a i t - 2 状态转移到c l o s e d 状态。这些转移是很重要的,因为它们重 置t c p 机且中断网络连接。但是,由于到达的数据段只根据源i p 地址和当前 队列窗口号来证实。因此入侵者可以假装成已建立了合法连接的一个主机,然 后向另一台主机发送一个带有适当序列号的r s t 段,这样就可以终止连接了。 从上面的分析我们可以看到几种t c p 应用程序中都存在外部状态转移。这 会给系统带来严重的安全性问题。 我们通过在局域网上安装一个网络监控程序s n i f f e r 观测通过网络的包,从 而判断是否发生了网络入侵。下面我们将讨论在几种入侵过程中网络监控设备 可观测到的序列包。 最常见的手法是伪造i p 地址 。最初,网络监控设备会监测到大量的t c p s y n 包从某个主机发往a 的登录端口。主机a 会回送相应的s y n - a c k 包。 s y n 包的目的是创建大量的与主机a 的半开放的t c p 连接,从而填满了主机 a 的登录端口连接队列。 大量的t c ps y n 包将从主机x 经过网络发往主机b ,相应地有s y n a c k 包从主机b 发往主机x 。然后主机x 将用r s t 包作应答。这个s y n s y n a c k r s t 包序列使得入侵者可以知道主机b 的t c p 序列号发生器的动作。 主机a 向主机b 发送一个s y n 包。实际上,这是主机x 发送的一个“伪 造”包。收到这个包之后,主机b 将向主机a 发送相应的s y n - a c k 包。主机 a 向主机b 发送a c k 包。按照上述步骤,入侵主机能够与主机b 建立单向t c p 连接。 基于包拦裁的内容过滤网关研究与应用 另外一种情况是虚假状态转移。当入侵者试图利用从s y n - r c v d 到 c l o s e w a i t 的状态转移长时间阻塞某服务器的一个网络端口时,可以观察到 如下序列包: ( 1 ) 从主机x 到主机b 发送一个带有s y n 和f i n 标志位置位的t c p 包。 ( 2 ) 主机b 首先处理s y n 标志,生成一个带有相应a c k 标志位置位的包, 并使状态转移到s y n r c v d ,然后处理f i n 标志,使状态转移到c l o s e w a i t , 并向x 回送a c k 包。 ( 3 1 主机x 不向主机b 发送其它任何包。 主机的t c p 机将固定在c l o s e w a i t 状态。直到维持连接定时器将其重置 为c l o s e d 状态。因此,如果网络监控设备发现一串s y n f 1 n a c k 包,可 推断入侵者正在阻塞主机b 的某个端口。 还有定时器的问题,如果一入侵者企图在不建立连接的情况下使连接建立 定时器无效,我们可以观察到以下序列包: r 1 1 主机x 从主机b 收到一个t c p s y n 包。 ( 2 ) 主机x 向主机b 回送一个s y n 包。 ( 3 ) 主机x 不向主机b 发送任何a c k 包。 因此,b 被阻塞在s y n r c v d 状态,无法响应来自其它客户机的连接请求。 为了防护这种利用t c p i p 协议的不足性的入侵行为,但我们可以采取以下 措施来尽可能地保护系统免受这类攻击。首先,我们可以配置路由器和网关, 使它们能够拒绝网络外部与本网内具有相同i p 地址的连接请求。而且,当包的 i p 地址不在酝酿网内时,路由器和网关不应该把本网主机的包发送出去。 2 2 防火墙技术分析 在构建安全的网络环境的过程中,防火墙作为第一道安全防线,正受到越 来越多用户的关注。通常一个公司在购买网络安全设备时,总是把防火墙放在 首位。目前,防火墙已经成为世界上用得最多的网络安全产品之一。那么,防 火墙是如何保证网络系统的安全,又如何实现自身安全的呢? 众所周知,防火墙是一种将内部网和公众网如i m e r n e t 分开的方法。它能 7 第2 章防火墙技术的分类及比较 限制被保护的网络与互联网络之间,或者与其他网络之间进行的信息存取、传 递操作。防火墙可以作为不同网络或网络安全域之间信息的出入口,能根据企 业的安全策略控制出入网络的信息流,且本身具有较强的抗攻击能力。它是提 供信息安全服务,实现网络和信息安全的基础设旌。在逻辑上,防火墙是一个 分离器,一个限制器,也是一个分析器,有效地监控了内部网和i n t e r a c t 之间的 任何活动,保证了内部网络的安全。防火墙的安全技术包括包过滤技术、网络 地址转换_ n a t 技术、代理技术等。 2 2 1 防火墙类型 包过滤技术( p a c k e tf i l t e r ) 是防火墙为系统提供安全保障的主要技术,它 通过设备对进出网络的数据流进行有选择的控制与操作。包过滤操作通常在选 择路由的同时对数据包进行过滤( 通常是对从互联网络到内部网络的包进行过 滤) 。用户可以设定一系列的规则,指定允许哪些类型的数据包可以流入或流 出内部网络;哪些类型的数据包的传输应该被拦截。包过滤规则以i p 包信息为 基础,对p 包的源地址、i p 包的目的地址、封装协议( t c p u d p i c m p i p t u n n e l ) 、端口号等进行筛选。包过滤这个操作可以在路由器上进行,也可以在 网桥,甚至在一个单独的主机上进行。 传统的包过滤只是与规则表进行匹配。防火墙的i p 包过滤,主要是根据一 个有固定排序的规则链过滤,其中的每个规则都包含着i p 地址、端口、传输方 向、分包、协议等多项内容。同时,一般防火墙的包过滤的过滤规则是在启动 时配置好的,只有系统管理员才可以修改,是静态存在的,称为静态规则。 图2 - 2 包过滤防火墙 基于包拦藏的内容过滤同关研究与应用 应用层网关或代理服务器( a p p l i c a t i o nl e v e lg a t e w a yo rp r o x ys e r v e r ) 是 代理内部网络用户与外部网络服务器进行信息交换的程序。它将内部用户的请 求确认后送达外部服务器,同时将外部服务器的响应再回送给用户。这种技术 被用于在w e b 服务器上高速缓存信息,并且扮演w e b 客户和w e b 服务器之间 的中介角色 。它主要保存因特网上那些最常用和最近访问过的内容,为用户提 供更快的访问速度,并且提高网络安全性。这项技术对i s p 很常见,特别是如 果它到因特网的连接速度很慢的话。在w e b 上,代理首先试图在本地寻找数据, 如果没有,再到远程服务器上去查找。也可以通过建立代理服务器来允许在防 火墙后面直接访问因特网。代理在服务器上打开一个套接字,并允许通过这个 套接字与因特网通信。 图2 - 3 应用层网关 电路级网关( c i r c u i tg a t e w a y ) 用来监控受信任的客户或服务器与不受信任 的主机间的t c p 握手信息,这样来决定该会i 舌( s e s s i o n ) 是否合法,电路级网关是 在o s i 模型中会话层上来过滤数据包,这样比包过滤防火墙要高两层。它与应用 代理网关类似,但进行的代理通常与应用无关。这样就失去了详尽记录和精确 定义规则的能力。电路级网关是一台运行网关应用程序的设备,它只支持t c p i p 应用,使用t c p 端口实现网络资源和用户应用程序之间的通信。它还要求客户 端使用特殊软件才能为应用到应用的通信服务。 9 第2 章防火墙技术的分类及比较 从体系机构来分,防火墙只要有以下几种: ( 1 ) 屏蔽路由器( s c r e e n i n gr o u t e r ) 这是防火墙最基本的构件。它可以由厂家专门生产的路由器实现,也可以 用主机来实现。屏蔽路由器作为内外连接的唯一通道,要求所有的报文都必须 在此通过检查。路由器上可以装基于i p 层的报文过滤软件,实现报文过滤功能。 许多路由器本身带有报文过滤配置选项,但一般比较简单。 单纯由屏蔽路由器构成的防火墙的危险带包括路由器本身及路由器允许访 问的主机。它的缺点是一旦被攻陷后很难发现,而且不能识别不同的用户。 ( 2 ) 双穴主机网关( d u a lh o m e dg a t e w a y ) 这种配置是用一台装有两块网卡的堡垒主机做防火墙。两块网卡各自与受 保护网和外部网相连。堡垒主机上运行着防火墙软件,可以转发应用程序,提 供服务等。 双穴主机网关优于屏蔽路由器的地方是:堡垒主机的系统软件可用于维护 系统日志、硬件拷贝日志或远程日志。这对于日后的检查很有用。但这不能帮 助网络管理者确认内网中哪些主机可能己被黑客入侵。 双穴主机网关的一个致命弱点是:一旦入侵者侵入堡垒主机并使其只具有 路由功能,则任何网上用户均可以随便访问内网 ( 3 ) 被屏蔽主机网关( s c r e e n e dh o s tg a t e w a y ) 屏蔽主机网关易于实现也很安全,因此应用广泛。例如,一个分组过滤路 由器连接外部网络,同时一个堡垒主机安装在内部网络上,通常在路由器上设 立过滤规则,并使这个堡垒主机成为从外部网络唯一可直接到达的主机,这确 保了内部网络不受束被授权的外部用户的攻击。 如果受保护网是一个虚拟扩展的本地网,即没有予网和路由器,那么内网 的变化不影响堡垒主机和屏蔽路由器的配置。危险带限制在堡垒主机和屏蔽路 由器。网关的基本控制策略由安装在上面的软件决定。如果攻击者设法登录到 它上面,内网中的其余主机就会受到很大威胁。这与双穴主机网关受攻击时的 情形差不多。 ( 4 ) 被屏蔽予网( s c r e e n e ds u b n e t ) 这种方法是在内部网络和外部网络之间建立一个被隔离的子网,用两台分 l o 基于包拦截的内容过滤网关研究与应用 组过滤路由器将这一子网分别与内部网络和外部网络分开。在很多实现中t 两 个分组过滤路由器放在子网的两端,在子网内构成一个“非军事区”d m z 。有 的屏蔽子网中还设有一堡垒主机作为唯一可访问点,支持终端交互或作为应用 网关代理。这种配置的危险带仅包括堡垒主机、子网主机及所有连接内网、外 网和屏蔽子网的路由器。 如果攻击者试图完全破坏防火墙,他必须重新配置连接三个网的路由器, 既不切断连接又不要把自己锁在外面,同时又不使自己被发现,这样也还是可 能的。但若禁止网络访问路由器或只允许内网中的某些主机访问它,则攻击会 变得很困难。在这种情况下,攻击者得先侵入堡垒主机,然后进入内网主机, 再返回来破坏屏蔽路由器,整个过程中不能引发警报。 建造防火墙时,一般很少采用单一的技术,通常是多种解决不同问题的技 术的组合。 2 2 2 防火墙技术比较 包过滤防火墙主要工作在o s i 模型的第三层( 网络层) ,与应用层无关,这 样系统就具有很好的传输性能,速度快,实现方便,易扩展。但这种防火墙审 计功能差,安全性也相对较低。 电路级网关通过在t c p 握手过程中,检查双方的s y n ,a c k 和序列数据 是否符合逻辑,来判断该请求的会话是否合法。一旦该网关认为会话是合法的, 就会为双方建立连接,以后,网关仅复制、传递数据,而不进行过滤。电路级 网关通常需要依靠特殊的应用程序来进行复制传递数据的服务。 通常来讲,电路级网关并非作为一个独立的产品存在,它与其他的应用级 网关结合在一起,所以有人也把电路级网关归为应用级网关电路级网关是在 o s i 模型中会话层来过滤数据包。也因为如此,它就无法检查应用层级的数据 包。 部署应用层网关有许多优点。应用层网关能够让网络管理员对服务进行全 面的控制,因为代理应用限制了命令集并决定哪些内部主机可以被某种服务访 问。由于没有特定的服务的代理就不提供该服务,网络管理员可以通过设定代 第2 章防火墙技术的分类及比较 理完全控制提供哪些服务罾。应用层网关有能力支持可靠的用户认证和提供详细 的注册信息。相对于包过滤路由器的过滤规则,应用层网关更容易配置和测试。 应用层网关代理是与特定应用有关的,它适用于某些特定的i n t e m e t 服务, 如h t t p 、f t p 等等。但是特定应用的代理只能接收来自此项服务产生的数据 包,如只有t e l n e t 的代理才能对t c l n e t 的数据进行复制传递和过滤。应用层网 关的缺点是要求用户必须设置该网关为自己的代理。代理的缺点是,显式代理 必须明确指定端口号,基于重定向的透明代理也必须监听特定端口,这样很可 能造成错报或漏报。代理( p r o x y ) 能在o s i 模型中应用层进行包过滤,这就允 许更大的灵活性在o s i 应用层上,应用级网关代理需要检查经过网关的每个数 据包的内容,这些代理能分析h t t p 、f t p 等一些特定的应用协议的命令,过 滤某些服务。 应用网关防火墙的工作原理是检查所有应用层的信息包,并将检查的内容 信息放入决策过程,能进行安全控制又可以加速访问,能够有效地实现防火墙 内外计算机系统的隔离,这样安全性有所提高。然而,它们是通过打破客户机, 服务器模式实现的,每一个客户机,月艮务器通信需要两个连接:一个是从客户端 到防火墙,另一个是从防火墙到服务器。另外,每一个代理需要一个不同的应 用进程,或一个后台运行的服务程序,这样如果有一个新的应用就必须添加对 此应用的服务程序,否则不能使用该种服务,可伸缩性差。但应用级网关是目 前比较安全并且使用最多的防火墙技术。 2 3 s q u i d 应用层网关 s q u i d 是高性能的代理缓存服务器。它支持h t t p 、f t p 、g o p h e r 、s s l 和w a i s 协议。s q u i d 对所有请求使用了单一的、非阻塞的i o 驱动过程,而 不象传统的代理缓存软件那样。当s q u i d 启动时,它调用一定数量的域名系统 ( d n s ) 查找过程,每一个过程都单独实现查找,从而减少了缓存等待的时间。 s q u i d 在r a m 中存储元数据尤其是最常用的数据对象,缓存d n s 查找, 支持非阻塞d n s 查找。i n t e r n e t 对象是一个文件或者是对f 1 em 邯g o p h e r 等 i n t e r n e t 服务的请求的一个响应。用户从缓存代理中获取i n t e r n e t 对象,而当对 基于包拦截的内容过滤网关研究与应用 象不存在缓存中时代理服务器从主机中取得该对象,再返回给用户。例如当一 个用户象要下载一个主页时,它向s q u i d 发出一个申请,要s q u i d 替它下载, 然后s q u i d 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一 个备份,当别的用户申请同样的页面时,s q u i d 把保存的备份立即传给用户,使 用户觉得速度相当快,可以明显地解决网络访问带宽问题。 图2 - 4 缓存代理 由于的s q u i d 的特点和安全设计良好,利用其访问控制功能可实现网络安 全目的。一个例子是它可以很好地防护象r e d c o d e 这样会现成大量w e b 访问的 流行病毒。 2 3 1s q u i d 和s q u i d g u a r d 的构建与配置 下载源代码,进行编译安装: s t a rx z v f s q u i d - 2 5 s t a b l e 4 t a r g z $ c d u s r l o c a l s q u i d s r c s q u i d 一2 5 s t a b l e 4 $ j c o n f i g u r e $ m a k e $ m a k ei n s t a l l 还需要手工创建c a c h e 目录: $ m k d k u s r l o c a l s q u i d v a r c a c h e 第2 章防火墙技术的分类及比较 需要注意的是要把l o g s 目录和c a c h e 目录的属性改为任何人可写: $ c h m o d7 7 7 u s r l o c a l s q u i d v a r l o g s $ c h m o d7 7 7 u s r i o c a v s q u i d v a r c a c h e ,第一次运行必须用以下命令产生s q u i d 所有的缓存目录: $ u s r ,l o c a v s q u i d b i n s q u i d - z h 礅s q u i d $ u s r l o c a l s q u i d b i n s q u i d - n c d l 对s q u i d g u a r d 进行安装与配置需要在c o n f i g u r e 时输入参数: # c o n f i g u r e - w i t h - s g - c o n f i g = u s r l o c a l s q u i d g u a r d s q u i d g u a r d c o a l - - w i t h - s g - l o g d i r = u s r l o c a l s q u i d g u a r d l o g s - - w i t h - s g - d b h o m e = u s r i o c a v s q u i d g u a r d d b 因为s q u i d 没有默认使用从定向器,所以在配置的时候必须在s q u i d c o n f 加 上标记,修改配置文降u s r l o c a v s q u i d e t c s q u i d c o n f 并加上: r e d i r e c tp r o g r a m :u s r l o c a l b i n s q u i d g u a r d - c u s r l o c a v s q u i d c t c s q u i d g u a r d c o n f 然后重启s q u i d : $ s q u i d - kr c c o n f i g u r c 最后要建立过滤数据库u s r l o c a v s q u i d g u a r d d b ,在网站下载黑名单,解压 文件到l u s r l o c a v s q u i d g u a r d d b 下。 2 3 2s q u i d 应用层网关体系结构 s q u i d 主要由以下几部分组成:主函数m a i n 作为服务器,域名系统查找程 序d n s s e r v e r ,访问控制的和执行授权的程序模块,管理和客户工具。 d n s s e r v e r 是s q u i d 生成的一个进程,用于把域名解释为i p 地址。因为函数 g e t h o s t b y n a m e 在d n s 查询完成之前阻塞进程,所以必须要在外部执行d n s s e r v e r 查找d n s ,以便s q u i d 使用非阻塞的输入输出。同时s q u i d 本身缓存d n s 查找 结果,减轻d s n s e r v e r 进程的负担。 i c p 互联网缓存协议( i n t e m e tc a c h ep r o t o c 0 1 ) 是s q u i d 缓存之间通信使用 的一种协议。它定义在r f c 2 1 8 6 中,r f c 2 1 8 7 则描述如何在分级w e b 缓存机 1 4 基于包拦截的内容过滤阿关研究与应用 制中使用。i c p 主要在缓存分级中使用,在兄弟缓存中定位特定的对象。如果 一个s q u i d 缓存找不到被请求的文件,它向兄弟缓存发送一个i c p 查询,兄弟 缓存使用i c p 回应存在还是没有这个对象。目前i c p 在u d p 之上执行,而在单 个的t c p 连接中,i c p 也支持多对象流的多路传输。s q u i d 最近最少使用( l r u ) 算法来替换旧的缓存对象,最长时间没有使用的对象首先被替换掉。在源代码 中变量s t o r e e n t r y - l a s t m f 的值在对象每次存取的时候都更新以记录其使用频 度。这样,在固定间隔时间里替换算法自动执行,不需要特意去指定删除在缓 存中的对象。 s q u i d 通过定义在配置文件中定义一系列的用户组、源目的地址、a c l 访问 控制列表( a c c e s sc o n t r o ll i s t ) 实现对用户的访问控制和重写用户请求。但这 种做法有很大的限制性。由于所有访问控制规则都必须手工显式地设置在 s q u i d c o n f 文件中,其列表数量、速度等都不能取得理想的效果。过多的a c l 条目还会给设置和维护带来极大的不便。另外s q u i d 不支持使用数据库来存储 a c l ,使得自身无法突破该瓶颈。 2 3 3 重定向器s q u i d g u a r d s q u i d 具有重写被请求的u r l 的能力。它能使用以外部进程形式定义的重定向 器来传递每一个输入的u r l ,返回新的u r l 或是表示没有变化的空符。在某 些情况下也可以在返回中带有h t t p 响应代码”3 0 1 ”或”3 0 2 ”。重定向器程序不是 s q u i d 自身程序包的一个标准组成部分。一个重定向器允许管理人控制其用户可 以访问的站点,当把它和拦截代理组合起来使用的时候,网站不良内容( 如色情、 暴力等) 的控制变得更加简单和有效。 重定向器程序必须在标准输入读取u r l ,然后在标准输出重写u r l 。它不 能使用缓冲区进行输入输出。重定向器需要u r l 来确定采取的步骤,可是s q u i d 在传送信息中加入了额外的信息如i p 地址、f q d n ( f u l l yq u a l i f i e dd o m a i nn a m e ) 等。 另外需要留意的是,重定向器程序只有在它的标准输入s t d i n 关闭时才能退出。 如果看到“所有重定向器已经退出”,可能意味着你的重定向器程序产生了问题。 s q u i d g u a r d 则是作为s q u i d 的辅助软件,完成过滤、重定向和访问控制的 第2 章防火墙技术的分类及比较 功能。它是一个自由软件,功能强,便于安装、易于配置、而且处理速度快。 功能主要包括:根据w e b 服务器或u r l s 列表限制一些用户的访问;阻塞某些 用户对黑名单上的w e b 服务器和u r l s 的访问;阻塞某些用户对正则表达式匹 配的u r l s 的访问;在u r l 路径加强了使用域名访问而禁止用i p 访问;重定 向阻塞的u r l s 到一个智能c g i 的信息页;重定向非授权用户到一个注册页面; 具有基于日期、每周、每天具体时间的访问规则;对不同用户组有不同的规则。 但是不能过滤、检查文档中的文本以及h t m l 中的j a v a s c r l p t 或v b s c r i p t 脚本 语言。s q u i d g u a r d 实现的具体功能有: ( 1 ) 对接入w e b 进行限制,指定接入的用户列表,指定常用的w e b 服务器或 仅仅是l i r l s ( 2 ) 禁止接入指定的或黑名单上的w e b 服务器,或禁止某些用户接入u r l s ( 3 ) 禁止某些用户接入匹配某些常规表达式或文字的u r l s ( 4 ) 强制使用域名,禁止在u r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论