思科CCNA200-120×××配置前必须理解的×××基础

对应演示录像:

在本博文主要以描述如何在思科的路由器上实现基于IOS功能的×××,所以在学习前我们必须建立一种科学的学习线索,因为在本人看来×××完全可以成为一门独立的远程接入课程,因为它的理论知识与配置过程,实在是太多、太复杂、太繁琐。然而,现在我们要在一个小节的篇幅中树立×××的概念以及×××的配置过程,这肯定为我的写作和您的学习都提出了及大的担战,所以我们采取如下写作和学习结构:

n理解×××的类型与×××接入设备

n简述×××所使用的协议

n理解数据机密性、完整性、认证

n以IPSec的×××作为重点描述

n理解IPSecAH首部与ESP封装安全性载荷

n理解IPsec的支持组件

n简述IPSec的工作过程

n演示:基于思科IOS路由器场对场的IPSec-×××的配置

注意:在本博文,主要为大家建立×××的基本概念与典型配置,因为篇幅有限,不可能面面具到的详述整个×××技术,即便是万能的上帝也无法做到,如果需要了解更多×××技术的信息,请参看CCNP认证部分部分,在这里我们必须为后期的学习打下基础!

理解:×××的类型与×××设备

这时所指的×××的类型,主要是从接入方式上来区分的类型,它大致分为两种类型:场对场的×××接入与远程访问型的×××接入:

场对场(SitetoSite×××):

  所谓场对场(SitetoSite×××),如下8.116所示,一般也叫做“网对网(一个网络对另一个网络)”的×××连接,通常这种连接方式发生在两个远程机构的边界网关设备上,凡是穿越了两台边界网关设备的数据都会被×××作加密处理,该连接方式大多用于两个较为固定的办公场所,而且两个场所之间需要持续性的×××连接。

远程访问类型的×××接入:

所谓远程访问类型的×××接入(RemoteAccess×××),如下图8.117所示,一般也叫做“点对网(一个通信点连接一个网络)”的×××连接,通常这种连接方式发生在某个公派外地的个人用户通过远程拨号×××的方式来连接企业总部,以获取安全访问企业内部资源的过程,该连接方式大多用于出差用户到固定办公场所的×××连接,它的移动性和灵活性相较场对场的×××而言将更好。

关于思科实施×××的接入设备

通常思科的
×××
连接设备,发生在基于
IOS
功能的路由器、专用的
×××
集中器、
PIX
防火墙、自适应安全设备
ASA
上,您如何选择使用什么样
×××
接入设备,这取决于你实际的情况,如果您需要获得最专业的
×××
业务架构,那么,建议您使用专用的
×××
集中器;如果您需要将思科的安全解决方案与
×××
集成,并尽可能的实现将安全与
×××
集成,简化网络架构,那么,建议您使用在思科
PIX
防火墙或者
ASA
上部署
×××
;如果您主要考虑在最少的成本投入的前提下,又可以获得基本的
×××
服务,那么,建议您选择基于
IOS
功能的路由器来实现
×××
,在本小节的配置中将演示如何配置基于
IOS
功能的
×××
实现。

简述×××协议PPTPL2TPIPSec

PPTP(PointtoPointTunnelingProtocol点到点的遂道协议):该协议的最初倡导者是微软公司,后来有许多厂商联盟参与了开发,它是一种支持多协议虚拟专用网络的×××协议,属于OSI层协议,其原形是PPP,该协议是在PPP协议的基础上开发的一种新的增强型安全协议,所以PPTPPPP类似,它内嵌并集成了许多安全认证方式,可以通过密码身份验证协议(PAP)、可扩展身份验证协议(EAP)等方法增强安全性。可以使远程用户通过连接到Internet后,再通过2次拨号的方式连接到企业的×××服务器,通常PPTP协议用于MicrosoftWindowsNT工作站、WindowsXPWindows2000/2003/2008windows7×××拨号,当然思科也在它的IOS系统中支持该协议。

注意:PPTP始终都存在一个问题,就是该协议一直都处于一种半开放状态,虽然后来有部分厂商参与了标准制订,但是这些厂商通常都和微软比较紧密,换而言之,部分厂商还是不支持PPTP。

L2TP(Layer2TunnelingProtocol第二层的遂道协议):L2TP是一种工业标准的Internet隧道协议,L2TP协议最初是由IETF起草,微软、思科、3COM等公司参与并制定的二层隧道协议,它集成了PPTPL2F两种二层隧道协议的优点,L2F是思科公司的当时×××的私有解决方案。L2TPPPP通过公共网络进行隧道传输,提供数据机密性的保障。

