(模式识别与智能系统专业论文)基于用户角色的数据包过滤系统的设计与实现.pdf_第1页
(模式识别与智能系统专业论文)基于用户角色的数据包过滤系统的设计与实现.pdf_第2页
(模式识别与智能系统专业论文)基于用户角色的数据包过滤系统的设计与实现.pdf_第3页
(模式识别与智能系统专业论文)基于用户角色的数据包过滤系统的设计与实现.pdf_第4页
(模式识别与智能系统专业论文)基于用户角色的数据包过滤系统的设计与实现.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(模式识别与智能系统专业论文)基于用户角色的数据包过滤系统的设计与实现.pdf.pdf 免费下载

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

文档简介

颂i + 学位轮业堆十用户f f 】包的数据包过滤系统的设计与实现 摘要 5 3 1 6 8 2 随着网络技术的发展和普及,网络用户对网络接入控制的要求也越来越多。 本文讨论了在用户对网络接入控制有着特殊要求的情况下,如何有效地实施网络 接入的控制并使之适应用户需求。针对这一问题,本文深入研究讨论了角色的概 念,基于角色的访问控制的概念,数据包过滤技术的原理和实现、数据包转发技 术的原理和实现、原始网络插口技术的原理和应用以及实现系统客户端服务器端 间加密通信的原理和手段。在介绍上面这些技术的同时,本文还提出了一种将基 于角色的概念应用于网络数据包过滤,从而通过角色的概念和数据包过滤技术的 结合实现更加灵活的网络访问控制,即运用用户角色地信息决定数据包是否转 发的解决方案。同时,本文还详细地介绍了使用原始网络插口技术接收和发送网 络数据包的技术,客户端服务器端之间加密通信实现的过程,使用设计模式技术 保证包过滤规则列表的唯一性等一些该方案在具体设计和实现中涉及的技术、问 题和解决方法。 关键词:基于角色,数据包过滤,原始套接字,数据包转发 硕l 学位论史堆十用户角色的数据包过滤系统的设计与实现 a b s t r a c t t h e d e v e l o p m e n t a n d p o p u l a t i o n o fn e t w o r kh a sd i v e r t e du s e r s r e q u i r e m e n tf o rn e t w o r ka c c e s sc o n t r 0 1 b e c a u s eo ft h i sd i v e r s i o n ,m o r e a n dm o r en e t w o r ku s e r sh a v ea d v a n c e dt h e i r s p e c i a lr e q u i r e m e n t s f o r n e t w o r ka c c e s sc o n t r o lt ot h en e t w o r kd e s i g n e r f o rt h ep u r p o s eo fs o l v i n g t h ep r o b l e ma b o v e t h i sp a p e rd i s c u s s e st h ep r i n c i p l ea n di m p l e m e n t a t i o n o fp a c k e tf i l t e r i n gt e c h n o l o g y ,t h ec o m b i n a t i o no fr o l e b a s e dc o n c e p ta n d p a c k e tf i l t e r i n gt e c h n o l o g y p a c k e tt r a n s f e r r i n gt e c h n o l o g y ,a n dr a w s o c k e t t e c h n o l o g y :i n w h a t p o s s i b i l i t y a n d h o wan e wm e t h o dc a l l b e i m p l e m e n tw it ht h e s et e c h n o l o g y a tt h es a m eti m e ,t h i sp a p e ra ls op r o p o s e as o l u t i o nt h a tu s ep a c k e t f i l t e r i n gt e c h n o l o g y ,p a c k e tt r a n s f e r r i n g t e c h n o l o g y ,a n dr a ws o c k e tt e c h n o l o g yd s i t sk e r n e l t e c h n o l o g y a tt h e r e s to ft h i sp a p e r ,t h ef o l l o w i n gi n f o r m a t i o na r eg i y e n :i n t r o d u c t i o nt o t h ev a r i a t i o no fu s e rs t a t u so nt h es e r v e r :p r o c e s so fd y n a m i cm o d i f y i n g t or u l e o f p a c k e tf i l t e r i n g :t h ea p p l i c a t i o n o f d e s i g np a t t e r n e r i n i m p l e m e n t a t i o no fr u l et a b l eo fp a c k e tf i l t e r i n g k e y w o r d s :r o l e b a s e d ,p a c k e tf i l t e r , r a ws o c k e t ,p a c k e tt r a n s f e r 颅l 学位论文 堆十用户伯乜的数据包过滤系统的吐计n j 实现 1 绪论 1 1 引言 随着r n t e r n e 丁( 国际互联网络) 的飞速发展和宽带技术的不断出现,越 来越多的企业、组织和家庭已经或者正在接入i n t e r n e t 。根据中国互联网络 信息中心2 0 0 2 年7 月出具的中国互联网络发展状况统计报告口3 】显示:“截 止到2 0 0 2 年6 月3 0 开,我国接入国际互联网的计算机数已达1 6 1 3 万台,同前 一次调查结果相比,我国的上网计算机台数半年内增加了3 5 9 万台,增长率为 2 8 6 ,和去年同期相比增长6 1 0 ,是1 9 9 7 年1 0 月第一次调查结果2 9 9 万台 的5 4 倍i 截止到2 0 0 2 年6 月3 0 日,我国的上网用户人数为4 5 8 0 万人,同第九 次调查相比,我国上网用户人数半年增加了1 2 1 0 万人,增长率为3 5 9 ,和去 年同期相比增长7 2 8 ,同1 9 9 7 年1 0 月第一次调查结果6 2 万上网用户人数相 比,现在的上网用户人数已是当初的7 4 倍。”由咀上介绍可以看出,我国的网络 用户的数量、上网计算机的数量等指标和1 9 9 7 年相比较都有了至少十倍数量级 的增长,国内的互联网在几年的时间内得到了飞速的发展。毫无疑问,内部网络 与i n t e m e t 连接所带来的益处是巨大的。但是,在另一方面,与i n t e r n e t 的连接 也会将内部网络的数据资料和网络资源暴露给i n t e m e t 上的其它主机。这样一来, 如何在保障内部网络用户获得必要的i n t e r n e t 服务的同时阻止非法用户对内部网 络资源的访问,维护内部网络的安全就成为一个十分突出的问题。 1 2 研究的现状 近几十年柬,以i n t e m e t 为主要标志的网络技术飞速发展,实现了不同地理 空间上的信息共享,给人类生活和社会生产带来了巨大的便利。但是,网络上的 安全问题同时也日益突出,引起了人们的高度重视和普遍关注。这是因为i n t e m e t 是开放性的体系结构,在它上面传送的任何信息都有可能被任何一个用户截取或 浏览,与i n t e m e t 联通的任何个站点都有可能被任意网络用户合法或不合法地 访问,甚至于被破坏。这对那些具有保密性要求的信息资源如:工业情报、商业 机密、个人隐私以及邮电、金融、医疗等的重要网络来说,存在极大的安全威胁。 为了保证相应网络资源的安全,实现安全的网络访问控制,网络防火墙技术被广 泛地应用到网络i 方问控制的各个方面本小节将着重介绍实现防火墙的主要技术 数据包过滤技术发展和研究的现状。 蛳l 学位论史 坫十用户角乜的数据包过滤系统的啦计与实现 目前,数据包过滤技术在防火墙系统中的主要实现方法基本上可以分为以下 几类: 1 简单的基于地址信息的数据包过滤 基于地址信息的数据包过滤技术作为数掘包过滤技术实现的基础,被几乎所 有的数据包过滤系统采用。基于地址信息的数掘包过滤技术的实现的基本方式是 在系统运行前根掘相应的数据包信息( 目前最常用的信息是i p 包头部中的 报文类型、源端i p 地址、目的端l p 地址以及t c p u d p 报文头部中t c p u d p 端 口号等。) 确定相应的过滤规则:系统运行后,根据接收到的数据包头部的分析 结果,并将分析得到的结果与相应的过滤规则进行比较;最终系统会根据分析结 果与过滤规则的比较结果决定是否让数据包通过。 2 基于状态( s t a t e f u l - - i n s p e c t i o n ) 的数据包过滤 状态数据包过滤是新型的数据包过滤技术,最初由c h e e kp o i n t 公司引入。 它的原理是利用t c p 协议报文头部中和t c p 连接状态有关的信息,监视每一个 有效连接的状态,并根据这些信息决定网络数据包是否能够通过。一般来说,状 态数据包过滤技术中的状态检测技术采用的是一种基于连接的状态检测机制,将 属于同一连接的所有包作为一个整体的数据流看待,构成连接状态表,通过规则 表与状态表的共同配合,对表中的各个连接状态因素加以识别。 基于状态的数据包过滤工作过程一般为:首先截取网络数据包,然后分析这 些数据包头部信息,并且将当前数据包及其状态信息和其前一时刻的数据包及其 状态信息进行比较,从而得到该数据包的控制信息,来达到保护网络安全的目的。 使用基于状态的数据包过滤技术的防火墙和应用网关不同,使用基于状态的 数据包过滤技术的防火墙使用用户定义的过滤规则,不依赖预先定义的应用信 息,执行效率比应用网关高,而且它不识别特定的应用信息,因此不用对不同的 应用信息可以制定不同的应用规则,伸缩性好。 3 基于流的数据包过滤 基于流的数据包过滤是出某些公司首先提出的一种数据包过滤技术,是在基 于状态的数据包过滤技术基础上的发展。基于状态的数据包过滤的工作方式是检, 测一个个数据包,而基于流的数据包过滤则是把一个个数据包重新整合成数据 流,然后再进行过滤检测。 举一个简单的例子来说明:网络用户发出一个邮件这个邮件就会被分解成 一个个数据包传输到网络上的某个地址,这些数据包在传输过程中可能没有严格 地按照顺序传输,或者出于底层物理网络的不同而被分成许多分片传输。基于状 念的数据包过滤在数据包通过防火墙时,仅仅判断单个碎片能否通过检测,这样 做可能会导致一定的安全隐患。防火墙用户如果要检测这个邮件的内容如附件、 坝i 。学位论文 罐十用户拍巴的数据包过滤秉统的砹计j 实蜕 关键字等部分是否有问题,单纯通过碎片是很难分析出来的。如果采用基于流的 数据包过滤,防火墙用户不仪可以检测出这个邮件有无问题,而且还能在阻止该 邮件通过的同时不让发送者知道。 表1 2 1 给出了三种不同的数据包过滤机制一个简单的比较: 技术架构安全性网络层保护应用层访问控制应用透明性性能 简单的基 一般有无有好 于地址信 息的数据 包过滤 可以实现简单的 基于状念 中等较强内容过滤,有一有较好 的数据包 定的局限性 过滤 可以实现较强的 基于流的 较高较强内容过滤功能,有较好 数据包过 且易于扩展 滤 表1 2 1 三种不同的数据包过滤机制的比较 1 3 研究的背景 1 3 1 当前数据包过滤技术的不足 1 2 小节介绍的数据包过滤技术是现今普遍采用的数据包过滤技术。在被相 关的网络访问控制机制采用的同时,1 2 小节介绍的数据包过滤技术暴露出了一 些不足和缺点: 1 不能彻底防止地址欺骗, 很多数据包过滤机制都是基于源i p 地址、目的i p 地址而进行过滤的。而i p 地址的伪造是很容易、很普遍的。一般的数据包过滤技术在防止地址欺骗这点上 大都无能为力。即使利用m a c 地址进行相应的绑定,也不一定是可信的。 2 f 常的数据包过滤机制无法执行某些安全策略 数掘包过滤技术在指定相应的过滤规则时利用的信息不能完全满足我们对 安全策略的需求。例如,数据包蜕它们来自什么主机,而不是什么用户,因此, 我们不能稿;行限制特殊的用户。 顺l 学位沦殳 摹十用户拍包的数据包过滤系统的殴计与实现 3 在控制网络访问的时候不蝣灵活 现阶段的数挠 包过滤规则的制定多数都没有充分考虑用户因素。因此,不 能依据用户的实际情况提供相应的网络访问,不能实现对不断游动的用户实现有 效管理。 1 3 2 中小企业对网络接入控制的特殊要求 随着经济的发展,越来越多的中小企业接八i n t e r n e t ,由于中小企业的网 络用户自身存在和其他网络用户不同的特点,他们对网络接入的控制也有着特别 的要求这些特殊的要求包括: 】中小企业对网络有一定的安全性的要求,由于中小企业很少向外提供网络 服务,所以中小企业的网络基本上是对外封闭的。 2 中小企业对自己员工的网络访问有相当的控制,但由于缺乏相应的技术人 员以及相应的网络访问控制基本上都基于i p 地址,抢占冒用i p 地址来获得非法 的网络访问的问题比较严重。 3 中小企业一般缺乏购买昂贵的硬件设备的资金所以,对以软件的形式提 供性能相对较低的网络数据包转发功能有一定的需求。 4 中小企业的人员流动较大,而且多人公用计算机的情况比较普遍,所咀, 有必要为中小企业的网络用户提供一种不受相应的机器限制的网络访问方案。 针对上面提到的中小企业对网络接入的特殊要求,结合1 3 1 小节提到的网 络数据包过滤的一些不足和缺点,有必要设计一套系统,采用改进的数据包过滤 技术,为中小企业的网络用户提供方便有效的网络访问方案。 1 4 主要工作 为了提供方便、安全的网络访问,我们开发了基于用户角色的数据包过滤系 统,浚系统针对中小企业网络用户对网络访问控制的特殊需求,充分利用中小企 业中各种角色在网络访问需求上的差异、系统管理的用户的相关信息以及角色对 应的网络访问权限信息,根据合法的网络用户的登录情况以及用户对应的角色动 态地确定帽应的数据包过滤规则,从而使对用户网络访问的控制不再拘泥于固定 的网络接口和一系列确定的过滤规则,在保证网络访问控制安全的前提下,实现 了灵活的网络访问控制,方便了用户对网络的访问。 在整个系统的i 殳汁、实现以及相关论文的构思和写作过程中,我首先阅读了 顾【j 学位论文 书寸= 用户角也的数据乜过滤系统的敬汁- j 实现 大量相关的文献资料,在前人的工作基础上设计和实现了本系统功能。在发计和 实现的过程中,解决了在网络层截获完整的网络数据包以及在网络上直接发送数 据包的困难,并设计了有效的用户信息管理平台,用户登入平台,基于角色的数 据包过滤机制,最终成功地实施了原来的设计方案,实现了系统的有效的运作。 1 5 系统环境 1 5 1 硬件环境 “基于用户角色的数据包过滤系统”的硬件开发调试环境如图l 5 1 - 1 所 示,主要由服务器端,客户端和局域网三部分组成,其中: 服务器端:奔腾i i i5 0 0 m h z 处理器,带两块d - l i n kd f e - 5 3 0 t xl o m i o o m 自适应快速以太网卡。 客户端:经典奔腾2 0 0 m h z 处理器带一块d l i n kd p - 2 2 0i o m 以太网卡。 局域网:i 6 口i o b a s e t 以太网集线器。 具体的硬件环境的结构如图1 5 1 - 1 所示。 1 5 2 软件环境 图1 5 1 ,i 系统硬件网络拓扑图 本系统服务器端系统采用m i c r o s o f t 公司的w i n d o w s2 0 0 0s e r v e r 加 s e r v i c ep a c k 3 操作系统平台,支持w i n s o c k2 0 版本。开发工具使用m i c r o s o f t 公司的v i s u a lc + + 6 0 以及m f c 。( m i c r o s o f tf o u n d a t i o nc l a s sl i b r a r y :微 软基础类库) 类库和s 1 、l ( s t a n d a r dt e m p l a t el i b r a r y :标准模板库) 类库。 客户端系统可选用w i n d o w s9 8 和w i n d o w s2 0 0 0 各版本,在实际的试验中采用 5 坝l 学位论文 捧十甩户们也的数据乜过滤系统的破计_ 实现 了y i c r o s o f t 公司的w i n d o w sr i l e 操作系统。 1 6 论文结构 本论文主要从以下几个方面束组织和论述:首先对系统进行了简单的介绍, 提出了系统开发和研究的背景:然后从系统的总体设计以及实现方法上进行了论 述,给出了系统整体设计的一些考虑,系统设计时主要问题的解决和分析;随后 根掘系统在设计和实旖过程中的关键技术进行讨论和介绍,并给出了自己的设计 和实施方案:最后给出一定的系统分析和总结。 全文的具体结构见图1 6 1 : 图i 6 1 论文结构图 6 坝i 。学位论殳罐于甩户柏包鹬数据包过砖系统的世计! j 实现 2 系统的总体设计 2 1 系统概述 基于用户角色的数掘包过滤系统是一个根据用户相关角色和用户的登录状 态,动态形成并应用网络数据包过滤规则,过滤非法数据包,并最终通过对已登 录用户数据包的转发控制,达到控制用户进行网络访问的系统。本章主要通过对 系统总体结构以及系统中各个助能模块功能的简单介绍,给出系统设计和实现的 大概轮廓。 2 2 系统设计目标和系统设计思路 2 2 1 系统设计目标 根据系统用户的需求和对实际情况的分析,该网络访问控制系统主要有以下 几个设计目标: 1 实用性 为中小企业内部网络中的游动合法用户提供方便的网络访问权限是系统的主 要目的,缺乏实用陛的系统不能达到这个目的。 2 具有足够的安全保密性 由于用户的登录验证涉及到一些关键的用户数据,因此,必须保证足够的安全 保密性。 3 易于管理 要求系统的管理简单,方便。利于网络管理人员及时有效地控制相关网络的运 行。 4 相应的稳定性 网络访问控制系统必须能够长时问地为用户提供服务。所以,本系统相应的稳 定性是必不可少的。 j 可维护性 要求整个系统层次清楚,便于维护。 硕士学位论文基于用户角色的数据包过滤系统的设计与实现 2 2 2 系统的初步设计思路 基于用户角色的数据包过滤系统是以客户机朋匣务器为工作模式,按照应用于 中小网络接入用户的原则进行设计。系统可以分为客户端和服务器端两个部分。 为了统一用户信息的管理,系统服务器端软件负责用户信息的录入、处理用户登 录、登录验证、角色确定和用户角色相关的过滤信息的动态应用。同时服务器端 软件还负责静态数据包转发的管理,以及网络接口的绑定和管理。客户端软件考 虑到软件分发和使用培训的困难,坚持尽量简化的原则,基本上只负责用户的登 录信息的传送和登录状态的检验。 2 3 系统的总体结构 根据系统分析和设计的结果,本系统在数据包处理相关的部分采用了使用 r a ws o c k e t 接收和发送数据包,用户登录状态和用户角色决定数据包过滤的结 构。在用户登录、验证相关的部分,则采用了客户端服务器端通信交互的模式。 由于客户端相对简单,本章将主要对服务器端的结构和功能设计做简要的介绍和 叙述。根据系统的模块划分,系统各个主要模块之间的关系可以用图2 3 1 表示: 用户登 录请求 到达的 数据包 转发的 p 数据包 综合管理 模块 网络接口 绑定模块 用户信息用 户状态信息 角色更新及 管理信息 t 黧厂 过滤厂一 墨骛| 糟摒白l 菇橥l 到辫罔数据包 器i 。降 l 转发模ll “饕1 夭 一l 块 i。l “ 接收 到的 i p 包 数据包 信息 图2 3 1 系统各个软件模块间交互图 用户信 息及列 表更新 信息 用户信息 管理模块 角色 信息 一晷量簇 角色:稚 信i 矗磊 趟 规则 信息 娥f 学位论文缺于用户角也的数拶包过滤系统的设计与实现 段们缦掘系统备模块功能的4 i 川把系统划分为七大功能模块,即为:数据包 过滤模块、过滤规则列表模块、角色管理模块、网络接口绑定模块、数据包转发 模块、练合管理模块以及用户信息管理模块。对这些功能模块具体实现功能的介 绍在本章余下的小节中给出。 2 4 角色管理及数据包过滤相关模块的功能设计 2 4 1 数据包过滤模块和角色管理模块的功能 数据包过滤模块负责的主要功能有: 1 分析系统接收的网络数据包中的信息,并根据系统记录的已登录用户的i p 地址过滤网络数据包,实施第一阶段的过滤。 2 分析通过第一阶段过滤的网络数掘包,根据网络数据包对应的用户角色信 息实施第二阶段的数据包过滤。 3 根据数据包过滤的结果通知数据包接收和转发线程转发或抛弃相应的网 络数据包。 总的来说,系统的数据包过滤的设计具有以下几个特点: 1 采用了基于用户角色的概念,使相关的权碾的指派更力日简单,更加直观, 方便了系统管理员的管理。 2 基于广泛适用的“8 0 2 0 ”原理整个过滤过程分为两个阶段,第一阶段 进行概略的i p 地址过滤,第二阶段再进行详细的基于角色的过滤。 3 第一阶段的基于i p 地址的过滤规则是随用户的登录情况动态变化的,此 时,i p 地址只在短时间内( 用户保持登录的时间) 是相应用户的合法标识,当 用户登出系统后,该j p 地址将不能再代表该用户,这有效的解决了通过i p 地址 的盗用非法获取网络访问权限的问题。 角色管理模块主要负责实现如下功能: 1 和用户信息管理模块交互,提供用户角色信息为用户和角色的关联提供 信息。 2 和数据包接收和过滤模块交互,为数据包接收和过滤模块的角色相关的过 滤功能提供相应的过滤信息。 3 维护相应的角色列表界面为角色的添加、删除、更新以及角色相关的过 滤规则的指定提供手段。 9 埔十用户伯也的数据乜过滤系统的吐计0 实现 2 4 2 过滤规则列表模块的功能设计 过滤规则列表模块是系统进行网络数据包过滤的一个关键模块,其主要功能 是为系统提供第一阶段过滤的过滤标准以及为系统进行第二阶段的过滤提供用 户的角色信息。具体柬说,过滤规则列表模块提供了以下两个功能: l 与用户信息管理模块交局:,当合法用户登录登出后,根据从用户信息管 理模块传过来的用户i p 地址信息和相应的用户角色信息更新列表中的i p 地址 信息和用户角色信息。 2 与刚络数据包过滤模块进行交互。为数据包的过滤提供相应的i p 地址信 息以及用户角色信息,并以此为基础提供相应的查询功能。 2 5 网络接口绑定模块和数据包转发模块的功能 网络接口绑定模块主要负责以下功能: 1 搜索底层网络的物理接口,并将搜索结果通知系统管理员。 2 接受系统管理员指令,绑定底层的物理接口和逻辑接口。 3 将绑定结果通知其他模块。 在系统的具体实现中,逻辑接口的设计是由些数组组成的集合完成的,这 个集合包括逻辑接口号、i p 地址等接口相关的信息。系统再接到相应的接口绑 定指令后,系统将相应的信息填充到和逻辑接口相关的集合之中去,完成逻辑接 口的初始化工作。随后,系统调用接口绑定函数来最终绑定相应的逻辑接口和物 理接口。这样,当系统需要使用逻辑接口相关的信息时,通过提取对应的数组的 值便可以得到。 使用逻辑接口和物理接口结合的实现方法具有以下优点: 1 在系统实现时让逻辑接口代替实际的物理接口,利于系统实现。 2 在系统管理时,方便系统管理员有效地进行系统一些和地址信息相关的配 置。 数据包接收和转发模块主要负责以下功能: 1 网络数据包的接收和转发,这一功能通过使用r a ws o c k e t 技术,建立两 个r a ws o c k e t 插口实现。 2 静态数掘包转发规则表的维护,包括表项的增加、删除和修改,以及相应 的缺省值的设置。 3 实现相应的数掘包的转发判断。 具体的数掘包转发模块的介绍将在第4 章中详细给出。 顺l 学位论义蛙十用户舶也的数据包过滤系统的设计与实现 2 6 综合管理模块和用户信息管理模块的功能 综合管理模块主要负责当前用户状念显示和监视,用户登录的处理和用户登 录信息的验证等功能,其主要的功能出下面三个子模块实现。 1 用户登录处理子模块 用户登录处理子模块主要负责: ( 1 ) 启动用户登录监听线程,监听客户端对服务器端的登录请求。 ( 2 ) 接收用户登录请求,调用用户身份验证子模块对相应的用户信息进行验 证并根据验证结果保持用户的登录状态或者将用户踢出。 ( 3 ) 在用户登录以后,负责服务器端和用户端之间的通信,并根据通信的结 果进行相应的处理。 2 登录用户身份验证子模块 用户身份验证子模块主要负责登录用户信息的加密验证,具体的实现将在第 五章中给出。 3 登录用户状态显示及监视子模块 登录用户状态显示及监视模块主要负责: ( 1 ) 当前用户状态显示和监视。 ( 2 ) 接收系统管理员指令,对选中的用户进行处理。 在系统的设计中,用户信息管理模块主要负责用户信息相关功能的实现,其 具体实现的功能有: 1 用户信息的录入、删除、修改和存档。 2 用户列表的维护,显示,系统启动时用户列表的初始化以及系统关闭时 用户列表的释放。 3 相关用户和角色的关联,这一功能主要通过系统管理员指定相应用户的 角色来实现。 2 7 小结 本章主要介绍了基于用户角色的数据包过滤系统的总体实现框架和一些模 块的功能设计。其中包括:过滤规则列表和角色管理模块的功能设计,综合管理 模块的功能设计,用户信息管理模块以及网络接口绑定和数据包转发的功能设计 等。 呲i 学位论史 牲十用户角也的数据乜过滤系统的蛙计与实现 3 基于角色的数据包过滤的设计与实现 基于角色的数据包过滤的设计和实现是整个系统实现的关键和重点,其中主 要涉及角色相关部分的设计与实现:数据包过滤相关部分的设计与实现以及两个 部分在系统中整合的设计与实现等内容。本章首先利用3 1 小节到3 ,4 小节共4 个小节的篇幅对这一部分设计 u 实现的技术基础数据包过滤技术、角色的概 念以及基于角色的访问控制进行相应的介绍:在随后3 5 i3 6 、3 7 小节中,文 章分别介绍了以下这些内容:一、利用基于角色的访问控制的相关概念给出了系 统的设计和运行的形式化描述:二、系统中用户、角色的具体实现以及二者之间 关联的实现;三、详细的系统过滤流程设计和实现以及到具体的和角色相关的过 滤流程的设计;最后,在3 9 小节,总结了在角色及过滤相关模块实现中遇到的 一些问题并给出了可能的改进方法。 3 1 数据包过滤技术简介 数据包过滤( p a c k e tf i l t e r i n g ) 是实现网络安全策略的重要机制之一,它通 过应用某种规则对在网络上传输的数据包进行过滤,从而实现在不影响合法访 问的条件下,拒绝未经授权的非法访问的目的。数据包过滤技术作为防火墙为系 统提供安全保障的主要技术,可以用于实现各种各样的网络安全策略。这些安全 策略的主要目标一般是要在不妨碍正常的网络访问的前提下防止未经授权的非 法网络访问,并与此同时保持系统的性能、对用户和应用程序的透明性以及系统 配置方面的简易性。 3 2 数据包过滤规则的制定 在通过包过滤保护网络的工作中,包过滤规则的制定至关重要,它是采用技 术手段实现保护的依据。对于大型网络,包过滤规则可能是很复杂的。需十分仔 细地分析舰划。舰则制定的完善与否,关系到网络是否能够得到有效的保护,网 络服务是否能有效地提供。有时,安全保护与提供服务之间可能是相互矛盾的, 需要采取折衷。 坝l 。学位论上 挂f 用户柏也的数据包过滤系统的设计。j 实现 3 2 1 制定过滤规则相关的信息 实施数据包过滤时,过滤器会监听网络上传输的报文,同时过滤器会在报文 本地转发过程中某一阶段应用相应的过滤规则以决定是否允许该报文通过。前面 已经提到,包过滤规则的确定是以i p 包的信息为基础的,下面具体介绍些经 常用于制定过滤觇则的信息: ! ! p 数据包头韶中的源i p 地址和目的i p 地址字段 i p 数掘包头部中的源i p 地址和目的i p 地址字段在i p 数据包头部中各占3 2 比特位的空削,是制定过滤规则时常用的一个过滤准则,由于i p 地址在互联网 络中可以作为一个网络接口的唯一标识所以通过指定合法和不合法的i p 主机 地址和网络地址,i p 包过滤软件可以只让来自某一组i p 主机地址网络地址的数 据包通过来实现限制某种数据流量的目的。 2 i p 数据包头部中的协议( p r o t o c 0 1 ) 字段 p r o t o c o l 字段在i p 数据包头部中共占8 个比特位,主要用于指定i p 数据包 中的数据属于哪一个上层协议( 如t c p ,u d p ,i c m p ) ,系统可以指定系统 要限制的网络协议相应的协议值( 指定p r o t o c o l 字段中的值) ,通过对到达系统 的网络数据包中的p r o t o c o l 字段的检查,可以达到限制网络主机对某种网络协议 使用的目的。 3 i p 数据包头部中的i p 选项字段 i p 数据包头部中的i p 选项字段位于i p 数据包头部最后的部分,但i p 遥项并 不是i p 数据包头部中必然存在的部分,它是i p 数据包头部的可选项。但是,一 些著名的1 p 选项( 如源路由选项) 对系统的安全具有相当大的威胁。因此,对 带有i p 选项的数据包的过滤十分必要。 4 t c p 报文和u d p 报文头部中的源端和目的端口的端口号 t c p 报文和u d p 报文头部中的源端端口和目的端口的端口号主要用于指定 网络通信中源端和目的端的端口号。由于一些著名的服务使用固定的网络端口, 过滤软件可以通过对一些著名的服务的端口号的限制达到限制网络访问和网络 服务的目的。 5 t c p 报文头部中的t c p 标志( t c p f l a g s ) t c p 标志位于t c p 报文头部,共占6 个比特位,用于指定t c p 连接状态等 功能。t c p 标志可以让过滤软件通过对t c pa c k s 1 刑标志位的检查来确定数 据包源端和目的端是否i f 在试阁建它连接。过滤掉一些建立t c p 连接时所必需 的数据包可以达到m 制t c p 连接建立的目的。 6 i c m p 报文头黜。 1 的t y p e 。 :段 琐学位论文 牡十用户衍也曲数据包过滤系统舶垃i 十实脱 i c m p 报文头部中的t y p e 字段j 二要用于指定i c m p 报文的类型,通过对该字 段的过滤可咀限制某些i c m p 报文传输,比如限制p i n g 程序使用的回显要求 ( e c h or e q u e s t ) 。 7 用户数据 用户数掘位于i p 数据包的数据段,但出于用户的数据并不存在固定的模式, 所以只有通过对i p 包中的用户数据的分析和过滤,获取一些关键的信息后才 可以实现对一些敏感信息的过滤。 8 网络设各 对不同网络设备的选择允许过滤软件对来自不同的网络接口的数据流应用 不同的过滤规则。 9 r 期和时问 可以限制在特定时洲和同期下某种特定的数据流如在上班时间可以限制对 外访问。 , 上面介绍的过滤规则的制定标准之中,有些标准涉及的信息很容易检查,例 如位于i p 包头中的信息,提取一个i p 包头中的信息是相当容易的。相比较而言, 其他的处理起束可能难一些,比如位于t c p u d p 报头中的信息。这主要是因为 一个i p 包在网络中传输时可能会被分片,而原来的i p 包分片后,t c p ,u d p 报 头的信息只会存在于第一个分片之中,同时由于路由的关系,分片抵达目的端的 时间及先后顺序可能并不和分片顺序样,这就给过滤的处理带来了一定的困 难。 3 2 2 制定包过滤规则的模式 包过滤规则制定可以基于以下两种模式】: 1 基于关闭式的模式,在这种模式下,缺省情况下将阻断所有内外互访,而 过滤规则的制定只会考虑个别丌放单项服务情况,并为相应的服务制定允许通过 的规则项。 2 基于丌放式的模式,这种模式f 好和上面基于关闭式的模式相反,即缺省 情况下丌放所有内外互访,而过滤规则指定的是系统将要阻断的内外访问,个别 的单项服务将被关闭。 对校园网和企业网一类的内部网络,由于内部网络中有很多和企业或学校本 身相关的敏感信息存在,基于保证刚络最大安全的原则,这些内部网络多采用基 于关闭式的规则;而对外提供广泛i n t e r n e t 服务的商业性网络,为了为用户提供 方便的服务,则一般采用堪于j l j 放式的规则。因为数据包过滤是双向的,路由器 对于不同流向的数据包,按f :旧的j 观则进行匹配过滤以决定是“拒绝”或“允 堆十用户柏也立年数据包过毖系统的世汁与实现 许”。凶此,总体过滤姚l 【! | j 是两个方向的过滤规则的有机结合。 3 3 数据包过滤技术的实现 3 3 1 包过滤的工作方式 图3 3 1 1 中给出了包过滤技术工作的一般流程。 图3 _ 31 1数掘包过滤流程图 当数据包进入数据包过滤器,首先需要进行的是数据包完整性检查,以确定 包在传输中是否有误。由于包过滤器只根据数据包头部中所包含的信息来匹配过 滤规9 1 | j ,因此不完整的数据包在此之6 u 应该被抛弃。校验后认为是完整的数据包 j 能接受防火墙的输入过滤规则的检查。如输入过滤规则表的检查不允许该数据 包通过,陔数据包将被抛弃,反之,如果输入过滤规则允许该数据包通过,数据 包将进一步接受路出转发检查。防火墙内的路由转发表根据数据包中包含的目的 信息决定数据包是否需要转发,如需要转发,数据包还需要接受转发规则表的检 查。随后,所有的数掘包( 无论是否需要转发) 在离开系统前还需要接受输出过滤 规则表的检查。如粜检查通过,孩数据包最终被转发。从上述分析不难看出,制 帧f 学泣论文坫十丹 户船也的数姑包过滤系统的鞋汁一j 实现 定严谨的过滤规则炭是建立有敛的数拊包过滤机制的关键。 3 3 2 包过滤技术实现的技术手段 包过滤技术实现可以采刷多种方式和不同的底层技术。在w i n d o w s 系统上, 可以采用n d i s ( n e t w o r kd r i v e ri n t e r f a c es p e c i f i c a t i o n :网络驱动程序接口) 的中 间驱动程序,f i l t e rh o o k 和r a ws o c k e t 技术实现数据包过滤;在l i n u x 系统上, 则可以采用i p c h a i n s 的实现方法。f 硷i 简要介绍一下w i n d o w s 系统下的实现方法 l i i : 1 使用n d i s ( n e t w o r kd r i v e ri n t e r f a c es p e c i f i c a t i o n ) 中间驱动程序实现i p 包 的过滤功能。在w i n d o w s 操作系统中,n d i s 是十分重要的底层网络编程接口, 它担负着网络层协议与网络接口设备之间的桥梁作用,通过编写n d i s 驱动程序, 可以有效的实现包过滤技术。 2 使用f i l t e rh o o k 实现i p 包的过滤功能。w i n 2 0 0 0 操作系统提供的i p 过滤驱 动程序( i p f i l t e rd r i v e r ) 有一个扩展接i z l ,可通过扩展接口把我们的回调例程挂接 到系统的i pf i l t e r d r i v e r 截取i p 包内容,控制i pf i l t e r d r i v e r ) n i p 包的过滤。 3 使用r a ws o c k e t 技术实现i p 包的过滤功能。晰r l 2 0 0 0 操作系统提供的 w i n d o w ss o c k e t s 规范2 0 版本为系统用户提供了一个使用r a ws o c k e t 完整接 收网络数据包方法。 3 4 基于角色的概念 3 4 1 现实中角色的概念 由于人类作为一个社会人存在,而任何社会人都必然在社会中扮演一个特定 的角色。因此,现实的人类世界中存在各种各样的角色,可用说人类社会就是一 个各种各样的角色的集合体。举例来晚一个医院里,有医生、护士、药剂师等几 种角色。医生的职责包括诊断病情、) t 处方、给出治疗方案、填写医生值班记录; 护士的职责则包括换药、填写护士值班记录;药荆师的职责包括配药、发药。医 生应浚只尽医q 三的职责,而不应浚做护士或者药剂师所负责的工作。同样护士也 只能尽护士的职责,药剂师只能尽药剂师的职责。医院的工作人员作为医院相关 资源的用户在一定的部门中具有一定的角色( 如医生、护士、药荆师等) ,其所做 的工作以及因此获得的棚关权限必颁与其所扮演的角色的职能相匹配。可以这样 晚,脱实生活c | 人们所扮浈们彳 :f 色直接决定了他们所负责的工作以及他们由此而 6 ! i 。学位皓殳堆十用户舶也的数据包过滤系统的醴汁与实现 获得的相应的资源的访问权限。基j 二同样的道理,在网络资源的访问中,也存在 各种各样的角色,这些舶包e g , 然由于他们工作性质的不同而必然有着不同的访 问权限。 3 4 2 现实中用户和角色关系的分析 出3 4 1 小1 7 中的介绍呵以看出,相关资源的访问权限,角色以及资源的用 户是现实中角色模型的三个关键要素,这三个要素的相互关系可以由图3 4 2 1 描述。其中,角色可以看作是一组权限和职责的集合,不同的角色具有不同的权 限集,而角色权限集则由高级管理员授权给不同的角色( 如图3 4 2 1 所示,图 中的双箭头标识一个用户可以获取一个以上角色的成员资格) 。而用户则通过获 取某个角色的成员资格而成为相应角色的扮演者,或者相应权限的使用者。同一 个用户可以是多个角色的成员,印同一个用户可以扮演多种角色;同样,一个角 色可以拥有多个用户成员,这与现实是一致的,因为一个人可以在同一部门中担 任多种职务,而且担任相同职务的可能不止一人。 具体到上- 4 , 节中的例子,抽象的医生、护士和药剂师就是三种不同的角色, 他们分别与相应的职责权限集合相对应。而实际中的以医生、护士或者药剂师为 职业的人则可以称为相应角色的成员或者用户。医院的管理员在设定不同的角色 的同时,还负责授予用户各种角色的成员资格或撤销某个用户具有的某个角色。 例如当系统需要增加医生的时候,管理员只需将该医生添加到医生这一角色的 成员中即可。同样的道理,如果要删除某一个护士只需简单地从护士的角色中 剔除相应的成员即可。 。 圈3 4 2 1 角色、用户和权限的关系 注:匿l 中f | 勺烈箭头表示一一计多的关系 7 硕士学位论文 基于用户角色的数据包过滤系统的设计与实现 3 4 3 基于角色的访问控制简介 针对上文提到的角色在相关资源访问控制中的特点,美国的n i s t ( n a t i o n a l i n s t i t u t eo f s t a n d a r da n d t e c h n o l o g y ) 于2 0 世纪9 0 年代初提出的一种新的访问控 制技术基于角色的访问控制【3 4 1 ( 砌j a c r o l e b a s e da c c e s sc o n t r 0 1 ) 。该技 术主要研究将用户划分成与其在组织结构体系相一致的角色,3 5 以减少授权管 理的复杂性,降低管理开销和为管理员提供一个比较好的实现复杂安全政策的环 境。 在基于角色的访问控制中,许可( 特权) 就是允许对一个或多个客体执行操 作。角色就是许可的集合。基于角色的访问控制的基本思想是:授权给用户的 访问权限通常由用户在一个组织中担当的角色来确定。访问控制表直接将主体和 受控客体相联系,而基于角色的访问控制在中间加入了角色,通过角色沟通主体 与客体。这样分层的优点是当主体发生变化时,只需修改主体与角色之间的关联 而不必修改角色与客体的关联。 在对基于角色的访问控制进行了系统的研究与应用之后,s a n d h u 等人在对 r b a c 进行深入研究的基础上,在1 9 9 6 年提出了r b a c 9 6 模型。 r b a c 9 6 模型包括4 个层次: r b a c o 模型定义了支持基于角色访问控制的最小需求,如用户、角色、权 限、会话等概念。 r b a c i 模型在r b a c o 的基础上加入角色继承的概念,可以根据组织内部权 力和责任来建构角色与角色之间的层次关系。 r b a c 2 模型在r b a c 0 的基础上加入各种用户与角色之间、权限与角色之间 以及角色与角色之间的约束关系,如角色互斥、角色最大成员数、前提角色、前 提权限等。 r b a c 3 是r b a c l 和r b a c 2 的集成,同时包括角色继承关系和约束关系。 由于在系统的实现中主要参考了s a n d h u 的r b a c 9 6 模型中的r b a c o ,本节 给出r b a c o 的定义。 具体说来,r b a c o 包括以下部分: u ,r ,p 以及s 分别代表用户( u s e r s ) ,角色( r o l e s ) ,许可权限( p e r m i s s i o n ) 和会话( s e s s i o n s ) 。 p a p r ,表示一个从许可权限到角色的多对多的关系。 顺l 学位论文坫十用户佑也的数捌乜过滤系统的设汁与实现 u a u r ,表示一个从用户到角色的多对多的关系。 u s e r :s u ,表示一个映射,浚映射将每一个会话s e s s i o n = s i 映射到一个 具体的用户( u s e r ( s i ) ) 上,这一映射在会话的有效期内将一直有效。 r o l e s :s 一2 8 ,表示一

温馨提示

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

评论

0/150

提交评论