(检测技术与自动化装置专业论文)基于linux的虚拟主机信息监控系统的设计与实现.pdf_第1页
(检测技术与自动化装置专业论文)基于linux的虚拟主机信息监控系统的设计与实现.pdf_第2页
(检测技术与自动化装置专业论文)基于linux的虚拟主机信息监控系统的设计与实现.pdf_第3页
(检测技术与自动化装置专业论文)基于linux的虚拟主机信息监控系统的设计与实现.pdf_第4页
(检测技术与自动化装置专业论文)基于linux的虚拟主机信息监控系统的设计与实现.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

哈尔滨理工大学工学硕士学位论文 一i ii i - 基于l i n u x 的虚拟主机信息监控系统的设计与实现 摘要 随着互联网的迅速发展,以虚拟主机作为信息发布平台的大量小规模网站 的数目逐渐增多,它们对互联网的信息繁荣做出了很大的贡献的同时也带来了 一些问题,比如一些非法有害信息的发布与传播,因此迫切需要从技术手段上 对虚拟主机进行有效的监管。 现有的网络监控产品,大多只用于监控网络设备的故障和性能,而网络安 全产品主要是用于防范黑客的入侵,安全部门虽然在网络的出口配置信息过滤 装置,但因为在网络主干上数据包过于密集,能够分析和记录的数据有限,因 此对于虚拟主机这样的信息发布平台,目前市场上还很少有相应的信息监控产 品。 本文所开发的虚拟主机信息监控系统正是从这一需求出发,针对互联网安 全主管机构、互联网服务提供商等客户对网站监管、发布信息安全控制的实际 需要,提出的互联网信息监控系统解决方案。本系统以当前流行的l i n u x 系统 为平台。基于n e t f i l t e r 功能框架,利用其完善的包过滤技术,以内核模块的方 式实现了信息监控功能,并结合i p t a b l e s 和网桥通过对以太网帧的转发,实现 了透明网关。同时,该系统还结合了良好的日志审计功能和简单入侵检测功 能,更增强了系统的安全性和可管理性。 通过对已完成系统的实际测试表明,本系统具有低成本、易管理、可伸缩 的系统特性,可以轻松怏捷的开展互联网信息监控工作,提高监控效率,加大 监控力度,有效降低成本,减少人力投入,具有广阔的应用前景。 关键词l i n u x :虚拟主机:信息过滤:n e t f i l t e r d e s i g na n di m p l e m e n t o fv i r t u a lh o s ti n f o r m a t i o n m o n i t o r i n gs y s t e mb a s e d o nl i n u x a b s t r a c t t h en u m b e ro f s m a l 】h o s t sw h i c hb a s e do nv i r t u a lh o s tb e c o m e sm o r ea n dm o r e w i t ht h ef a s tg r o wo fi n t e m e t t h e ym a k eal o to fc o n t r i b u t i o nt ot h ei n f o r m a t i o n p r o s p e r i t yo fi n t e r a c t ,y e tt h e r e a r es o m ep r o b l e m ss u c ha sr e l e a s ea n ds p r e a do f i l l e g a la n dh a r m f u li n f o r m a t i o n s oi t i sv e r yu r g e n tt ot a k ee f f e c t i v em e t h o dt o a d m i n i s t e rt h e 、:, i r t u a lh o s ti nt e c h n i q u e m a n yn e t w o r km o n i t o r i n gp r o d u c t sn o w t h a tc a r lo n l yu s e df o rf i n d i n gt h ef a u l t a n dm e a s u r i n gt h ep e r f o r m a n c eo fn e t w o r kd e v i c e ,a n ds o m eo t h e ri n t e r a c ts e c u r i t y p r o d u c tu s e df o rp r e v e n t i n gt h ei n t r u d eo f h a c k e r s e c u r i t yo r g a n i z a t i o nc a l li n s t a l la l l i n f o r m a t i o nf i l t e r i n gd e v i c ea tt h ee x p o r to ft h en e t w o r k ,b u tt h e r es om a n yp a c k e t t h r o u g hi tt h a tn l a k e 7i th a r dt oa n a l y z ea n dr e c o r de n o u g hd a t a s ot h en e e do fa s y s t e mt h a tc a nm o n i t o rt h ei n f o r m a t i o n0 i 2t h ev i r t u a l h o s ta tr e a l - t i m ei sv e r yu r g e n t o u rs y s t e mu s e dt h ep o pt e c h n o l o g yo fp a c k e t + f i l t e r i n gt h a tb a s e dn e t f i l t e r f r a m e w o r ki nl i n u x r e a l i z e dt h ei n f o r m a t i o nf i l t e r i n gf u n c t i o n ,a n dw i n li p t a b l e s a n db r i d g er e a l i z e dt h ef u n c t i o nt oc a p t u r et h ep a c k e t a tt h es s i n et i m e ,t h i ss y s t e m s u p p o r tl o ga u d i t 腼j t i o na n ds i m p l ei d sf u n c t i o n r e i n f o r c et h es y s t e m ss e c u r i t y a n de a s yt om a n a g e n i et e s tr e s u ko f o u rf m i s h e ds y s t e mi n d i c a t e dt h a tt h i ss y s t e mh a st h ep r o p e r t y o fc h e a p ,e a s yt om a n a g ea n de x t e n s i b l e ,a n dm a k ei te a s ya n de f f e c t i v et om o n i t o r t h ei n f o r m a t i o no fi n t e m e tw i t hg o o dp e r f o r m a n c e w eb e l i e v et h a to u rs y s t e mw i l l b eu s e dw i t t yv d t hg r e a tp r o m i s e k e y w o r dl i n u x ;v i r t u a lh o s t ;i n f o r m a t i o nf i l t e r i n g ;n e t f i l t e r 一一 哈尔滨理工大学工学硕士学位论文 i 1 课题背景及意义 第1 章绪论 随着互联网技术的不断快速发展和完善,因其独具的传播快速高效而备受 关注,现在互联网技术已经成为人们日常生活中的一部分,根据c n n i c 发布 的第十四次中国互联网络发展统计报告中的数字,中国互联网行业经过十几年 的发展,目前已经积累9 0 0 0 多万的互联网用户,在两年之内,中国的网民数 量可能超过美国,成为世界最大的网民群体【“。 最好的信息必须通过严肃、核实、准确、平衡和公正的手法发布到大众那 里,由于互联网的方便快捷,人们可以随意在互联网发布自己的信息,这样就 有可能会出现与事实不相符的虚假新闻,使新闻的真实性、权威性大打折扣, 甚至成为了一些别有用心的人传播不利于社会稳定和长治久安的信息的途径, 使大量的黄色、反动、邪教、网络犯罪的信息充斥网络【2 l 。如何保证互联网给 人们的生活带来快捷的同时,减少乃至杜绝网络中大量的非法有害信息成为困 扰国家信息安全部门的一个难题。 根据统计分析,目前的互联网以中文为主要信息途径的带有非法有害信息 的网站分为两大类:一类为在境外托管服务器的大型网站,另一类为在国内租 用虚拟主机网站空间的小规模网站,而后一类网站占据了中文网站的8 0 以上 。如何控制非法有害信息的肆意流行,并在第一时间掌握有害信息传播的情 况,已经成为国家各部门非常关心的问题。要在根本上解决有害信息的传播, 就要对信息浏览的起点,即虚拟主机做好监督和管理工作。 但是,鉴于目前中国虚拟主机运营体系所存在的管理上的漏洞以及技术上 的缺陷,还无法及时控制非法有害信息在以虚拟主机为平台的网络上传播。目 前国内外现有的网络监控产品,大多只用于监控网络设备的故障和性能,而网 络安全产品主要是用于防范黑客的入侵,安全部门虽然在网络的出口配置信息 过滤装置,但因为在网络主干上数据包过于密集,能够分析和记录的数据有 限,从信息安全的需要出发,迫切需要一种能针对以虚拟主机为平台的流通信 息进行实时监控和分布式检测的系统1 3 】。 因此,如何能根据虚拟主机的特点,从而实现一个真正能够实时监控虚拟 主机网站内容的系统成了追在眉睫的问题。 堕玺鎏耋三奎兰王兰璧圭兰垒l 婆 1 2 信息过滤技术的现状 “信息过滤”这个概念是在1 9 8 2 年由d e n n i n g 提出来的1 4 ) ,信息过滤主 要包含普通网站网页上的有害信息过滤、电子邮件中的有害信息的过滤和病毒 邮件的过滤。目前,市场上的各种信息过滤产品大多局限性比较大,大体分为 两类:单机版和网络版。单机版的代表性产品有联想蓝眼睛智能信息过滤系 统,该系统采用了地址库过滤和页面分析双重查杀的方式,过滤掉了互联网有 声信息的访阀,但对有害信息的审计和控制方面因为其采用单机模式而十分有 限。网络版产品国内的代表性产品有微创信息过滤平台,通过使用m i c r o s o r i s as e r v e r 的w e bp r o x y 功能,实现对局域网访问i n t e m e t 的控制、过滤、访问 量统计等功能。通过w e bs e r v i c e 连接中心服务器,进行数据收集、分析报表, 因为其采用代理模式势必对原网络拓扑结构产生很大的影响,产品的适应性和 过滤性能将受到很大的影响。 1 2 1 文本过滤技术现状 各个过滤系统在对非法信息过滤的功能上都使用文本过滤。到目前为止, 世界上对文本过滤技术的研究非常广泛,研究文本过滤的单位和国体都取得了 一定的成果。其中,中国科学院计算技术研究所的文本过滤系统,自适应过滤 平均准确率为2 4 5 ,批过滤平均准确率为4 0 5 。微软剑桥研究院的文本过 滤系统,自适应过滤平均准确率为2 4 0 5 ,批过滤平均准确率为3 4 3 。复旦 大学的文本过滤系统,自适应过滤平均准确率为2 6 5 。批过滤平均准确率为 3 1 7 。文本过滤技术是一种很必要却不可靠的技术,它的完善还需要走很长 的路扭。文本过滤项目韵任务定义是【6 l : 给定一个主题描述( 印用户需求) ,建立一个能从文本流中自动选择最相 关文本的过滤模板( f i l t e r i n gp r o f i l e ) 。随着文本流的逐渐进入,过滤系统自动 地接受或拒绝文本,并得到文本相关与否的反馈信息,再根据反馈信息自适应 地修正过滤模板。它主要包含三个子任务:分流、批过滤、自适应过滤。 分流( r o u t i n g ) 子任务:用户需求固定,提供对应于该用户需求的训练 文本集中的相关文本,从用户需求构造查询语句来查询测试文本集。 批过滤( b a t c hf i l t e r i n g ) :它和分流子任务很类似:用户需求固定,提供 对应于被用户需求的训综文本集中的相关文本,构造过滤系统,对测试文本集 中的每一文本做出接受或拒绝的决策;不同的是分流任务要求按相似度从大到 小的顺序检索出一批文本,而批过滤则要求将文本分成相关和不相关两类。 自适应过滤( a d a p t i v ef i l t e r i n g ) :它要求仅仅从主题描述出发,不提供或 哈尔滨理工大学工学硕士学位论文 # e 目l = _ - - l e 目- i e j _ _ _ - e = = i _ _ - i ll _ e ! 1 0 目l _ - 口_ l l d i l l - _ i _ ! 目= = ! e - _ _ _ - = = = ,_ _ _ _ 只提供很少的训练文本,逐- , n 断输入文本流中的文本是否相关。对“接受” 的文本,能得到用户的反馈信息,用咀白适应地修正过滤模板。而被“拒绝” 的文本是不提供反馈信息的。这是最接近真实环境也是最困难的子任务。 各信息过滤系统都是通过:首先建立关键词库、系统知识的语料库学习, 再到真实文本有害度的判定,然后应用到实际的工作环境中进一步完善文本过 滤的功能。在实际工作环境中,随着过滤的文本数量增加,系统不断的添加相 应的关键字到关键字库里,然后定时更新探针端的关键字库,从而实现功能不 断完善,过滤更加准确全面的功能。本课题由于制作成本较低,因此在文本过 滤领域不做更多的研究,对于较大的文本采用b m 算法,对于模式中重复部分 很少时,需要比较的字符数比输入字符串小的模式来说,采用b m 算法效率是 当前模式匹配算法里效率最高的,对于较小的文本用k m p 算法进行比对1 7 】。 1 2 2 包过滤技术现状 信息过滤产品底层实现的核心技术便是对网络封包的截获,邀同时也是实 现防火墙、网络嗅探以及入侵检测等多种网络安全系统的核心技术【8 1 。网络封 包,又称作网络数据包( d a t a g r a m ) i ”,是指通过网络传输的数据的基本单元, 包含一个包头( h e a d e r ) 和数据本身,其中包头描述了数据的目的地以及和其它 数据之间的关系。 需要通过网络传输的原始数据被按照一定的大小和标准进行层层分组打 包,并加上相应的包头封装为一个个独立的封包,以网络封包的形式进行传 送。网络封包截获技术指的就是在网络封包传输的过程中对其进行拦截。由于 现代操作系统已经封装了所有的网络底层操作【1 0 l ,自动实现了网络封包级的传 输控制,所以要完成对网络封包的拦截就需要通过操作系统或直接嵌入到操作 系统中来实现。通过对截获的网络封包进行分析和过滤,可以达到网络窃听、 流量监控、恶意网络数据隔离等目的,因此网络封包截获技术是构建防火墙、 网络监控、入侵检测等网络安全系统的基础。 在截取数据的过程中,在链路层实现网络数据的读写是关键。即如何实现 直接读写网卡数据帧。当前广泛采用的技术有以下几种l : r 1 直接针对网卡进行编程即通过对网卡中各种寄存器进行编程控制, 完成数据分组的正确发送和接收。以这种方式实现截取数据具有速度快、性能 好的优点。但是这种实现方式需要详细了解网卡的硬件设计。 2 面向网卡驱动程序进行编程 当前各网卡硬件厂商提供的网卡驱动程 序大都遵守某种统一规范,常见的有n o v e l l 公司的i p x 网卡驱动程序;遵 哈尔滨理工大学工学硕士学位论文 循o d i ( o p e nd a t al i n ki n t e r f a c e ) 规范的m l i d ( m u l t i p l el i n ki n t e r f a c ed r i v e r ) 网 卡驱动程序;m i e r o s o f t 公司的n d i s ( n e t w o r kd e v i c ei n t e r f a c es p e c i f i c a t i o n ) ; 以及f t p 公司的p a c k e td r i v e r 网卡驱动程序。这些规范通过提供统一的a p i 调用来为上层程序提供网络数据分组的发送和接收服务。面向网卡驱动程序编 程来实现起来比较容易,而且在一定范围内具有可移植性。 3 利用第三方工具网络上已有不少网包获取工具,部分获取工具还具 有一定的分析、统计功能,比如s 1 1 i i f , t c pd u m p ,s n o o p 等。由于这些工具对信 息的处理方式均采用复制的方式,没有主动的控制措施,因此仅靠这些工具来 获取网络信息仍然不是够的。同时这些工具还有只能用于局域网方式、只能对 包进行截取,不具有信息重组功能等限制。 在本论文的实现中,对于网络封包的截取采用了基于l i n u x 的n e t f i l t e r 技 术。与其他操作系统相比,l i n u x 的主要优势体现在以下方面【1 2 】:、 1 可以运行在3 8 6 以上及各种r i s c 体系结构的机器上l i n u x 最早诞生 于微机环境,它的一系列版本都充分利用了x 8 6c p u 的任务切换能力,使x 8 6 c p u 的效能发挥得淋漓尽致,而这一点连w i n d o w s 都没有做到。此外,它可 以很好地运行在由各种主流r i s c 芯片( a l p h a , m i p s ,p o w e rp c ,u l t r as p a r c , h p - p a 等) 搭建的机器上。 2 l i n u x 是u n i x 的完整实现从发展背景看,l i n u x 是从一个比较成熟 的操作系统( u n i x ) 发展而来的,而诸如w i n d o w sn t 等其他操作系统都是自成 体系,没有相依托的操作系统。这一区别使得l i n u x 的用户能够从u n i x 团体 的贡献中获益。无论是u n i x 的作者还是u n i x 的用户,都认为只有u n i x 才是 一个真正的操作系统,许多计算机系统( 从个入计算机到超级计算机诸b 有u n i x 版本,u n i x 的用户可以从很多方面得到支持和帮助。因此,l i n u x 作为u n i x 的一个“克隆”,同样会得到相应的支持和帮助,直接拥有u n i x 在用户中建立 的牢固地位。u n i x 上的绝大多数命令都可以在l i n u x 里找到并有所加强。u n i x 的可靠性、稳定性以及强大的网络功能也在l i n u x 身上一一体现出来。 3 真正的多任务多用户 只有很少一些操作系统能提供真正的多任务能 力,尽管许多操作系统声称支持多任务,但并不完全准确,如w i n d o w s 。而 l i n u x 则充分利用了x 8 6c p u 的任务切换机制,实现了真正的多任务、多用户 环境,允许多个用户同时执行不同的程序,并且可以给紧急任务以较高的优先 级。4 4 完全符合p o s i x 标准p o s i x 是基于u n i x 的第一个操作系统簇国际 标准,l i n u x 也遵循这一标准,这使u n i x 上的许多应用程序可以很容易地移植 啥尔滨理工大学工学硕士学位论文 i _ _ - _ - _ _ _ - - _ _ _ _ _ _ _ - l _ _ i - - - _ - - _ _ _ _ 目啊日_ _ _ - _ _ _ _ - _ i i i i i i 到l i n l l x 上,反之亦然。 5 具有强大的网络功能实际上,l i n u x 就是依靠互联网才迅速发展起来 的,因此l i n u x 具有强大的网络功能也就不足为奇了。它可以轻松地与t c p i p , l a n m a n a g e r , w i n d o w sf o rw o r k g r o u p s 。n o v e t ln e t w a r e 或w i n d o w sn t 网络集 成在一起,还可以通过以太网或调制解调器连接到i n t e r a c t 上。l i n u x 不仅能够 作为网络工作站使用,更可以充当各类服务器,如x 应用服务器、文件服务 器、打印服务器、邮件服务器、新闻服务器等,是完整的u n i x 开发平台l i n t l x 支持一系列u n i x 开发工具,几乎所有的主流程序设计语言都已经移植到l i n u x 上并可免费得到,如c ,c + + ,f o r t r a n 7 7 ,a d a ,p a s c a l ,m o d u a l 2 3 ,t c l t k s c h e m e ,s m a l lt a l k 等。 总而言之,开放的l i n u x 给用户提供了选择最佳应用、最佳开发环境、最 佳网络功能和最佳硬件平台的自由。l i n u x 良好的网络性能和开放源代码的特 点,使越来越多的用户选择了l i n u x 作为其防火墙的操作平台【i ”。而不断变化 的网络安全要求人们可以方便地对l i n u x 防火墙功能进行扩充和修改,但一个 有着良好的功能可扩充性的防火墙必须要有很好的软件结构支持,l i n u x2 4 内 核中添加的n e t f i l t e r 结构就是其防火墙构建的底层结构,它的引入解决了以前 2 0 和2 2 内核中防火墙结构不清晰,肪火墙代码与l i n u x 网络层中的代码混在 一起的缺点,使得2 4 内核中防火墙很容易实现功能上的扩充。 11 3 课题来源及主要研究内容 虚拟主机信息监控系统是公共网络安全监察部门在社会主义市场经济条 件和信息网络安全形势下,为提高中小网站信息发布非法信息的控胄4 和处置能 力,在全国各地市以上公安机关建立信息网络安全报警处置工作体系和机制。 各级公共信息安全监察部门要经信息监控系统的服务端为龙头,建立及时发 现、快速反应、妥善处理,联网服务的信息网络安全实战体系。 为了响应公安部关于各地建立有效的计算机网络监控系统的通知,哈尔 滨市公安局决定筹建网络信息安全监控系统,本课题就是该系统建设中关于虚 拟圭机监控系统的设计与实现,它的设计目标是监控以虚拟主机为平台的非法 有害信息的发布与传播,能够在第一时间发现有害信息的发布与浏览,并提供 阻断、实时报警以及日志审计等功能。 虚拟主机信息监控系统建设的总体目标是:建立和畅通社会报警渠道,广 泛开辟报警信息来源;建立重点单位监控体系的网上报警:建立有关单位配合 报警、定位报警来源、调查的协助机制;建立控制平台,集中处理各种报警倍 哈尔滨理工大学工学硕士学位论文 息,进行判断、综合分析、及时报告和通报:建立快速反应机制,调度警力及 时进行现场勘察、调查、处置和侦察工作;建立网络信息安全应急处置的社会 联动机制。 本文对课题的研究背景、意义、现阶段的发展状况和目标等问题做了简要 叙述,并详细介绍了系统实现所涉及的核心技术,n e t f i l t e r 技术及其用户空间 工具i p t a b l e s 、内核编程和透明技术的相关知识,并对流行的几种透明模式实 现方案作了对比对系统的设计原理和实现方法给出了可实施的方案,将整个 系统按照功能分解成几个模块,分别讲解各个模块的实现过程,最后对系统从 i p 地址过滤规则集和关键字过滤规则集两个角度,分别对h t t p 和f t p 两种 协议,即虚拟主机的输入流和输出流做功能测试。 哈尔滨理工大学工学硕士学位论文 第2 章信息监控的关键技术 2 1 协议简介 2 1 1h r r p 协议 超文本传输协议( h t t p ) 是一种高级的获取文件的应用程序,能访问w o r l d w i d ew e b 上的文件,h t t p 主要分成两类,即请求( r e q u e s t ) 和响应( r e s p o n s e ) , 该协议的知名端口号是8 0 。 客户浏览器在请求一个w 如页面时,它首先与w e b 服务器建立连接,连 接成功后,它要将所请求的页面( 含主机及文档) ,所用的协议及版本,语言及 版本,所能接收的m i m e 类型,编码类型以及连接状况等一些本地信息参数等 交送给服务器,服务器收到请求后,发回所交送页面的信息的响应头信息( 如 协议认可,服务器类型,文档最后修改日期,长度等) ,然后才发送页面内 容,最后双方断开连接。 由于一个w e b 页面中还可能包含有图像,声音,以及另外的超链接等, 在客户机收到w e b 页面后,搜索其中的图像链接和声音链接,然后再请求这 些页面。因此要完成一个完整的w 曲页显示,可能要建立多次的c s 请求和 发送。从这个意义上来说,m 1 p 是一个无连接,无状态的协议。 h t t p 的工作过程一般包括以下四步f 1 4 l : 1 客户建立起与服务器的连接 2 客户向服务器发出请求,利用请求头指出要检索的文橙请求头中第 一行是请求行,它包括方法、u r i 和协议版本。余下的行是某种类型的首部 行。一般先是普通酋部,然后是请求首部,最后是实体首部( h t r p0 9 不支持 首部) ,回车换行( c r l f ) 标志请求的结束。 下面给出了一个典型的用g e t 方法的h r r p 请求诮息例子。它将取回 w 3 c 主页上的一个页面( p o s t 方法类似,但p o s t 方法有放在m e s s a g e - b o d y 域里的需要提交的数据) 。 g l 玎h h p ,1 1,使用g e t 方法,舯协议的版本号 h o s t :w w w w 3 c o r g资源的路径,主机的域名 p r a g m a :n o c a c h e ,控制网关不使用缓存 c a c h e c o n t r o l :n o - c a c h e ,代理服务器不使用缓存 u s e r - a g e n t :m o z i l l a 4 0 6 e n ( w i n 9 5 ;i ) 用户代理的信息 a c c e p t :i m a g e l g i f , i m a g e t x - x b i t m a p ,i r a a g 奶p e g ,i m a g e ,p j p e g ,i m a g e p n g ,+ + 哈尔滨理工大学工学硕士学位论文 a c c e p t - e n c o d i n g :g z i p a c c e p t - c h a r s e t :i s o - 8 8 5 9 ,+ ,u t f - 8 在生成请求头的过程中有两个要点:1 ) 请求消息的生成,根据h t t p 方法 参数,选取不同的方法,从h t t pu r l 得型资源的路径。2 ) 头域钓选取,根据 用户不同的要求,会使用不同的请求头域和头域的值。 3 服务器发出响应,包括状态码和文档的正文( 如果文档存在) 服务器解 析接收请求,生成包含了所请求的资源的响应消息。响应字段传送有关服务器 和进一步访问被请求资源的信息。这个过程主要由m i m e 解析器根据h t t p 返 回头完成其具体含义的处理,如包含压缩和字符集的说明、m i m e 类型、返回 数据的大小等信息。 下面以在发出前面所举请求消息的例子后收到的响应消息为例说明。 h t t p 1 12 0 0o k 实体数据开始是在从接收数据缓冲区”、r n n ”后开始 d a t e :t h u ,0 9j a n2 0 0 31 0 :0 8 :5 7g m t s e r v e r :a p a c h e 1 3 2 6 ( u n i x ) p h p 3 0 1 8 w e b 服务器类型 c o m e n t - l e n g t h :2 1 2 0 3 、实体长度 k e e p a l i v e :f i m e o u t = 15 c o n n e c t i o n :k e e p - a l i v e、保持连接处理 c o n t e n t t y p e :t e x t l - i n d l ;c h a r s e t = u f f - 8 、实体类型 对响应消息的处理是通过不同状态码标记的。h t t p 1 1 中定义了5 种状 态码,其中第一位区分了不同的状态码。1 x x 状态码表示请求已被服务器接 收,服务器正在处理,要求客户端等待继续接收数据。2 x x 状态码表示用户的 请求己被服务器正确的接收,用户请求的资源已被发送。3 x x 状态码表示被请 求的资源己经被移到其他的服务器,需要藿定向操作,这时需要从l o c a t i o n 域 中得到重定向的u r l 以便再次发出请求消息。4 x x 状态码表示请求有错误。 5 x x 状态码表示服务器自身出错或者不能执行此合法的请求,这时将关闭和服 务器的连接,同时通知上层程序请求无法完成。 4 客户或者服务器任一方断开连接如果客户在请求头中使用 c o n n e c t i o n :k e 印a 1 i v e 要求保持连接,而服务器又支持,与上面唯一的不同 就是这第4 步,服务器并不断开连接而是继续等待客户的请求。如果客户在服 务器的超时时间内没有请求,则服务器自动关闭连接。 哈尔滨理工大学工学硕士学位论文 2 1 - 2f t p 协议 文件传输协议( f t p ) 是另一个i n t e r a c t 上流行的协议。它可以通过t c p i p 在服务嚣和客户之阊传输任意类型的文件,剥甩安全可靠的照电路连接方法丽 实现安全、可靠、便捷性文件传送。该协议控制端口号是2 l 。 幽2 - if t p 通信模型框图 f i g 2 - 1b l o c kd i a g r a mo f f w pc o m m u n i c a t i o nm o d e 从上面的图2 1 f t p 的通信模型图中看出,m 具有2 个不同的t c p 连 接,分别是控制连接p i 和数据连接d t p 。在整个f t p 处理过程中,控制连接 起传输控制信息的作用,它始终保持主动状态用户焉求的数据是通过数据连接 来传输的”。数据连接是双向的,它不用整个时间都存在。 在开始阶段,标准f t p 命令( 包含在控制连接中) 由用户p i 产生并通过控 制连接传送到服务器进程。服务器p i 向用户p i 返回标准应答。f t p 命令指定 数据连接参数和文件系统操作。用户d t p 在特定数据端口侦听,服务器开始 数据连接并以指定的参数开始数据传输。数据端口不必在发出f t p 命令的机器 上,但用户或用户f t p 进程必须确定它在指定的数据端口上侦听。这个数据连 接是全双工的。从用户p i 到服务器的信道是建立在用户到标记服务器端口间 的,利用用户协议解释器管理发送命令和解释接收的敷答;服务器p i 解释命 令,发送应答,指导d t p 建立数据连接并传送数据。如果数据传输的第二方 是用户d 1 e 通过用户f t p 主机的内部协议对它进行控制;如果第二方是服务 器d t p ,它由用户p i 发来的命令经过自己的p i 控制。 哈尔滨理工大学工学硕士学位论文 在使用f t p 过程中,控制命令的传递和数据的上传下载是分离的,数据连 接只传输数据,控制连接传送命令和响应。 1 控制连接在整个f t p 过程中控制连接都是存在的,用户通过f t p 工具发 出命令,通过控籼连接和服务器进行交互,最后当控制连接关闭后,整个f t p 过程也就停止了。控制连接的建立是一端的f t p 服务器在固定端口( 默认2 1 ) 侦 听,由客户机主动进行连接。 数据连接是在客户机申请对数据进行处理前动态建立的,数据传送完毕, 数据连接自动关闭。数据连接的建立从服务器方连接方式分为主动方式和被动 方式两种,端口均是动态打开的。客户端相关命令分别是p o r t 和p a s v 命 令。 1 p o r t ,用于主动方式客户机通过控制连接发出p o r t 命令通知服务 器侦听的端口号和自己的i p 地址,服务器据此连接到客户机。其参数包括i p 地址和t c p 端口号,由逗号分割为8 位字段。需要注意的是t c p 端口号,这 为与平常看到的表示方法不一样,其计算方法举例如下: p o r t 2 0 2 ,1 1 5 ,1 6 ,9 ,1 4 ,2 5 5 b ib 2b 3b 4b 5b 6 端口号= b 5 2 5 6 + b 6 2 p a s v ,用于被动方式客户机通过控制连接发出p a s v 命令通知服务 器采用被动方式传送数据,服务器用应答码2 2 7 回应,后面跟上服务器的i p 地址和侦听端口号。如: 2 2 7e n t e r i n gp a s s i v em o d e ( 2 0 2 ,1 1 5 ,2 2 ,8 ,9 3 ,1 2 ) 。f t p 命令的响应是为了对数据传输请求和过程进行回步,也是为了让用 户了解服务器的状态。每个命令必须有最少一个响应,如果是多个,它们要易 于区别。有些命令是有顺序性的,因此其中任何一个命令的失败会导致从头开 始。f t p 响应由三个数字构成,后面是一些文本。数字带有足够的信息命名用 户p i 不用检查文本就知道发生了什么。文本信息与服务器相关,用户可能得 到不同的文本信息。文本和数字以 间隔,文本后以t e l n e t 行结束符结 束。文本可能多于一行,这时文本必须在括号内,第一行内要有信息表示文本 多于一行,最后一行也要有所标记。如果是多行,可以在数字代码后加上“ ”,最后行以数字开始,后面是 ,再加上t e l n e t 的行结束符就可以 了。下面是一个例子: 1 2 3 第一行 第二行 哈尔滨理工大学工学硕士学位论文 2 3 4 以数字开始的一行 1 2 3 最后一行 三位数字每位都有一定的意义,第一位确定响应是好的,坏的还是不完 全的,通过检查第一位,用户进程通常就自2 够知道大致要采取什么行动了。如 果用户程序希望了解出了什么问题,可以检查第二位,第三位保留表示其它信 息。 2 2n e t f i l t e r 技术 n e t f i l t e r 是l i n u x2 4 内核实现数据包过滤、数据包处理、n a t 等的功能框 架。n e t f i l t e r 比以前任何一舨l i n u x 内核的防火墙子系统都要完善强大。 n e t f i l t e r 提供了一个抽象、通用化的框架,所有的包过滤、n a t 等等都基于该 框架。内核网络代码中不再有到处都是的、混乱的修改数据包的代码了。当前 n e t f i l t e r 框架支持i p v 4 ,i m 及d e c n e t 等网络栈1 1 6 1 。 2 2 1n e t f i l t e r 框架概述 n e t f i l t e r 是l i n u x2 4 内核的防火墙框架,最开始l i n u x2 , 0 内核采用的是 i p f w a ( t m ,随后的l i n u x2 2 内核是i p c h a i n s 。l i n u x 防火墙的基本概念已经发生 了不少变化,整体设计也有了较大的发展,到了l i n u x2 4 内核时,发展为 n e t f i l t e r i p t a b l e s 组合,直至现在的l i n u x2 6 内核仍然采用n e t f i l t e r i p t a b l e s 组 合,这也说明了n e t f i l t e r 框架的完美。l i n u x2 0 内核的i p f w a a m 是a l a nc o x 在 l i n u xk e r n e l 发展的初期,从f r e e b s d 的内核代码中移植过来的,是基本的防 火墙的管理工具。l i n u x2 2 内核的i p e h a i n s 实现了三个链:i n p u t ,o u t p u t 和f o r w a r d 分别进行输入数据包、输出数据包和转发数据包的规则匹配, 基本实现了包过滤、地址转换等功能,但是i p c h a i n s 存在着很多不足,主要有 以下几点: 1 i p c h a i n s 处理数据包的方式有些复杂,尤其是在一些和防火墙功能相关 的方面,如i p 伪装和网络地址转换。产生这种复杂性的原因是i p 伪装及网络 地址转换技术和防火墙的代码是独立发展的,后来才结合到一起,面不是作为 一个整体产生的。如果想在数据包处理过程中增加一些功能,将会发现很难找 到合适的地方插入代码。 2 透明代理的实现非常复杂,必须查看每个数据包以判断是否有专门处 理该地址的s o c k e t 。 3 i n p u t 链描述整个进入i p 层的规则,它并不区分数据包是以该主机为目 哈尔滨理工大学工学硕士学位论文 i _ _ 口日- _ - - l g _ - _ _ 日- _ 日e ! _ _ - _ _ a # ,_ _ - _ _ # t _ - - - 自_ t 一i t | | = 4 = _ _ _ _ s = = = - 自日= = j _ 邕 的地还是通过该主机进行中转。如此就混淆了i n p u t 链和f o r w a r d 链,f o r w a r d 链只是负责处理进行中转的数据包,但却总是接在i n p u t 链的后面。如果想区 别这两种数据包,就必须编写很复杂韵规受i j 。同样的问题在f o r w a r d 链和 o u t p u t 链之间也存在。 4 i p c h a i n s 没有提供传递数据包到用户空间的框架,所以任何需要对数据 包进行处理的代码都必须运行在内核空间。丽内核编程非常复杂,只能用c 语 言结合汇编语言实现,容易出现错误,对内核稳定性造成威胁。 5 i p c h a i n s 代码既不模块化又不易于扩展。l i n u x2 4 内核重新设计了防火 墙框架,对i p c h a i n s 进行改进,构造了n e t f i l t e r 架构。n e t f i l t c r 摒弃了i p e h a i n s 不区分数据包是单纯的进入包、外出包或中转包的做法。i n p u t 链仅处理目的 地是该主机的数据包,f o r w a r d 链仅处理在该主机进行中转的数据包,o u t p u t 链 仅处理由该主机发出的数据包。这些修改使得防火墙配置大大简化。 n c t f i l t e r 位于l i n u x 网络层( i p 层) 。虽然防火墙构建在i p 层中,但并未对 内核的网络结构造成破坏,而是通过n e t f i l t e r 结构将防火墙对数据包的处理引 入i p 层中。防火墙的代码与实现i p 层的代码完全分离,从而构成不同的模 块,使网络层和防火墙在结构上很清晰,防火墙代码修改和功能扩充更加容 易。 2 2 2n e t f i l t e r 体系结构 n e t f i l t e r 比以前任何一版l i n u x 内核的防火墙子系统都要完善强大,它提 供了一个抽象、通用化的框架,该框架定义的一个子功能的实现就是包过滤子 系统旧。在l i n u x2 4 以后的版本中架设一个防火墙或者伪装网关只是n e t f i l t e r 功能的一部分。n e t f i l t c r 框架包含以下三部分: 1 为每种网络协议( i t v 4 、i p v 6 等) 定义一套钩子函数( p v 4 定义了5 个钩 子函数) ,这些钩子函数在数据包流过协议栈的几个关键点被调用。在这几个 点中,协议栈将把数据包及钩子函数标号作为参数调用n e f f i l t e r 框架。 2 内核的任何模块可以对每种协议的一个或多个钩子进行注册,实现挂 接,这样,当某个数据包被传递给n e f f i l t e r 框架时,内核能检测是否有模块对 该协议和钩子函数进行了注册。若注册了,则调用该模块注册的回调函数,这 样这些模块就有机会检查( 可能还会修改) 该数据包、丢弃该数据包及指示 n e t f i l t c r 将该数据包传入用户空间的队列。 3 那些排队的数据包是被传递给用户空间的异步地进行处理。一个用户 进程能检查数据包、修改数据包,甚至可以重新将该数据包通过离开内核的同 啥尔滨理工大学工学硕士学位论文 - - i i i i i i - _ _ - - 一个钩子函数中注入到内核中。 n e t i i l t e r 在i p v 4 中一个数据包按照图2 2 所示的过程通过n c t f i l t c r 系统: 链路层 传输层 图2 - 2n e t f i l t e r 框架示意图 f i g 2 - 2s c h e m a t i cd i a g r a mn e t f i l t e rf r a m e 数据报从左边进入系统,进行i p 校验以后,数据报经过钩子点 【h n fi pp r er o u t i n g 钩子函数进行处理( 如上图2 - 2 中钩子点【1 处) ;然 后就进入路由代码,其决定该数据包是需要转发还是发给本机的;若该数据包 是发给本机的,则该数据经过钩子点 2 n f _ i p - l o c a l _ i n 钩子函数处理然后 传递给传输层,传输层将它交给上层协议;若该数据包应该被转发则它被钩子 点 3 n fi pf o r w a r d 钩子函数处理:经过转发的数据报经过最后一个钩子 点【4 】n fi pp o s tr o u t i n g 钩子函数处理以后,再交给网络层处理,网络层 将它传输到网络上。 本地产生的数据经过钩子点 5 n fi pl o c a l 钩子函数处理可以_out 居,进行路由选择处理,然后经过钩子点 4 n fi p

温馨提示

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

评论

0/150

提交评论