该农信社的网络拓扑如图 1-1 所示,硬件从左到右依次分布,分别是客户端的无线终端(如手机、电脑等)、瘦 AP (Access-Point)接入点、客户端路由器 RouterA、客户端路由器RouterB、核心交换机、服务器和两个 AC(Access Control)接入控制器。客户端的无线接入点采用瘦 AP 模式,与之相连接的路由器上配置 ADSL(Asymmetric Digital Subscriber Line)的方式进行拨号上网,并且设置路由器最大传输单元MTU 值为 1480 字节,最终在两个路由器之间搭建了 IPSec 隧道。服务器端的AC 与客户端 AP 之间形成了一个虚拟的 capwap 通道,目的是用 AC 来远程操作AP,实现远程查看或升级。服务器端的核心交换机是一个通向外网的关键设备,在它上面连接 Internet 网络。 实际操作中,在客户端从 AP 连接上来的用户不能访问银行自己设计的网银等 APP 程序,部分手机(HTC、苹果等)的微信不能登录页面。起初通过普通的 IPSec 故障检查,并没有发现问题,后来在用户端采用向服务器端 ping 一个2000 字节大数据包的方式进行报文分析,结果显示路由器返回 ICMP 差错报文给 AP,并且提示 AP 发送的报文大小超出了路由器的 MTU 值,建议 AP 自动调整 MTU 值。由于 2000 字节的大包无法在 IPSec 加密隧道中传输,导致传输隧道被堵,因此 2000 字节大包后面的数据包也无法传输,全部被遗失,整个隧道处于瘫痪状态,结果用户不能够访问服务器端 APP。通过问题的分析,提出在路由万方数据 南昌航空大学硕士学位论文 第 1 章 绪 论 2 器上做一个 ACL 报文过滤,来定位这种 IPSec 场景的故障。 路由器A路由器B 电脑交换机IPsec隧道网管Internet手机AC1AC2AP 图 1-1 农信社网络拓扑 在本案例中,是由于数据传输过程中出现的拥塞情况,导致 IPSec 隧道传输产生故障。为了准确定位和分析故障,需要从加密数据的信息着手进行研究。这些加密数据的信息包括数据原始 IP 地址、要到达的目的地址、协议的分类、协议的原始和目的端口号码,统称为五元组信息。然而为了确定加密数据的五元组信息,又需要网络设备具备对传输数据的某些控制能力,也就是要求在路由器上配置访问控制列表 ACL(Access Control List)。ACL 的原理是包过滤的方法,通过识别网络层和传输层包头中的信息来确定五元组,根据配置的 ACL 规则对包进行筛选,据此满足访问控制的要求 [3-5] 。 ACL 通过对经过路由器的数据流进行判断、分类和过滤来达到访问控制的目的。ACL 可以使用的判别标准包括:源 IP 地址、目的 IP 地址、协议类型(如IP、FTP、TCP、ICMP 等)、源端口号和目的端口号。通常,可以依据这五个要素中的一个或多个的组合来对信息流进行过滤。ACL 匹配数据流时,识别的头部信息只能属于网络层的 IP 包和传输层的 TCP 或 UDP 数据段,也就是说 ACL只能根据第 3 层和第 4 层数据包的头部信息来筛选数据流 [6-8] 。 通常情况下,ACL 是通过被应用到网络接口上而被得到利用的。ACL 的主要作用是通过判断数据包和数据段的信息,来决定对经过路由器的数据流进行接受还是拒绝的操作。本课题中,研究的是在 IPSec 加密隧道基础上进行相应操作,为路由器配置 ACL,通过获取隧道中数据流的五元组信息来实现特殊 IPSec 场景万方数据 南昌航空大学硕士学位论文 第 1 章 绪 论 3 的故障定位。 以上农信社案例中使用的 IPSec VPN(virtual private network)是一条虚拟专用网,它在客户和 Internet 之间提供了非明文的加密通道。IPSec VPN 的故障具可以分为三种:第一种是无法在两端成功搭建 IPSec 隧道;第二种是两端成功搭建 IPSec 隧道,但无法访问远端内部网络;第三种是已经搭建的 IPSec 隧道连接不稳定,会出现掉线的情况。山东农信社的情况就属于第二种,在这种情况的基础上,本文提出一种基于 IPSec 场景的 ACL 报文过滤方法,在对 IPSec 数据解密的基础上,通过 ACL 配置来确定数据流的来历、去向、使用何种协议和具有什么样的特征等信息,从而定位故障。这种排查故障的方法,比较方便快捷,能够为技术人员节约时间、节省成本和提高效率。从研究意义上来讲,拓宽了 ACL报文过滤使用的领域,扩大了 ACL 报文过滤的应用途径,提高了 ACL 报文过滤的研究意义,也有利于推动 ACL 报文过滤的发展。 1.2 国内外研究现状 1.2.1 IPSec 国内外研究现状 在高速发展的计算机网络技术领域中,虚拟专用网 VPN 技术是一种新型的远程网络访问技术,由于它具有使用安全和便利的优点,近年内一直被国内外各行业机构和用户关注。而作为 VPN 技术中最为重要的隧道技术,IPSec VPN 是目前被公认为最安全、应用最为广泛的一种 [9] 。 对于 Internet 网络,人们之前仅仅只关心怎么使用它来方便地获取想要的信息,而并没有考虑到其使用是否安全可靠。Internet 是一个开放分组交换网,它的建立是以 TCP/IP 协议为基础的。最初设计 Internet 的时候,人们并没有从安全性的角度出发来构想,所以现在Internet上的传输的IP数据包大部分都是明文的,而没有加密传输的信息无法杜绝到外界的窃听、篡改等攻击。随着各种网络信息盗窃和犯罪的曝光,人们也越来越重视到网络的安全问题,因而人们想通过建立一种安全可靠的网络技术手段来杜绝信息的泄露和盗窃。由此,VPN 技术应运而生。在各种网络安全技术中,IETF(因特网工程任务组)于 1998 年推出的 IPSec协议有着独特的优势,具有非常大的影响力 [10] 。IPSec 协议是现在 VPN 开发中使用的最普遍的一种协议,它成为 IPSec VPN 的标准是很有可能的 [11] 。 IPSec VPN 技术由一系列的协议来完成,这些协议统称为协议族,具体来讲,万方数据 南昌航空大学硕士学位论文 第 1 章 绪 论 4 协议族主要由三部分组成,包括 IP 认证头部协议(AH:IP Authentication Header)、IP 封装安全负载协议(ESP:IP Encapsulating Security Payload)和 Internet 秘钥交换协议(IKE: Internet Key Exchange)。IPSec 协议族中设计了一些对称加密算法,它们被用来提供加密和认证。 目前,由于使用方便安全,IPSec VPN 广受国内外网络设备商的青睐,因此各种 IPSec VPN 产品也都如雨后春笋般冒出。在国内,知名度比较高的 VPN 厂商有网御神州、华为和深信服等,而 Cisco、Juniper 和 F5 等则是国外比较有影响力的厂商。另外,由我国国家密码管理局发起,联合国内领先的 VPN 厂商,比如网御神州、华为等,共同定制了 IPSec VPN 技术标准,用于指导 IPSec VPN产品的研制、检测、使用和管理。网御神州和华为完成了一定部分重要协议的修改工作,这也证明了国内 IPSec VPN 的发展踏足到了一定的技术水平。 另外,就目前国内的 VPN 市场来看,发展是如火如荼的。尽管目前国内的IPv6 技术研究还不成熟,跟不上国外的脚步,但在将来,随着 IPv6 的推出和普及,IPSec 仍然将是网络安全的重要技术手段,这种趋势在国内是必然的。 1.2.2 ACL 国内外研究现状 作为一种安全访问技术,访问控制列表 [12-15] 广受人们的好评。从上世纪 80年代至今,人们一直密切关注着大型计算机系统数据共享访问的问题。一般计算机只有在被授权之后才能够安全的共享数据访问,为了达到该要求,ACL 应时进入了人们的视野并得到了一定的重视。访问列表由于是一种比较安全和方便的数据访问技术,所以在计算机的各个领域都有广泛的应用。为了保证信息的机密性和安全性,对 ACL 访问控制列表的专研已经成为网络通信领域比较频繁和热门的研究之一 [16-17] 。 1985 年,美国国防部推出了一个针对可信计算机的安全评价标准,并命名该标准为 TCSEC(trusted computer system evaluation criteria)。在 TCSEC 中将ACL 划分为两类:自主访问控制和强制访问控制 [3] ,这两类 ACL 在计算机安全技术领域里都已经得到了比较多的的使用。由此可以说明,访问控制对网络通信和计算机安全系统的作用是非常重要的。 20 世纪初,ACL 技术已经发展成为一个相对独立的安全技术,也相应地成为人们研究的重要对象。在一般的访问控制列表中,用的最多的是标准 ACL 和ACL,另外还有不常使用的高级访问列表和监控访问列表。标准 ACL 的原理是基于源地址过滤数据包,它的规则是接收或拒绝整个 TCP/IP 协议族;扩展 ACL万方数据 南昌航空大学硕士学位论文 第 1 章 绪 论 5 的原理是基于源或目的 IP 地址、协议类型、源或目的端口号过滤数据包,可以指定具体的 IP 协议和协议号。相比之下,标准 ACL 占用路由器资源较少,具有较为广泛的应用,但控制级别较低;扩展 ACL 消耗路由器资源比较大,但灵活性更大,可扩展性也更强。 在网络安全问题的研究中,一个比较重要的领域就是如何提高 ACL 报文过滤的性能。而在 ACL 的研究领域里,比较主流的方向是为 ACL 配置比较明朗的系统框架和高效的报文匹配算法。在快速广泛运行的 Internet 环境中进行的访问控制,存在几个难以克服的缺点,一是 ACL 会受到软件数据包匹配和软件结构的束缚,二是 ACL 会受到路由器等网络设备的内存和配置高低的限制,所以,在对数据包进行访问控制时,很难达到快速高效的标准,这也是目前国内外 ACL报文过滤的缺陷所在,也是未来研究和提高发展的方向。 1.3 课题主要研究内容和结构安排 1.3.1 课题主要研究内容 本课题在研究了常见 IPSec 故障分析、ACL 分类和 IPSec 隧道的基础上,实现了对基于 IPSec 场景的 ACL 报文过滤的实施和研究。 本文首先分析了常用的 IPSec 故障分析方法,进而提出本课题的研究意义。在研究了 ACL 和 IPSec 隧道协调配置的基础上,利用 Cisco packet tracer 搭建实验平台,用 IOS 和 DOS 环境进行相关测试,最后对实验结果进行对比分析。该系统可以通过报文过滤来确认 IPSec 隧道中传输数据的原始信息,并限制隧道传输流量。确定好报文源目的 IP 地址,协议类型和端口号等信息后,就可以用它们来协助定位 IPSec 隧道故障。文中讨论的 ACL 报文过滤方法具有节省工作时间和降低工作难度的优点。课题的主要研究内容包如下: (1) IPSec 故障分析和报文过滤简介。 (2) IPSec 协议体系分析,加密算法研究及加密隧道框架设计。 (3) ACL 报文过滤分类,TCP/IP 协议分析及 ACL 协议配置设计。 (4) 基于山东农信社客户手机无法访问银行 APP 的问题,提出了基于 IPSec场景的 ACL 报文过滤设计方案。 (5) 通过对系统的软件仿真和整体调试来测试系统是否达到设计要求,并对比配置前后的测试结果进行性能分析。 万方数据 南昌航空大学硕士学位论文 第 1 章 绪 论 6 1.3.2 课题结构安排 本论文的结构安排如下: 第一章首先介绍了课题研究的背景和意义,详细分析和比较了当前国内外研究现状,最后叙述了本课题完成的主要内容。 第二章详细介绍了常用 IPSec 故障分析方法,在 TCP/IP 协议的基础上详细叙述了 IPSec 协议体系结构及算法,并介绍了 ACL 报文过滤方法。 第三章主要是系统模块设计要求,包括 IPSec 协议体系设计和 ACL 配置模块设计两部分。通过对设计要求和功能的分析提出了 ACL 报文过滤的性能指标,为了达到所要的性能指标提出了标准 ACL 和扩展 ACL 叠加 IPSec 的 3DES 加密算法的实现方法。IPSec 协议配置主要完成隧道的搭建和对传输数据的加密封装和解密解封装,ACL 配置则根据隧道传输数据控制流量及确认数据信息。 第四章主要设计系统流程结构,并搭建组网框图,进行 IPSec 和 ACL 两部分的命令行配置,介绍实验环境和配置命令。 第五章主要进行实验测试和结果对比分析,就调试过程中出现的问题进行分析并提出解决方案,最后详细记录了系统测试结果。 第六章总结了本课题的工作内容和实验存在的不足之处,并对以后 ACL 报文过滤的发展提出了展望。 1.4 本章小结 本章是全文的绪论,首先,由一个山东农信社的案例引出了本文的研究背景和意义,介绍了案例中 IPSec 加密隧道的故障,并提出来通过 ACL 来解决故障的设计;其次,介绍了 IPSec 和 ACL 的国内外研究现状;最后,叙述了本文研究的主要内容和结构安排,为下文的叙述做好了铺垫工作。