(计算机系统结构专业论文)ssi+vpn中web资源映射机制的研究.pdf_第1页
(计算机系统结构专业论文)ssi+vpn中web资源映射机制的研究.pdf_第2页
(计算机系统结构专业论文)ssi+vpn中web资源映射机制的研究.pdf_第3页
(计算机系统结构专业论文)ssi+vpn中web资源映射机制的研究.pdf_第4页
(计算机系统结构专业论文)ssi+vpn中web资源映射机制的研究.pdf_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

摘要 随着w e b 应用的发展和普及,s s lv p n 技术已经成为目前虚拟专用网研究领 域中的一个热点。本文从实际工程的角度探讨了s s l v p n 网关的整体设计方案, 重点描述了网关所采用的认证、授权和审计机制,以及w e b 资源映射机制。 本文首先全面介绍了v p n 技术的应用现状和发展前景,并阐述了v p n 实现的 一般原理,即采用隧道协议;而后重点介绍了s s l v p n 中所采用的应用层通信协 议s s l t l s ,同时概要性的介绍了s s l v p n 技术。在此基础上,本文对我们提出 的s s lv p ng a t e w a y 设计方案作了整体上的阐述说明;接着重点描述了方案中所 采用的w e b 资源映射机制,主要包括资源映射接口、路径信息的改写机制,以及 内部站点的c o o k i e 管理机制。文中还对s s l v p ng a t e w a y 中所采用的认证、授权 和审计机制作了详细的讨论,其中主要包括系统认证方式的扩充机制、授权模型 及用户授权信息的管理机制,以及系统的日志和审计机制等等。 关键词:虚拟专用网认证机制资源映射 a b s t r a c t w i t ht h ed e v e l o p m e n ta n dp o p u l a r i z a t i o no fw e ba p p l i c a t i o n s ,s s l ( s e c u r es o c k e t l a y e r ) v p n ( v i n l l a ip r i v a t en e t w o r k s ) t e c h n o l o g yh a sb e e no n eo f t h eh o tt o p i c si nt h e a r e ao fv p n f r o map r a c t i c a le n g i n e e r i n gv i e wo fp o i n t ,t h i sp a p e rp r e s e n t sa no v e r a l l f r a m e w o r kf o ro u r d e s i g no fs s lv p ng a t e w a y , w i t he m p h a s i s o na a a ( a u t h e n t i c a t i o n ,a u t h o r i z a t i o n ,a n da c c o u n t ) a n dw e bl e s o l 】1 c e sm a p p i n gm e c h a n i s m s i no u rd e s i g n a tt h eb e g i n n i n g , t h i sp a p e rg i v e sab r i e fi n t r o d u c t i o nt ot h ec u r r e n ta p p l i c a t i o na n dt h e i n t r i g u i n gp r o s p e c to fv p nt e c h n o l o g y , a n dag e n e r a lm e t h o do fv p ni m p l e m e n t a t i o n a sw e l l w h i c hi s a d o p t i n gs o m ew i d e l y - u s e dt u n n e l i n gp r o t o c o l s ;i tt h e np u t ss o m e m o r ee m p h a s i so nt h ei n t r o d u c t i o nt ot h es s l t l st u n n e l i n gp r o t o c o l su s e db ys s l v p n ,s o m eb r i e fd e s c r i p t i o n so fw h i c ha r ea l s og i v e na f t e r w a r d s f u r t h e r , t h i sp a p e r g i v e sad e t a i l e de x p l a n a t i o na b o u tt h eo v e r a l lf r a m e w o r ko fo u rd e s i g no fs s lv p n g a t e w a y , w i maf o l l o w i n gh e a v yd i s c u s s i o no nb o t hw e br e s o u r c e sm a p p i n g , i n c l u d i n g a ni n t r o d u c t i o nt ot h em a p p i n g ,p a t h sc h a n g i n gm e c h a n i s m s ,a n dt h ei n t e r n a lc o o k e m a n a g e m e n t , a n daa aa d o p t e di n0 1 1 1 d e s i g n , w h i c hm a i n l yi n v o l v e se x t e n s i o no f m e t h o d sf o ra u t h e n t i c a t i o n , a u t h o r i z a t i o nm o d e la n dt h em a n a g e m e n to fu s e r s a u t h o r i z a t i o ni n f o r m a t i o n 1 0 9 9 i n ga n da c c o u n t i n gm e c h a n i s m s 勰w e j l k e y w o r d s :v p na u t h e n t i c a t i o n r e s o u r c em a p p i n g 西安电子科技大学 学位论文创新性声明 秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在 导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标 注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成 果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说 明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切的法律责任。 本人签名:罩兰拿本人签名:士竺! 啦 日期盟坐 西安电子科技大学 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保 留送交论文的复印件,允许查阅和借阅论文:学校可以公布论文的全部或部分内 容,可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后 结合学位论文研究课题再攥写的文章一律署名单位为西安电子科技大学。 ( 保密的论文在解密后遵守此规定) 本学位论文属于保密,在一年解密后适用本授权书。 本人签名 导师签名 芝生 臀呼 第一章绪论 本章首先介绍了虚拟专用网( v t r t u a l p r i v a t e n e t w o r k s ) 的产生背景和发展现状, 然后介绍了本文作者所做的工作及其中的创新点。最后简要介绍了论文的组织结 构,以及各章节的主要内容等。 1 1 选题背景 随着计算机技术和通信技术的飞速发展,计算机网络的概念已经逐步的深入到 了人们日常学习和生活中。在改变人们学习生活方式的同时,计算机网络也带来 了一场前所未有的办公方式上的革命。网络办公的概念已渐渐的被人们所接受, 同时也成了企业提高自身运营效率、降低运作成本的有效手段。可以看出,建立 一套完善、可靠的网络基础设施,对一个现代化的企业来讲迫在眉睫【2 】。 通常情况下,在一个大企业内,跨地域的各个企业内部分支机构之间的连接都 是通过租用专线来实现互联的。而出差在外的人员如果需要访问企业内部网络上 的某个资源,则不得不以某种可靠的方式连接到企业当地分支机构的内部网络。 这种租用专线的连接方式虽然有一定的优点,如安全性高、传输速率快等,同时 它也伴随有许多无法避免的缺陷1 1 2 ,例如: 价格昂贵,只有少数的大企业可以承受; 造成网络建设上重复的投资,对社会来讲是一种某种方式上的资源浪费; 出差人员远程接入很不方便。 这些都不同程度的限制和制约着企业网的发展。 随着i n t e m e t 的普及和商业化,大量的企业( 如银行、证券公司等) 的内部网 络都与i n t e m e t 相联,使现代的企业网的概念发生了根本性的变化,同时也大大地 推动了基于公网的虚拟专用网( v i r t u a l p r i v a t e n e t w o r k ,v p n ) 技术的发展。v p n 技术采用专用的网络加密和通信协议,可以使企业在公共网络上建立虚拟的加密 通道,构筑自己安全的虚拟专网。企业的跨地区的部门或出差人员可以从远程经 由公共网络,通过虚拟的加密通道与企业内部的网络连接,而公共网络上的用户 则无法穿过虚拟通道访问企业的内部网络。v p n 的出现,使跨地区的企业的不同 部门之间,或出差职员和企业网之间通过公共网络( 如i n t e m e t 等) 实现互连成为 可能。 与租用专线的传统方式比较,v p n 技术有如下优点【1 2 】: 可以为企业节省大量的通信费用和资金; 2 s s l v p n 中资源映射机制的研究 避免了网络建设上重复的投资。 但是,如何保证企业内部的数据通过公共网络传输时的安全性和保密性,成为 企业非常关注的问题。这也是本文下面即将要着重讨论的问题。 目前,国内外很多大的网络安全厂商已经开始着手研发自己v p n 安全产品。 其中以n e o t e r i s 公司和a v c n t a i l 公司研发的应用层v p n 产品为第一梯队,w h a l e 公司和n e t i l l a 公司的产品紧随其后。c i s c o 公司和n o k i a 公司等大的网络公司也相 继推出了自己的v p n 产品。现在国内的许多大公司也在努力向这个方向跟进,争 取v p n 市场份额【1 ”。 1 2 论文工作 目前,v p n 技术已不是一个新生事物,对此技术的研究已经有了很长的时间, 同时市面上也有很多较为成熟的v p n 产品。然而,本课题的工作内容不是讨论 v p n 的配置、管理和应用,而是从系统的角度对目前主流的应用层v p n 技术,即 s s l v p n 产品开发过程中的若干问题做一系统性的、全局性的描述、分析和讨论, 主要包括整体框架设计、服务器端的认证授权方案、服务器端的资源映射方案、 系统的审计机制等。其中系统中的认证、授权和审计,内网中的资源映射方案是 一个s s l v p n 系统的关键技术所在。这些方面的设计与实现都将直接影响、甚至 决定将来的产品的安全性、易用性以及运行效率等核心指标。 本文作者的任务是基于现有通用的硬件平台和软件平台实现以上所述的s s l v p n 的基本架构,重点放在s s lv p n 网关的整体框架设计、企业内部网络中的 w e b 资源映射方案的设计和实现、以及认证、授权和审计机制。具体的工作内容 主要包括: 查阅了大量的计算机网络、网络通信协议以及v p n 技术的相关资料,认真、 深入的研究了现有s s lv p n 产品实现方案的优点和不足,在此基础上参与了 s s l v p n 产品的总体设计和可行性评估; 查阅了大量关于网络安全方面的资料和论文,深入研究了当前主流的s s l v p n 技术的各个环节,如安全客户端、a a a ( 认证、授权和审计,a u t h e n t i c a t i o n 、 a u t h o r i z a t i o na n d a c c o u n t i n g ) 机制、资源映射机制等; 设计并实现了客户端浏览器安全性的增强方案,主要包括对现有弱密码算法和 或安全通信协议的替换、多用户的管理、以及对智能卡( s m a r tc a r d ) 的支 持等; 设计并实现了服务器端对企业内部的w e b 资源的映射方案,包括u r l 的重 写以及对内部c o o k i e 的管理;较为全面的阐述了w e b 资源映射的各个方面; 参与系统a a a 机制的设计、可行性讨论,以及实现,包括系统的基于c o o k i e 第一章绪论 的认证方式、系统的授权模型以及系统的审计管理 参与系统的测试及性能分析,瓶颈的定位等。 本人在论文撰写过程中的主要创薪点是: 系统的研究了s s lv p n 设计中的相关问题,如系统的框架结构、资源映射方 案等; 成功实现了基于c o o k i e 的认证授权体系结构; 较为全面的研究了w e b 资源映射机制,并成功设计和实现了基于反向代理技 术的w e b 资源映射方案。 1 3 论文结构 本文主要针对s s l v p n 设计中的整体方案、w e b 资源的映射方案设计和a a a 框架设计等方面作了深入全面的讨论。 第一章,绪论。介绍了课题的选题背景、论文的主要工作和论文的创新点。最 后对论文的内容组织进行了简要的介绍; 第二章,v p n 技术概述。从整体上介绍了v p n 技术的一般概念,重点对主流 的实现方案,即s s l v p n 技术及其所采用的s s i y t l s 安全通信协议进行了简要的 介绍,同时解释了我们选择s s l v p n 作为此次研究的重点的原因; 第三章,方案总体概述。从总体上对我们自己的s s lv p ng a t e w a y 实现方案 进行了介绍,主要包括系统的实现目标、系统功能概要描述;此外还对实施方案 的框架进行了大致介绍; 第四章,内部w e b 资源映射。本章详细描述了系统的w e b 类资源的映射机 制的设计和实现,主要包括映射接口的定义、路径信息的改写、以及内部站点 c o o k i e 的管理方案; 第五章,用户的认证、授权和审计。主要描述系统所采用的认证、授权和审计 方案的设计和实现; 第六章,结束语。对此方案进行了一个简单的回顾,并探讨了下一步工作的工 作重点和研究方向。 第二章v p n 技术概述 本章描述目前v p n 所使用的核心技术隧道协议技术;重点介绍了目前主 流的s s l v p n 技术,以及s s l v p n 所采用的s s l d r l s 安全通信协议。 2 1v p n 和隧道协议 目前,v p n 一般有两种不同的使用模式:远程接入模式( 如图2 。1 所示的移动 终端的接入方式) ,和网络互联模式( 如图2 1 所示的a 区和b 区的办公网互联方 式) 。 不论是那种使用模式,目前v p n 的实现主要是通过加密技术、用户认证和访 问控制等技术,在不可靠的信息传输媒介( 如i n t e r a c t 等) 上建立一条可靠的虚拟 加密隧道,从而实现与专用网类似的功能,达到削减网络建设成本的目的。如图 2 1 所示,a 区域办公网、b 区域办公网以及移动终端都可以通过基于i n t c r n e t 所 建立的安全隧道进行通信。 图2 1 v p n 中的隧道技术 隧道技术,可以看作是一种数据封装技术。它利用一种网络传输协议,将其上 层协议产生的数据报文封装在它自己的报文中进行传输,到达目的地后将数据提 取出来、拼装好后发还给上层协议。所以隧道技术包括数据的封装、传输和解包 三个过程。这些过程中所采用的网络传输协议称为隧道协议。 隧道协议按层次可作如下划分【1 2 】: 1 ) 第二层隧道协议;这一类隧道协议首先是将各种网络层协议( 如i p 协议) 封装 6 s s l v p n 中资源映射机制的研究 到数据链路层协议的数据帧中,而后再将封装好的数据帧装入整个隧道协议中 进行传输;常见的第二层隧道协议有:p p t p ( p o i n t t o p o i n tt u n n e l i n gp r o t o c 0 1 ) 、 l 2 t p ( l a y e r - 2t u n n e l i n gp r o t o c 0 1 ) 等等。 2 ) 第三层隧道协议:这一层隧道协议将网络层的各种协议直接封装到隧道协议中 进行传输。由于网络层是处于t c p m 网络模型中的第三层,所以此类隧道协议 称为第三层隧道协议。典型的第三层隧道协议有i p s e c 等。 3 ) 应用层隧道协议:这一层隧道协议将应用层的各种协议直接封装到隧道协议中 进行传输,所以称之为应用层隧道协议。常用的如s s l t l s ( s e c u r es o c k e t l a y e r t r a n s p o r tl a y e rs o c k e t ) 协议。 下面我们将对目前广泛使用的一种应用层隧道协议,即s s 【t l s 协议,以及相 对应的s s lv p n 技术作以详细的介绍。 2 2s s l 厂r l s 协议1 t o l s s l t l s 协谢1 8 】用于在可靠的连接( 如t c p 连接) 之上提供端到端的数据保 密性服务、数据完整性服务、以及通信双方的身份认证服务。s s l 协议的最初版 本是由n e t s c a p e 公司在1 9 9 6 年发布的,并用于其浏览器产品中。截至现在,此协 议的最新版本是s s l v 3 t l s v l 。这一版本得到了广泛的应用,已成为业界标准, 并得到了包括m i c r o s o f t 的i n t e r n e te x p l o r e r 在内的众多浏览器的支持。 s s l 协议不是单个协议,分为两层,这两层在运行时相互独立。低层是记录协 议( r e c o r dp r o t o c 0 1 ) 。高层由四个并列的协议构成,包括握手协议( h a n d s h a k e p r o t o c 0 1 ) 、警告协议( a l e r tp r o t o c 0 1 ) 、改变密码规格协议( c h a n g ec i p h e rs p e c p r o t o c 0 1 ) 和应用数据协议( a p p l i c a t i o n d a t ap r o t o c 0 1 ) 。s s l 在t c p i p 协议栈中的 位置,如图2 2 所示。 s s l 改变密码s s l 应用数据 s s l 握手协议鲻l 警告协议 规格协议协议 s s l 记录协议 t c p i p 图2 2 s s l 分层示意图 从上图可以看出,标记为灰色的部分为s s l 协议在系统t c p i p 协议栈中所处 第二章v p n 技术概述 的位置,即应用层之下和传输层之上的位置。 7 s s l 协议中的主要协议介绍如下: 1 记录协议 记录协议是一个简单的封装协议,主要接受和处理由高层获取的数据。图2 1 3 描述了记录协议对数据的封装过程。 高层数据 分段 压缩 添加m a c 加密 添加记 录头 图2 3s s l _ 记录协议数据处理过程 1 1 记录层从上层接收数据流; 2 1 记录层对数据进行分段,将其分割成可管理的明文块。每个记录的长度为 1 6 k 或者更小。记录层中不关心客户消息的边界,属于同一内容类型的消 息可以放在同一记录层报文中传输,同样,一个比较大消息也可以被分段, 通过多个记录层报文来传送; 3 1 使用当前会话状态中定义的压缩算法对明文块记录进行压缩。这一步是可 选的。这里的数据块压缩过程采用无损压缩,并且增加的长度不能超过 1 0 2 4 字节; 4 ) 对第三步的结果,使用当前会话状态中定义的消息验证码m a c 算法和 m a c 密钥,计算m a c 值,并添加到第三步的结果之后。消息验证码主要 是为了检验信息的完整性,通常由带有密钥的哈希函数实现,输出结果为 一个定长的数值串,即m a c 值; 5 ) 对第四步产生的结果进行加密。加密对内容长度的增长也不可以超过 1 0 2 4 字节; 6 ) 对第五步产生的结果添加记录头。记录头部分包含三部分信息:内容类型 ( 8b i t s ) 、s s l 协议版本号( 8b i t s ) 和长度域( 1 6b i t s ) 。其中内容类型对 s s l v p n 中资源映射机制的研究 应四种类型,即a p p l i c a t i o n _ d a t a 、a l e r t 、h a n d s h a k e 以及c h a n g e _ e i p h e r _ s p e c , 分别对应上一层中的应用数据协议、警告协议、握手协议以及密码规格更 改协议。版本号,包括主版本号和次版本号,指明本次通信中采用的协议 版本。而长度字段,指明了明文数据块的长度( 以字节为单位,如果是经 过压缩的则指明明文经过压缩后的数据块长度) ,便于接受方的处理。 2 握手协议 握手协议是s s l 协议中最复杂的一部分,它有三个作用或目的: 通信双方协商通信中将要使用的协议版本和密码算法组合; 密钥交换; 对对方身份的认证。 在传输任何应用数据之前,通信双方使用握手协议就以上方面做好协商。 而后,在应用数据传输期间,记录协议使用双方协商的密钥信息以及密码算法 来加密和解密应用数据。握手协议的过程如下图。 ( 1 ) 所支持的协议版本,加密算法,随机数 ( 2 ) 选中的协议版本,加密算法,随机数,证书 ( 3 ) 加密后的p r e n l a s t e r _ s e c r e t ( 4 ) 计算密钥( 4 ) 计算密钥 ( 5 ) 握手消息的m a c 值 ( 6 ) 握手消息的m a c 值 图2 4s s l 握手过程示意图 具体过程描述如下: 1 ) 客户端将它所支持的协议版本和算法列表连同一个将在密钥产生过程用 作输入的随机数发送给服务器; 2 ) 服务器从算法列表中选择密码算法组合,并将其连同一份包含服务器公钥 的证书发回给客户端。该证书还包含了用于认证目的的服务器标识。服务 器同时还提供了一个作为密钥产生过程部分输入的随机数; 3 ) 客户端对服务器的证书进行验证,并抽取服务器的公钥。然后,再产生一 个称作预主密钥p r e 的随机密码串,并使用服务器的公钥对_ m a s t i f f s e c r e t 器1liljiiiiflllf_l 务一 一 一n 端iljlllljlli-一n 川u 第二章v p n 技术概述 9 其进行加密。最后,客户端将加密后的信息发送给服务器; 4 ) 客户端与服务器端根据p r em a s t e rs e c r e t 以及客户端与服务器交换的随 机数值,独立计算出加密和m a c 密钥; 5 1 客户端将所有握手消息的m a c 值发送给服务器; 6 1 服务器将所有握手消息的m a c 值发送给客户端; 7 1 双方对m a c 值检验正常,则握手完成,连接已经建立。 在第一步和第二步中,客户端和服务器实现了协议版本的协商和密码算法 组合的选择。客户端告诉服务器它所支持的s s l 协议版本和算法,服务器选 择其中的一个版本和一种算法。当客户端收到了服务器在第二步所发的消息 时,它就知道以后所用的协议版本和算法。 确立一组加密密钥是通过第二和第三步实现。第二步中服务器向客户端提 供其证书,这样就允许客户端给服务器传送密码。第三步之后,客户端和服务 器就都知道了p r e ,而后可以利用此预主密钥来生成其它的密钥。_master s e c r e t 第三步是握手过程中的关键步骤。所有要被保护的数据都依赖于 p r e的安全。客户端使用服务器的公开密钥(从证书中抽取出)_master s e c r e t 来加密p r e,而服务器使用其私有密钥对其进行解密。然后在第master s e c r e t 四步,客户端和服务器分别使用相同的密钥导出函数( k e y d e r i v a t i o n f u n c t i o n ) 来产生m a s t e rs e c r e t ,最后再次通过k d f 使用m a s t e rs e c r e t 来产生加密密 钥。 第五步与第六步用以防止握手本身遭受篡改。客户端提供的多种算法有强 度强弱之分,攻击者可以删除客户端在第一步所提供的所有高强度算法,迫使 服务器选择一种弱强度算法。m a c 交换可以防止这种攻击,因为客户端的 m a c 是根据原始消息计算出的,而服务器的m a c 是根据攻击者修改过的消 息计算出的,这样经过检查就会发现不匹配。这两步中对应的消息是在上几步 协商好的加密算法与密钥下加密的消息。 因此,在此过程结束时,客户端与服务器已就使用的加密算法达成一致, 并拥有了一组与那些算法一起使用的密钥。更重要的是,它们可以确信握手过 程没有受到干扰,磋商过程反映了双方的真实意图。 3 警告协议 警告协议将警告消息以及它的严重程度传递给s s l 会话中的主体。当任何一 方检测到个错误时,检测的一方就向另一方发送一个警告消息。如果警告消 息有一个致命的后果,则通信的双方立即关闭连接。双方都需要忘记任何与该 失败的连接相关联的会话标识符、密钥。对于所有的非致命错误,双方可以缓 1 0 s s l v p n 中资源映射机制的研究 存信息以恢复该连接。 4 改变密码规格协议 改变密码规格协议是最简单的特定于s s l 的协议,它存在的目的是为了表示 密码策略的变化。该协议包括一个单一的消息,即c h a n g e c i p h e r s p e c 消息, 该消息仅包含一个字节,值为1 。在完成握手协议之前,客户端和服务器都要 发送这一消息,以便通知对方其后的记录将用刚刚协商的密码算法以及相关联 的密钥来保护。 , 5 应用数据协议 包括常用的应用层协议,如超文本传输协议( h y p e r - t e x tt r a n s f e rp r o t o c o l , h t t p ) 、文件传输协议( f i l e t r a n s f e r p r o t o c o l ,f t p ) 等 2 3s s l v p n 技术 s s lv p n 就是在v p n 的实现中,隧道协议采用2 2 小节中所介绍的s s l t l s 协议的v p n 产品。通过s s l t l s 协议,发送方在发送数据前事先和接受方( 如可 以是s s lv p ng a t e w a y ) 建立一条s s l f r l s 隧道( 利用上一小节所介绍的握手协 议) 。在以后的通信过程中,发送端在向对方发送数据前,首先利用协商好的密钥 和密码算法对所要发送的数据进行加密,而接受方在接受到数据后,使用相应的 密钥和密码算法对其进行解密操作,从而得到初始的消息明文。 0 9 一 臼 p 企业内部一 图2 5s s l v p n 结构示意图 如图2 5 所示,在客户端程序( 如i e ,o u t l o o k 等) 要访问某企业内部网络上 的资源之前,客户端加解密模块会先同s s l v p ng a t e w a y 建立一条s s l t l s 的加 密隧道,如上图中粗的黑色线条所示。在随后的通信过程中,客户端的加解密模 第二章v p n 技术概述 块会截取客户端应用程序( 如i e 等) 发到网络上的所有报文,通过刚才建立好的 加密隧道经由不可靠的i n t c r n e t 发送到s s lv p ng a t e w a y 。g a t e w a y 从隧道的另一 端拿到此包后,经过一系列的认证、权限检查等操作后,将此报文交由相对应的 企业内部网络服务器来处理。处理完毕后,g a t e w a y 再将处理的结果消息按照刚才 的方式通过隧道发给客户端加解密模块,最后由此模块转交给客户端应用程序。 图中所示的客户端加解密模块屏蔽了s s lv p ng a t e w a y 的一些和用户操作无关的 配置项,最大程度地实现了s s l v p n g a t e w a y 对最终用户的透明。 下面的章节中将详细介绍一个s s lv p ng a t e w a y 产品实现的各个方面,重点 放在对内部w e b 资源访问的保护上。 第三章方案总体概述 本章主要从整体上描述s s lv p n 网关的设计和实现,包括方案的整体目标、 系统的功能描述,以及实现方案的概要介绍和各个功能模块的主要介绍,为随后 章节中的详细描述奠定基础。 3 1 目标和功能 随着h t t p ( h y p e r - t e x tt r a n s f e rp r o t o c o l ,超文本传输协议) 【2 0 】协议的广泛应 用,w e b 成为标准的应用平台已经势不可挡。主要原因有: 目前,用户电脑上都装有浏览器软件,如i e ( i n t e m e te x p l o r e r ) 、f i r e f o r x 等等。使用w e b 作为应用平台,可以避免安装和配置客户端软件的麻烦, 方便用户的使用; - 由于w e b 应用平台中采用的是标准的协议,即h t t p ,系统升级、维护 和管理都很方便,只需要在服务器端升级即可; 如果有紧急需要,用户可以临时使用机场等场所提供的电脑,而不需要下 载安装以及配置任何软件。 所以,越来越多的应用开始被移植到w e b 平台上,如c v s ( c o n c u r r e n t v e r s i o n s y s t e m ,并发版本系统) 、m i c r o s o f to u t l o o k 等都提供有w e b 访问方式。 基于此,项目中s s lv p ng a t e w a y 的目标是:安全可靠的实现企业内部网中 w e b 类资源的外部映射。主要功能包括: 1 基于h t t p s 的接入; 2 支持多种用户认证方式,如传统的用户名一口令方式、基于x 5 0 9 证书的 认证、以及r a d i u s 认证等等;并留有认证方式扩充用的统一接口,使得系 统可以自由扩充新的认证方式; 3 基于a c l ( a c c e s sc o n t r o ll i s t ,访问控制列表) 灵活的用户授权方式,包 括基于时间的控制、基于站点资源的控制、以及两者混合的控制方式: 4 采用标准的日志记录格式,用户可以选用任何支持此格式的第三方审计软 件来对系统的日志进行综合分析; 5 w e b 类资源的安全可靠的外部映射。 除此之外,还有很多其他的功能,在此就不一一列出。 1 4 s s lv p n 中资源映射机制的研究 3 2 实施方案介绍 项目中的s s l v p n g a t e w a y 应用场景如图3 1 所示: 客户端 图3 1s s l v p n 部署示意图 如图3 1 所示,客户端浏览器i e 等通过h t t p s 协议,经由i n t e r n e t 连接到s s l v p ng a t e w a y 。在通过一系列的认证授权后,用户便可以访问企业内部网络中的其 具有访问权限的w e b 资源。并且,用户的所有操作都被记录,以备日后审计之用。 其中s s l v p ng a t e w a y 可分为如下模块,如图3 2 所示: 认证模块 授权模块 w e b 资源映射模块 日志和审计模块 图3 2s s lv p ng a t e w a y 模块划分 其中: 1 认证模块:负责对用户身份的识别和验证。支持多种主流的认证方式,如 传统的用户名一口令方式、基于x 5 0 9 数字证书的认证方式、r a d i u s 认证等 等:并且提供认证方式的扩充接口,支持认证方式的自由扩充; 2 授权模块:根据认证模块所识别出来的用户身份,对其进行授权,即加载 用户对应的授权信息。例如,假设当前识别出登陆用户的身份信息为u s e r a ( 所在组为g r o u p a ) ,则授权模块根据数据库中事先配置好的权限配置 信息,加载此用户对应的访问权限控制列表; 第三章方案总体概述 1 5 3 w e b 资源映射模块:负责解析用户对企业内部网中w e b 资源的请求,识 别出用户要访问的内部资源:并以用户的身份去请求此资源,最后再将结 果返回给请求这个资源的用户。其中包括映射接口的定义、对返回页面中 u r l 信息的改写、内部c o o k i e 的管理等; 4 日志和审计模块;负责记录用户的所有操作,以备曰后审计分析之用。 下面的第四章将介绍内部的w e b 资源映射机制的实现:第五章介绍系统的认 证、授权、审计模块。 第四章内部w e b 资源映射 为了实现s s l v p ng a t e w a y 提供对w e b 资源安全可靠的受保护访问的功能, 我们采用了w e b 资源映射这种实现方式。作为实现方案中的核心章节之一,本章 将主要描述w e b 资源映射机制,及其实现原理和方案。第- d , 节介绍资源映射所 要解决的问题;后面两小节分别从两个方面来详细介绍w e b 资源映射中路径信息 改写和内部站点c o o k i e 的管理机制。 4 1 资源映射简介 要实现s s lv p ng a t e w a y 对内部网络上w e b 资源的保护,用户对内部w e b 站点的请求必须经由网关转发到所请求的内部站点。只有这样,在网关端我们才 可以对经由i n t e r a c t 的对内部站点的访问请求进行控制、记录等操作。 内部站点# l 内部站点粒 内部站点船 图4 1v p n 网关部署示意图 如图4 1 所示,要实现我们前面所述的s s lv p ng a t e w a y 的功能,用户a 发 出的对内部站点样1 、舵和撑3 的访问请求都必须经由s s l v p n g a t e w a y 。这些请求 只有通过网关对该用户访问权限的验证,v p n 网关才会转发此请求到相应的服务 器,并发回该服务器的应答信息;否则,网关将直接拒绝用户的该请求。同时, 如果v p n 网关转发用户对内部某个站点的请求后,会对此次访问作记录,以备审 计之用。 至此,我们可以得到一个总结:系统必须要实现上述的请求转发功能。要实现 此功能,系统必须具备有如下几个条件【2 6 】: 1 1 用户通过i n t e r n e t 对内部站点的任何访问请求都必须经由s s l v p ng a t e w a y , 2 1s s l v p n g a t e w a y 必须从用户的h t t p 请求中解析出该用户实际要访问的内部 站点的域名或i p 地址、端口、以及所要访问文件的路径信息,等等: 脯 s s l v p n 中资源映射机制的研究 3 ) 内部w e b 站点的c o o k i e 中很有可能含有内部机密信息。为了获取更大的安全 性保障,我们必须提供某种机制来阻止内部站点的c o o k i e 传送到外网;同时 还必须保证用户的请求被转发到内部站点时必须携带有相关的c o o k i e ,保证用 户和内部站点的正常通信。 只要实现了上述的三点,用户每次对内部站点的请求都会发到网关,经过网关 的认证后,到达所要访问的内部站点。最后,网关将该内部站点的响应信息转发 回该用户。同时,此站点的c o o k i e 都由s s l v p n g a t e w a y 来为用户代为管理,避 免传送到外部不可靠的网络,这样就达到了我们提高内部网络安全性的需求。这 样,s s lv p ng a t e w a y 就可以为出差用户提供基于i n t e r n e t 的安全可靠的对内部 w e b 站点的访问。 上面所述的三点中,第一和第二点在4 2 小节中详细描述;而第三点将在4 3 小节中描述。 4 2 路径信息改写 如上- - b 节所述,s s l v p ng a t e w a y 要实现对内部w e b 站点的保护,我们必 须保证用户每次对任何内部站点的请求都会先发送到网关,经由网关的认证后方 可到达响应的内部服务器。为了实现此功能,我们可以采用如下两种方梨捌: 1 ) 客户端代理 这种方式很简单,如图4 2 所示。 p r o x y 图4 2 使用客户端代理方式 用户a 通过客户端代理p r o x y 连接至i n t e r a c t ,a 和p r o x y 之间的通信可以采 用某种流行的代理协议,如可以是h t t p 代理协议,s o c k s 4 5 等等,而p r o x y 和 网关之间的通信则仍旧采用h t t p h t t p s 。这样,客户端代理就可以完成我们上 面所述的要求,即将用户a 的每次对内部站点的请求都转发到s s l v p ng a t e w a y , 肌 第四章内部w e b 资源映射 同时网关也可以凭借代理协议提供的某种机制来获取用户所要请求的内部站点的 信息。而对用户a 来讲,p r o x y 和s s l v p n g a t e w a y 几乎是透明的。 但是,由于客户端代理服务器一般没有提供我们所需的某些特定功能,必须由 我们自己来实现。而且这种方式也有一定的缺点。例如,用户如果要访阅内部网 络上的w e b 站点,必须下载安装此客户端代理服务器软件。这就从某种程度上限 制了用户对v p n 的使用范围。此外,用户通常还需要做一些客户端代理的配置工 作,降低了网关对用户的透明度。 2 ) 内部w e b 资源的映射机制 另外一种实现机制就是通过s s l v p n g a t e w a y ,将所有内部w e b 站点的目录 树映射到网关的目录树中的特定目录中。这样,在外部用户看来,内部的任何一 个w e b 站点都好像是被移到网关端一样。 如图4 3 所示,假设网关端的目录树为: , p a g e 3 h t mp a g e l h i mp a g e 2 h t m 图4 ,3 网关目录树示意图 经过s s l v p ng a t e w a y 的w e b 资源映射机制后,对用户来讲,网关的目录树 很有可能呈现出如下形状: 内部站点群l 内部站点圯内部站点船 图4 4 映射后网芙的目录树形状 s s l v p n 中资源映射机制的研究 如上图所示,经过映射机制后,外网的用户看来,内部站点的目录树都变成了 网关目录树中的一个个子树,如上图中右下角所画的三个虚线椭圆。内部站点的 目录树由虚线绘制,主要是想表达它们实际上是不存在于网关端的,是网关的映 射机制为外网用户呈现的一种假象。 同样,网关端的映射机制也可以保证用户每次对内部站点的请求首先都发往 v p n 网关( 通过下面将要描述的路径信息改写机制来实现) ,经过网关的身份验证 后方可被转发到相应的内部服务器。 和第一种方法,即客户端代理的实现比较,通过网关端对内部w e b 资源的映 射来实现由很多的好处。例如:所有的逻辑均在s s lv p ng a t e w a y 端实现,不牵 扯客户端,这就为用户的使用带来了很大的方便。用户出差时,可以在任何一台 连接至i n t e m e t 的计算机上访问内部网络,而不需要安装任何额外的客户端软件。 同时,用户也无需作任何额外的配置。此外,系统的升级也很方便,只需更新网 关端的相关软硬件即可。 基于此,我们的s s lv p ng a t e w a y 的实现中采用第二种方式,即资源外部映 射机制来实现对内部w e b 站点的访问控制。 本小节的其他章节将要详细介绍资源映射机制如何实现第一节中所提到的前 两点,即: - 网关如何从客户端的h t t p h t t p s 请求中解析出用户要访问的内部站点 的信息; _ 如何保证用户每次的请求都会发送至网关; 第一个问题是由规定好统一的映射接口来解决,详见下面第- - d , 节的介绍;第 二个问题由路径信息的改写机制来实现,详见第z 4 , 节介绍。 4 2 1 映射接口定义 为了使用户对内部站点的每一次请求都能够发到网关,并且网关能从该h t t p 请求中获取用户实际要访问的内部站点的信息( 如口地址或域名、端口、h t t p 或者h t t p s 等) ,资源映射机制中采用事先定义好的映射接口来实现这些功能。 映射接口,规定了一个具体的内部站点的u r l ( u n i f o r m r e s o u r c e l o c a t o r ) 经 过映射机制后具体处于网关目录树中的什么位置。如果我们规定好了一个统一的 映射接口,就可以知道每一个内部站点中任何一个网页文件在网关目录树中的虚 拟位置。这样,我们便可以通过网关来访问这个文件。此外,网关还可以根据规 定好的统一映射接口,从用户对虚拟路径的访问请求中解析出具体要访问的站点 第四章内部w e b 资源映射 2 l 信息。 一个u r l 一般包含有:协议、域名和端口、以及页面路径等信息。接口定义 中,我们采用将这三类信息包含到网关端挂载内部站点子树的虚拟文件夹的路径 中。 如上面的接口定义所示,内部所有的w e b 站点都被映射到网关端的s i t e s 目 录下,在用户看来成为此目录下的一个虚拟的子树。 有了上述接口的定义,网关端可以从用户发来的h t t p s 请求中解析出用户实 际要访问的内部站点的u r l ,即要访问的内部站点的内部域名和端口、页面的路 径,以及所要采用的协议( h t t p h t t p s ) 。例如,假设用户的请求路径为: 首先,路经中的s i t e s 标记此请求实际上是要访问某个内部站点的。使用 s i t e s 标记的目的只是和网关网页目录树中的其他文件的路

温馨提示

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

评论

0/150

提交评论