IPSecIPSecurityIP安全协议):它是定义在IETFRFC里各种标准的合并,它只支持TCP/IP协议,它被设计用来专门在公共网络Internet上保护敏感数据的安全,IPSec能用来保障数据的机密性、完整性、数据验证。它是现今×××应用中最为广泛的协议,因为它是一组开放标准,这使得其它的所有厂商在开发×××时,最低限度将支持IPSec,这也是本小节后续描述中的重点。

理解:×××网络的数据机密性、完整性、认证、密钥交换

数据的机密性(Dataconfidentiality):众所周知,Internet是一个不安全的传输媒介,任何穿过Internet的数据,都可能被截取和检查,而×××可以将两个×××端点之间的数据进行加密,使这些数据穿过Internet的数据保持私密性,因为数据机密性使用专用的加密机制来扰乱传输中的原始数据,除了真正的接收方以外,不能被任意第三方轻易的理解,使用加密机制时需要考虑相关的加密算法,比如IPSec所使用加密算法包括:

   nDES(DataEncryptionStandard数据加密标准):是一种应用很广泛的传统加密算法

标准一种对称式加密算法,DES使用一个56位的密钥以及8位的奇偶校验位产生最大64位的分组大小。

n3DES(TripleDataEncryptionStandard三重数据加密标准):它相当于是对每个数

据块执行三次标准的DES加密算法。产生3DES加密算法的原因是:因为现代化计算机的运算能力越来越强,标准的DES加密的密钥长度变得更容易被暴力破解,3DES是设计用来提供一种相对增加DES的密钥长度来避免暴力破解的可能性,它不是一种新型的加密算法,而是对DES的加强与扩展,3DES使用3条56位的密钥对数据执行三次加密,它的应用比DES更安全。

nAESAdvancedEncryptionStandard高级加密标准):它被设计用于替代传统的标

准加密算法的标准,AES加密数据块和密钥长度可以是128位、192位、256位中的任意一个,它的安全机制高于DES3DES,但是它更消耗处理开销。

数据完整性(DataIntegrity):它是用于确保被×××传递的数据,在传输的过程中,没有被篡改,数据完整性本身并不提供数据机密性保障,数据完整性通常使用哈希(Hash)算法来确保数据在传输过程中的安全性。如下图8.118所示的过程,在本地端可变长的原始消息接合一个共享的安全密钥,一起被发送给一个哈希函数生成器,函数生成器会把变长的原始消息转换成一个固定长度的数字,该数字就是哈希值;记住,这个哈希值不能生成原始消息,因为哈希算法是一个不可逆向的算法,这好比把一个完整的水杯摔到地方,虽然,地上产生了很多被摔的碎片,但是你不可能根据这些碎片重新还原成原始的杯子。当这个原始消息和哈希值被送远程端时,远程端将这个收到的消息接合自己这边的共享安全密钥,放入哈希函数生成器,重新产生一个哈希值,然后将这个重新计算的哈希值与附在送来的原始消息后面的哈希值做对比,如果对比成功,表示数据在传输的过程中没有被改变,如果对比不成功,表示数据在传输的过程中已被篡改。在思科的IOS系统中,常使用的两种哈希算法:HMAC-MD5HMAC-SHA-1

nHMAC-MD5:使用128位共享安全密钥,变长消息和128位共享安全密钥组合一起

运行HMAC-MD5,它将输出一个128位的哈希值,该值被附加在原始消息的后面发往远端。

nHMAC-SHA-1:使用160位共享安全密钥,变长消息和160位共享安全密钥组合一

起运行HMAC-SHA-1,它将输出一个160位的哈希值,该值被附加在原始消息的后面发往远端,HMAC-SHA-1的安全性高于HMAC-MD5

数据源的认证(DataOriginAuthentication):指示验证×××的数据发送源,它由×××的每个端点来完成,以确保与其通信的对端身份,值得注意的是,数据源的验证无法单独实现,它必须依赖于数据完整性服务。

初识IPsec协议

IPSec是IPSecurity的缩写,即IP安全性协议,它是为IP网络(仅此IP网络)提供安全性服务的一个协议集合组件,是一种开放标准的框架结构,工作在OSI七层的网络层,它不是一个单独的协议,它可以不使用附加的任何安全行为就可以为用户提供任何高于网络层的TCP/IP应用程序和数据的安全。主要提供如下保护功能:

