1.工作模式
在传输模式中,两个需要通信的终端计算机在彼此之间直接运行IPSec协议。所有加密、解密和协商操作均由端系统自行完成,网络设备仅执行正常的路由转发,并不关心此类过程或协议,也不加入任何IPSec过程。
在隧道方式中,两个安全网关在彼此之间运行IPSec协议,对彼此之间需要加密的数据达成一致,并运用AH或ESP对这些数据进行保护。隧道模式对端系统的IPSec能力没有任何要求。来自端系统的数据流经过安全网关时,由安全网关对其进行保护。所有加密、解密和协商操作均由安全网关完成,这些操作对于端系统来说是完全透明的。隧道模式的目的是建立站点到站点的安全隧道,保护站点之间的特定或全部数据。
因此有必要根据具体的应用场合,决定如何部署IPSec。传输模式可以提供端到端的安全性,但是其部署相对复杂。隧道模式可以集中为站点之间的通信提供安全服务,但是需要额外的网关资源,并且只能保证隧道沿途的安全性。
2.网络拓扑
在部署大规模站点到站点的IPSec VPN时,合理的网络拓扑设计是网络具有可扩展性和高可靠性的重要因素。
IPSec需要消耗大量的处理资源,因而其拓扑设计与GRE等简单VPN技术有所不同,需要更多的考虑。IPSec拓扑设计包括全网状、部分网状、星形和树形。
3.高可靠性设计
IPSecVPN中的高可靠性主要考虑整体网络的高可靠性和局部范围内网络的高可靠性,如图5.88所示,目前主要通过两种方式来实现:
图5.88 高可靠性设计
(1)利用GRE隧道配合动态路由协议实现整体网络的高可靠性 较常见的实现方式是使用GRE OVER IPSec技术同时在GRE隧道虚接口启动OSPF动态路由协议,为避免默认情况下动态路由协议可能带来的数据转发路路径不一致的情况,我们可以规划好主备路径,一般通过调整链路花费值的方式调整数据文的转发路径达到目的。还必须考虑单台设备的处理性能,比较可行的办法是在网络设计初期充分考虑设备间的负载分担问题,使头端设备能够尽量均分所有的负载。
(2)利用IKE KEEPALIVE机制或IPSec DPD技术实现局部范围内的高可靠性
①IKE KEEPALIVE机制:已经建立安全联盟的对等体当一端出现故障时另一端的安全联盟状态将不会主动进行刷新,如果不进行安全联盟的重新协商那么在安全联盟的生存期结束之前数据将一直使用旧的安全联盟进行通讯,进而可能导致通信中断。为了解决这个问题,IKE KEEPALIVE机制提供了一种解决方案,一种特殊保持激活的报文将被用于安全联盟状态的维护,对等体的一端可以定期发送保持激活的消息给另一端,接收到消息的一端则可以确认另外一端仍然处于激活状态,目前的安全联盟仍然可以使用,如果在设定的超时时间内没有收到对端的保持激活信息,那么该安全联盟将会标记为超时状态,如果在下一个超时时间内仍旧没有收到对端发出的保持激活信息,那么该安全联盟将失败并被删除,重新有数据流量触发时安全联盟将会重新协商。
②IPSec DPD实现机制:DPD(IPSec dead peer detection on-demand)为按需型IPSec/IKE安全隧道对端状态探测功能。启动了DPD功能以后,如在指定的时间间隔内没有收到对端的IPSec报文,且本端欲向对端发送IPSec报文时,DPD向对端发送DPD请求,并等待应答报文。如果超时设定的超时时间仍然未收到正确的应答报文,DPD记录失败事件1次。当失败事件达到3次时,删除ISAKMP SA和相应的IPSec SA。
IKE KEEPALIVE机制需要设备定期发送保持激活的报文来维护安全联盟的状态,在设备较多网络负载较大的情况下,大量的KEEPALIVE报文将会加重设备的负担,并且这种方式下希望主动对联盟状态进行刷新的一端,只能靠接受对端的报文作出判断,缺乏主动能力。DPD协议最大的好处就是改进了KEEPALIVE机制中的定期发送报文的机制,采用了按需发送的机制,这样将大大减小这种报文在负载较重的情况下对网络产生的压力,便于网络规模的扩大,同时联盟状态的维护可以由本端主动发起,运行效率将更高。
在路由器与VRRP备份组的虚地址之间建立ISAKMP SA的应用方案中,DPD功能较IKE KEEPALIVE功能能够更好保证VRRP备份组中主备切换时安全隧道迅速自动恢复,解决了VRRP备份组主备切换使安全隧道通信中断的问题,扩展了IPSec的应用范围,提高了IPSec协议的健壮性。
4.IPSec隧道嵌套
即使在同一个组织内部,也同样存在不同保密程度的数据。况且,不同部门、不同成员之间的通信可能也必须对其他部门和成员保密。在此种情况下,不但要在公共网上使用IPSec,也要在组织内部同时使用IPSec。这就是所谓嵌套,如图5.89所示。
图5.89 IPSec隧道嵌套
通过隧道嵌套的方式,数据可以获得多重的安全保护,提供更多的安全等级。嵌套的内部安全隧道构成了对内部网络的安全隔离。
5.选择安全协议
IPSec协议族通过AH和ESP两种安全协议保护数据。
AH完成数据的验证功能,以确认数据包的完整性及真实性。AH报文中包含验证数据(authenticate date),其中包括完整性校验值(integrity check value)。IPSec将数据包中的重要信息使用单向散列算法进行处理,将结果放在ICV中,提供数据验证和数据的真实性。
AH协议确保数据经过修改后可以被对端察觉,但不能提供数据的加密,因此数据在传输过程中仍然存在被窃听的可能性。ESP协议则可以提供对数据的加密,并且同AH协议一样,通过报文中的验证数据可以提供数据验证功能。
因此一般情况下会使用ESP协议,除非仅要求提供数据验证功能。
然而,ESP在其完整性校验过程中没有包含外部IP头。因此在某些特别关注外部IP头内容的场合,就必须使用AH进行验证。
AH和ESP可以同时使用。同时使用时,首先对数据进行ESP加密和验证处理,之后用AH再次进行验证处理。这样可以提供更强大的安全性,但对资源耗费很大。
6.选择安全算法
由于VPN的数据都在公共网络上进行传送,为了避免内容泄露,数据应该经过加密处理再传送。由于对称加密算法计算速度快,消耗资源少,所以大量数据加密都采用对称算法。
常用的加密算法包括DES,3DES,AES等。其中DES加密已经被证明其安全性难以满足严格的安全需求,3DES加密系统能够提供更强的安全性。
在验证算法中,常用的算法是MD5和SHA。虽然没有确切的证据,但是160位SHA算法被认为较128位的MD5算法更加安全。配置他们给系统带来的安全性提高超过了设备处理器资源的少许额外消耗。
在IKE的DH交换过程中,可以选择适当的交换组。其中必须实现的是第1种交换组。当然,和散列算法、加密算法一样,算法的位数越长,我们就可以认为它越安全。所以,同样使用MODP的DH交换组2比组1就更加安全。但是在没有确切理论证明的情况下,不能认为一种算法比另一种算法更加安全。
7.选择IKE工作模式
在IKE的阶段一协商中,选择主模式或野蛮模式。
8.IP地址规划
为保持可扩展性,性能和可管理性,远程站点IP地址尽量使用主网的子网,以便进行归纳,每一条加密ACL规则都必须消耗两个IPSecSA资源进行保证,无法汇聚的IP地址将消耗设备中大量的IPSecSA资源,给设备的性能造成影响,尽量将IP地址进行汇总,这样可以大大减少加密ACL的输入数量减小设备的处理负担。
如图5.90所示,可以仅使用一条加密ACL达到目的,例如分支网络为10.1.0.0/24和10.1.1.0/24,总部网络为10.1.2.0/24和10.1.3.0/24,那么可以定义为一条源为10.1.0.0/16目的也为10.1.0.0/16的加密ACL即可满足需要。同时使用可汇总的子网还可以大大减少较大规模IPSecVPN部署时的配置复杂性和后期维护的工作量。在设置加密ACL规则时建议仅将需要保护的数据设置为允许通过而其他数据则设置为禁止,减小VPN隧道中数据流的不可控制性和复杂性。
图5.90 IP地址规划
9.移动用户的IPSec VPN接入
一般情况下VPN连接建立后,用户即拥有了同内部用户一样的权力,移动办公用户自身的性质确定其比固定用户更易遭受病毒或黑客的攻击,如果不采取任何措施,那么这些用户通过VPN接入内部安全网络后,其携带的病毒或攻击程序即可感染或攻击内网的服务器或设备,给内部安全网络带来安全隐患。
对于移动办公用户如果有接入公司内部网络的需求,则建立VPN安全连接前确保自身的笔记本电脑已经安装了个人防火墙,防病毒软件,确保自身不会携带病毒或后门程序、攻击程序等危险应用。这样可极大的降低内网用户受病毒影响的可能性。(www.xing528.com)
对于IPSecVPN接入的情况,建议将防火墙部署到VPN网关的后面靠近内网数据的部分。当VPN网关将加密数据进行解密后报文将变为普通报文。针对这些普通报文,可按照防范黑客攻击的常规网络安全建议或介入控制要求,部署并实施相应的安全措施,例如病毒防范、攻击报文过滤、安全访问控制等,并且最好能够在防火墙上侧挂网络入侵检测系统IDS或入侵防御系统IPS,更好地保护内部网络的安全性。如果防护设备部署到VPN网关的前面,即靠近外部网络的位置,那么这些保护工作所能提供的能力就在很大程度上受到影响。因为IPSec数据首先到达防火墙设备,防火墙不能进行解密,只能开放端口以便允许IPSec数据流都通过防火墙(例如有些防火墙开启了UDP500的端口号,确保VPN数据流通过),如果加密的数据报文中本身就含有攻击性的报文,是没有办法进行过滤的。另外还可以使用集成防火墙和VPN功能为一身的混合型设备,在其上也可以部署相关的安全措施,很好的保护内网的安全,但其对设备的硬件防火墙性能和VPN接入能力提出了很高的要求,设备价格比较昂贵。
10.IPSec和Internet接入
在远程站点需要通过VPN利用总部资源访问Internet时,可以将所有信息封装进VPN隧道,当数据达到总部的VPN头端时,由头端设备进行判断并负责转发到Internet,实现分支节点的上网需要,但是这种方式将对总部的头端设备产生很大的性能压力,且增加了不安全因素。
针对上述情况,可以在本地的VPN分支节点对所有信息进行分流,对于内部网络信息流进行IPSec封装,通过VPN隧道转送至公司内部网络,对于上网的公共信息数据不必进行封装,由当地的节点设备发送至Internet,这样不但可以减轻VPN头端设备的性能压力,而且将Internet上的很多不安全因素屏蔽在内部网络之外,增加了内网的安全性。该方式通过在VPN节点部署正确的安全访问控制列表的方式实现,如图5.91所示。
图5.91 IPSec和Internet接入
11.用IPSec保护组播
由于实现机制的问题,IPSec只能对单播数据流进行保护,不能支持对组播的保护。
但是,在很多场合下,组播数据也必须得到加密和验证。在这类情况下,可以用IPSec结合其他VPN技术支持组播。
例如,在站点对站点的情形下,直接把站点之间的组播纳入IPSec隧道保护是不可能的,但是如果结合GRE隧道技术,就可以解决这个问题。
GRE使用虚拟的Tunnel接口在站点之间互相通信,而Tunnel接口是支持组播的。可以在Tunnel接口上启动组播路由,这样组播数据就会沿着隧道传送到其他站点。而这些隧道数据包都经过GRE封装,所以是以单播形式发送的。可以在发送之前,对之执行IPSec保护操作,实际上也就保护了内含的组播数据。
12.NAT穿越
IPSecVPN经常需要部署在运营商的网络上。运营商出于节约公网IP地址资源的考虑,很有可能会给最终用户分配私网IP地址,利用NAT技术节省公网地址,同时提供Internet接入。当然这些IP地址有可能看起来就是公网IP地址,最终用户将很难区分。
传统意义上的NAT由于是一对一方式的,因此IPSec不需要进行改进就可以顺利进行NAT穿越。但现在NAPE方式的NAT应用的范围越来越广,由于NAPT自身实现的原理同传统的IPSec有着不可调和的矛盾,因此传统的IPSec无法进行NAT穿越。
经过改进的IPSec提供新的UDP封装方式、新的IKE协商方式、新的NAT发现载荷等,可以很好解决IPSec的NAT穿越问题。NAT穿越要求必须使用IPSec的ESP封装方式。只有在NAT设备和IPSec设备不是同一个的时候,才需要在IPSec设备上部署NAT穿越功能。
13.路径MTU考虑
在IPSecVPN的设计当中,需要充分考虑路径MTU的问题。即使正常情况下的分片充足本身也需要耗费一定的资源进行处理,而且允许分片报文进入网络可能会带来安全性的问题。IPSec分片报文要求分组在通过完整性确认和解密前进行重组,所以过多的分片报文将会加重设备的负担。
在一个实际的VPN网络中很有可能存在不同路径段的路径MTU不同的情况,需要在设备上手工进行MTU值的调整,使其满足在不分片的情况下可以通过路径中MTU最小的那部分,如图5.92所示。在TCP应用中也可以调整设备上的TCP MSS属性达到同调整MTU类似的功能,但是这种方法仅针对TCP应用有效。有些情况下某些应用的数据报文是不允许分片的,在这种情况下,如果我们不进行MTU的调整那么一旦应用数据的报文在经过VPN封装后超过了链路中最小路径MTU的限制,那么报文将被丢弃,应用将无法开展。
图5.92 路径MTU考虑
习题
1.下列技术中,属于三层VPN技术的是( )。
A.SSL B.MPLS VPN C.GRE D.IPSec
2.下列说法正确的是( )。
A.GRE用IANA定义的IP协议号标识上层协议
B.IP用协议号47标识GRE
C.GRE支持多种协议作为载荷
D.GRE可以用于VPDN
3.下列说法正确的有( )。
A.L2TP可以保证用户的合法性B.L2TP可以保证数据的安全性
C.L2TP可以保证QOS D.L2TP可以保证网络的可靠性
4.下列关于L2TP的说法正确的是( )。
A.一个隧道对应一个控制连接B.一个控制连接对应一个呼叫
C.一个呼叫对应一个会话D.一个会话对应一个隧道
5.下列属于IPSec安全协议的是( )。
A.CBD B.MD5C.RSA D.ESP E.DES
F.AES G.AH H.SHA I.PKI
6.下列关于ESP头的描述,正确的是( )。
A.在隧道模式中,ESP头插入到IP头之后,上层协议头之前。
B.在传输模式中,ESP头插入到载荷IP头之前。
C.在传输模式中,ESP头插入到IP头之后,上层协议头之前。
D.在隧道模式中,ESP头插入到载荷IP头之前。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。