IPSec/VPN安全策略的正确性探讨
2016-03-05刘瑶瑶邢伟
刘瑶瑶 邢伟
摘要:随着IPSec/VPN策略的广泛应用,如何正确地制定和配置在执行安全需求的时候是非常关键的。现在很多情况下,IPSec/VPN策略是由系统管理员来定义,很多时候的策略是不正确的。然后,网络的动力会影响策略的设置甚至导致意外冲突。为了处理这些问题,需要定义IPSec的安全需求,策略和相关的一些参数。基于这些定义,提供一种区域间的架构来生成正确和有效的安全策略。当网络堵塞时也能配置安全策略,同时,当有新的安全策略加进来时也能处理。最终,可通过模拟数据来评估解决方案。
关键词:IPSec/VPN;安全需求;安全策略管理;安全策略保证
1 概述
互联网在很多方面变得越来越动态化,随着无线网络技术的多样化,用户和子网都可以是移动的,移动性意味着策略上或分发策略的内部关系上的潜在变化。自适应的安全是策略改变的另一个原因。不久的将来,通过修改安全策略来使安全管理系统应对新的入侵检测是很普遍的。通常一条IPSec策略规则包含两部分:条件和操作,如果条件部分符合了,那么操作部分就会执行。在IP包头中的值就会被作为一个交通选择标记到条件部分,那么操作部分就会指定怎么样处理网络拥堵来应对这个选择。一条IPSec/VPN策略,它能够执行如下3种可能的动作:拒绝,允许,IPSec执行动作。
然而,在实际情况下,IPSec/VPN策略主要配置在个人的安全网管或管理域中。这些区域效率不高且容易出错。这个过程中,小的或微妙的错误都会在全局的网络安全上造成大的问题。此外,策略之间的相互作用也能引起非预期的安全违规行为,就算是非常小心或很有经验的管理员也很难检查出这些违规行为。
IPSec策略冲突:隐私保护和内容检查。
例如,A和B之间建立了一条加密的通道来保护他们之间敏感的通信,但在安全网管上的其他策略是拒绝ESP加密包的,所以所有的包在传输过程中将会被丢弃。
IPSec策略冲突:网络通信选择障碍。
例如,策略1指定包必须通过一条AH通道从A认证后去向B,根据策略2和策略3的要求,网关将实行访问控制策略只运行A到B的网络通信,但是A和网管之间的认证通道将会改变包头把目的地址指向另一个网管。因此,根据策略3的要求,从A到B的所有包将会被丢弃,但这也就违背了管理员的初衷了。
上面的两个例子说明了一系列策略之间的相互作用可能会导致一些冲突而违背初衷。这说明了在IPSec策略管理中两个根本的问题:(1)怎样系统地定义正确的策略集并且能安全的通过网络进行分发?(2)怎样保证分发的安全策略的正确性?
IPsec策略必须满足下列要求:要求在较高层次上定义策略以及高级策略必须能被清晰定义;相信策略确实做了他所声称的,并且实现也是正确的;必须能够支持复杂的策略管理方案,同时能控制和改变许多远程设备的策略;在大型网络系统中,必须能授权不同实体使其能确定自己的策略;所采用的机制必须不能对IPsec中任何协议做任何改动且不能依赖SA协商协议。
2 原理
IPSec VPN的应用场景分为3种:(1)Site-to-Site(站点到站点或者网关到网关):如弯曲评论的3个机构分布在互联网的3个不同的地方,各使用一个商务领航网关相互建立VPN隧道,企业内网(若干PC)之间的数据通过这些网关建立的IPSec隧道实现安全互联。(2)End-to-End(端到端或者PC到PC):两个PC之间的通信由两个Pc之间的IPSec会话保护,而不是网关。(3)End-to-Site(端到站点或者PC到网关):两个PC之间的通信由网关和异地PC之间的IPSee进行保护。
VPN只是IPSec的一种应用方式,IPSec其实是IPSeeurity的简称,它的目的是为IP提供高安全性特性,VPN则是在实现这种安全特性的方式下产生的解决方案。IPSec是一个框架性架构,具体由两类协议组成:(1)AH协议(Authentication Header,使用较少):可以同时提供数据完整性确认、数据来源确认、防重放等安全特性;AH常用摘要算法(单向Hash函数)MD5和SHAI实现该特性。(2)ESP协议(Encapsulated Security Payload,使用较广):可以同时提供数据完整性确认、数据加密、防重放等安全特性;ESP通常使用DES、3DES、AES等加密算法实现数据加密,使用MD5或SHA1来实现数据完整性。
3 安全需求和策略
在以前的工作中,证明了为了保证安全策略的正确性,清晰和严格的区分高级策略和低级策略是很有必要的。IPSec策略管理的一个重要任务就是快速明白地表示出高级的安全需求。
3.1 安全需求分类
为了详细的分析安全需求,首先要把安全需求分层不同的四种类型。例如定义了一条内容访问需求,要求从的通信将被路由器1和2拒绝,但其实是需要对这两者之间的网络流量进行检查。此外,随着需求定义的建立,一条策略会为了满足一个需求而建立。基本上,一条策略包含一个网络目的地和与之相关的特定的动作。
3.2 安全需求和策略定义
定义1:IPSec/VPN策略在两个不同的级别之间被指定:需求级的安全策略和实施级的安全策略。它们在定义的时候是遵循基本的格式的,但是在属性和语义上是不同的,需要被严格的定义。
定义2:一条安全策略P是遵循如下规则的:如果满足c那么执行A,P=C-A。
定义3:一条安全策略的条件部分是安全策略的集合,每一条都是指定目的地的有限的值。条件满足了或者包被一条策略选择了,并且仅有这个包的每天选择都包含在这个集合中才能表示出这个策略集。
4 在内部网络环境中自动策略生成
面对一系列的安全需求,最根本的问题是找出策略方法来正确的满足安全需求。以前的工作解决了内部网络环境中的问题,将集中在内网环境中提供更广泛的策略解决方案。本文将使用带宽架构来发现路由途径中的安全需求并使用有序分流及最小的通道来自动生成解决方案。
IPsec本身没有为策略定义标准,目前只规定了两个策略组件:SAD(安全关联数据库)和SPD(安全策略数据库)。在IPsec系统中,安全策略通过SPD得到表现。
对于外出包,必须先检索SPD,决定提供给它的安全服务。对于进入包,也要查阅SPD,判断为其提供的安全保护是否和策略规定的安全保护相符。SPD是有序的,每次查找的顺序应相同。SPD还控制密钥管理(如ISAKMP)的数据包,即对ISAKMP数据包的处理要明确说明,否则该包将被丢弃。
4.1 带架构
在一个内网中,依靠纯集中的管理系统去收集不同网络区域的安全需求从而计算出正确的策略是不可扩展的。因此,建议使用集中和分散系统混合的架构。在带架构中,需要每个网络区域中有需求服务器。需求服务器用来和其他网络区域中的需求服务器集中和协同策略。需求服务器执行两个阶段的策略协同过程。
(1)路由路径发现。为了发现路由路径上的需求服务器并解决它们之间的策略协同,首先要做的是发现路由路径的起点和终点。根据发现的起点路径,在这条路径上的其他服务器应该能够通过DNS来标识出终点的IP地址。这个过程是为第二个过程做准备的,为了相关的需求服务器交换信息来生成策略。
(2)需求发现和策略协同。在第一阶段探讨了起点路由路径,在这条路径上的每个终端路径需要和相邻的终点路径确认来发现网络流量中的相关的需求。需求服务器在MIBS中存储了本地需求信息和路由数据以及已有的通道信息。为了保证最新的数据,它需要定期从本地的路由器中更新这些数据。
一旦服务器收到了它所需的数据,它会基于相关的需求调用策略协同模型来计算策略。使用直接方法来自动生成安全策略。然而,这种方法可能会生成多余的通道,将使用有序分流算法来生成最少的策略集。
4.2 有序分流算法
当网络变得更复杂时,加密和解密的耗时会严重影响通信质量。因此,自动的IPSec/VPN策略生成将需要开发更有效率的方案。在一系列安全需求下,有一种方法可以通过很少的几个IPSec通道提供了一种更有效率的方法来执行加密操作。因此,笔者提出了一种算法自动生成策略来满足需求,同时提供用最小的策略数提供最优的解决方案。下面介绍动态有序分流算法的细节。
动态有序分离算法要求事先知道所有的安全需求,所有这个算法首先是通过表格值来对需求进行分类。在一个更实际的场景中,新的需求可能已到达,需要更新策略。每当新的需求到达,只需要简单的重新运行有序分流算法,但是这将会很慢。另一方面,当需要处理新的需求时有序分流算法能够被修改并且只需要修改必要的变更。
5 模拟结果和分析
笔者比较了有序分流方法和束的直接方法得出,有序分流的方法能通过最小的通道数生成解决方案。进一步又在linux平台下实施了动态的有序分流方法在多种场景下进行了模拟首先,使用两种方法随机生成1到500条的安全需求,实验表明,两种方法各自在使用最少的通道提出最佳解决方案时最终生成了相同数量的通道(尽管通道可能不一样)。其次,衡量了两种方法的效率。原始的有序分流法要求所有的需求要进行排序并且需要按照顺序来,处理无序的需求要求这种方法首先拆除所有现存的通道,然后再对需求进行排序后计算出最终的通道数量。这种方法需要的时间至少是计算需求集合时间的两倍。另一方面,改进的有序分流方法能够很容易的处理无需的需求,只需要拆散和释放可能被这些需求影响的通道。因此,在带架构下使用改进的有序分流方法是非常有效率的并且能够使用最少的通道数提供正确和无冲突的通道解决方案。
6 结语
IPSEC安全策略被广泛用于防火墙和安全网关上用来保护信息的正确性,如何正确的定义和配置安全策略在执行一个组织的安全需求时是很关键的。因此,本文提供了一种正式的方案通过策略管理解决了内部网络中安全策略的正确性和有效性。内部网络的IPSec/VPN策略管理架构是用来使用路由协议来首先发现路由路径,然后沿着路由路径收集安全需求来自动生成策略的。一组通过安全需求自动生成策略的算法能够被用在带宽控制下,包括束/直接方法,有序分流算法和改进的有序分流算法。使用改进的有序分流算法实验表明它应用于带下是非常困难的,因为它在无需的需求是几乎不耗费回路时间。
基于当前的结果,这个研究能够在好几个领域中进行。首先,将这个研究应用于动态的策略解决方案还需要进一步的研究。其次,更多级别的策略可能会被定义直到完整的级别被建立起来。更多的解决方案还有待进一步研究。