n加密用户数据,实现数据的隐密性。

n鉴别IP报文的完整性,使其在传输的路径中不被非法篡改。

n防止如重放***等行为。

n它既可以确保通信点(计算机到计算机)的安全,也可以确保两个通信场点(IP子网到子网)的安全。

n使用网络设备特点的安全性算法和密钥交换的功能,以加强IP通信的安全性需求。

n它也是一种×××的实施方式。

关于IPSec的传输模式与隧道模式:

IPSec的传输模式:一般为OSI的传输层,以及更上层提供安全保障,传输模式一般用于主机到主机的IPSec,或者远程拨号型×××的IPSec,如下图8.119所示,在传输模式中,原始的IP头部没有得到保护,因为IPSec的头部插在原始IP头部的后面,所以原始的IP头部将始终暴露在外,而传输层以及更上层的数据可以被传输模式所保护。注意:当使用传输模式的IPSec在穿越非安全的网络时,除了原始的IP地址以外,在数据包中的其它部分都是安全的。

IPSec的隧道模式:它将包括原始IP头部在内的整个数据包都保护起来,它将产生一个新的隧道端点,然后使用这个隧道端点的地址来形成一个新的IP头部,在非安全网络中,只对这个新的IP头部可见,对原始IP头部和数据包都不可见,如下图8.119所示的网络环境中,就会在路由器×××A和×××B的外部接口上产生一个隧道端点,而它们的接口地址正是这个隧道端点的地址,也是形成IPSec隧道模中的新IP头部,隧道模式一般应用于连接场到场的IPSec的×××。

IPSecAH认证头部与ESP封装安全性载荷

IPSec使用两种附加首部AH或者ESP来保障数据的完整性或者私密性,通常AH用来保障数据的完整性;ESP用来保障数据的私密性;您可以选择使用AH或者ESP,或者同时使用两者。

AH(AuthenticatonHeader):认证头部,它使用IP协议号51,它主要提供数据完整性保证、数据验证、保护数据回放***。AH功能可以保证整个数据报文的的完整性,当然哪些易发生变化的字段(如TTL)除外。AH在传输模式与隧道模式下对IP报文的保护情况如下图8.120所示,无论IPSec处于传输模式或者隧道模式,AH都可以保障整个数据报文的完整性。

注意:此时,可会提出一个问题,前面在描述IPSec的传输模式中说到:因为IPSec的头部插在原始IP头部的后面,所以原始的IP头部将始终暴露在外,没有得到保护,可在如图8.120所示的环境中,又说:无论IPSec处于传输模式或者隧道模式,AH可以保障整个数据报文的完整性,这不是自相矛盾吗?注意:前面所提到的原始的IP头部将始终暴露在外,没有得到保护,是指的可见性(或者叫私密性),而这里AH指示的是数据完整性。

ESP(EncapsulateSecurityPayload):封装安全载荷,它使用IP协议号50ESP提供数据机密性保障,另外,ESP也可以要求接收方主机使用防重放保护功能,通常ESP使用DES3DE3AES完成数据加密。ESP可以独立使用,也可以与AH一起使用,但是同时使用ESPAH的并没有特别的优势,因为ESP具备IPSec所提到的所有功能,包括认证。如果选择了ESP的认证和加密,加密将在认证之前进行,这样做的原因是它可以使信宿主机(接收点)快速的检测并拒绝重放***或者虚假伪造的数据包,在数据解密之前,信宿主机可以对发来的数据包进行认证,这样它可以降低被DOS***的危险。ESP在传输模式与隧道模式下对IP报文的保护情况如下图8.121所示,

关于IPSec的安全关联(SecurityAssociation

安全关联(SecurityAssociation)是IPSec保障数据安全最重要的概念之一,它表示两个IPSec对端体之间的安全策略协定,它描述了对等方如何使用IPSec来保护网络流量。安全对端体两端的SA必须相同,才能完成安全协商,这好比:生活中某单生意的合同,正常情况下,同合总是一式两份,而且两份合同必须相同,如下8.122所示,注意IPSec的安全关联(SA)总是一种单向行为,但往往通信是双向的过程,所以IPSec将为一个完整的通信建立两个SA,一个用于通信的进入,一个用于通信的外出。配置IPSec的变换集,就是配置IPSec安全关联(SA)的一种体现,当然安全关联还包括了定义感兴趣的加密流量,关于这些,在本小节的后续有相关描述,关于IPSec变换集的配置如下所示:

IPSec变换集的配置:

R1(config)#cryptoipsectransform-set***ah-sha-hmacesp-aes

R2(config)#cryptoipsectransform-set***ah-sha-hmacesp-aes

理解Internetkeyexchange(IKE)作用

IKE通过所提供额外的特性,灵活性和易于配置IPSec的标准,它增加了IPsec的安全性与灵活性,IKE它提供了IPSec对等端的验证、协议密钥、保护了IPSecSA的协商,可以说是IPSec的第二重安全保障,关于IKE的作用如下图8.123所示,它提供的典型好处如下:

n消除了安全对端体两端把IPSec安全参数手工放入到加密表。

n允许为IPSec安全关联(SA)指定一个生存期。

n允许在IPSec会话期间改变加密密钥。

n允许IPSec更容易扩展使用PKI架构,如数字证书的使用。

n允许对等方的动态验证。

理解IKE的变换集:

IKE使用大量的独立安全参数,来保障协商的安全,但它并不是试图去单独协商每个安全参数,而是将这些不同的安全参数组合成一个集合,这个集合就叫IKE的变换集,或者叫做IKE的安全策略,这与IPSec的安全关联一样,如果两个对等设备之间没有相同的安全参数集,那么它们的IKE协商将会失败,IKE的变换集有5个重要参数:

nIKE的加密算法:常用的加密算法(DES、3DES、AES)

nIKE的验证算法:常用的验证算法(MD5、SHA-1)

nIKE的密钥:主要用于完成对等体验证,其中包括使用共享密钥、RSA签名(数字证书)、Nonce(只使用一次的临时数)。注意,在CCNA阶段,只使用共享密钥配置IKE。

nDiffie-Hellman版本:它是创建×××最重要的问题之一,交换密钥,它使用Diffie-Hellman算法建立只有协商两端才知道的一个共享安全密钥。这允许×××的两端通过非安全的通道共享密钥,思科的设备支持3组Diffie-Hellman,分别是768比特素数的组1;1024比特素数的组2;1536比特素数的组5,素数最大,生成的密钥就越长,安全性越高,素数越大,密钥计算的时间也越长。

nIKE的生命周期:时间或者比特数。

关于IKE变换集的配置如下所示:

R1(config)#cryptoisakmppolicy1*指定IKE变换集策略1。

R1(config-isakmp)#encryptionaes*指定IKE的加密方式为AES。

R1(config-isakmp)#authenticationpre-share*指定IKE的验证方式为预共享。

R1(config-isakmp)#hashsha*指定IKE的验证算法为SHA-1

R1(config-isakmp)#group5*指定使用Diffie-Hellman组5即1536比特素数

R1(config-isakmp)#lifetime40000*指定IKE的生命周期。

简述IPSec的工作过程

IPSec如下图8.124所示为IPSec的基本工作原理:

第一步:首先是IPSec通信的发送方感知要加密的数据流量,如果满足所定义的加密数据流量的规划就进入IPSec的第二步,该过程将被IPSec配置中的ACL所定义;否则,将使用正常路由的方式来转发数据。

第二步:进入IKE第一阶段的协商,其中包括协商的三个内容:第一个内容是交换IKE的基本安全策略集,这个内容被IPSec配置中的cryptoisakmppolicy1(或者其它编号)所定义,这个策略集编号只在本地有效,协商双方所定义的这个策略集编号不一定必须相同;第二个内容是创建与交换DH公钥,这个内容被IPSec配置中的group1、2、5、7所定义,其目的是允许×××的双方在不安全的通信通道上建立一个共享密钥;第三个内容是协商对等验证,使用什么样的方式来完成对等验证,有PSK预共享密钥)、RSA签名、RSA加密随机数,在CCNA学习阶段,一般都使用PSK(预共享密钥),这个内容被IPSec配置中的authenticationpre-share所定义。上述的三个内容都属于IKE的第一阶段协商,核心目标是:为IKE第二阶段的协商奠定基础和保护第二阶段的协商。

第三步:进行IKE第二阶段的协商,在这个阶段中主要协商IPSec的安全参数,因为它只产生在IKE第一阶段成功协商完成之后,所以,通常把IKE的第二阶段叫做“快速模式”。它在IPSec配置中被cryptoipsectransform-set所定义。

第四步:当完成上述步骤的协商后,开始安全的发送数据。IPSec将保护这些会话。

第五步:当需要被保护的数据收发完成后,IPSec完成隧道终结。