基于IPSEC协议的VPN安全网关研究_第1页
基于IPSEC协议的VPN安全网关研究_第2页
基于IPSEC协议的VPN安全网关研究_第3页
基于IPSEC协议的VPN安全网关研究_第4页
基于IPSEC协议的VPN安全网关研究_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

基于IPSEC协议的VPN安全网关研究ResearchonVPNSecurityGatewayBasedonIPSECProtocol目录摘要 1关键词 21前言 22IPSECVPN的安全基础 22.1机密性VPN加密技术 22.1.1对称密钥算法 22.1.2非对称秘钥算法 32.2完整性检查HASH散列函数 32.2.1散列函数 32.3身份认证防中间人身份欺骗 32.4封装安全协议 43IPSECVPN工作原理 53.1安全关联 53.1.1SA概述 53.1.2SA如何产生 63.2IKE工作原理 63.2.1IKE概述 63.2.2ISAKMP协议 73.2.3IKE工作阶段 73.2.4IKE工作过程 错误!未定义书签。4IPSECVPN配置 104.1基本命令配置 144.2IPSEC配置 错误!未定义书签。4.2.1手工配置ipsec隧道 214.2.2验证配置 错误!未定义书签。4.2.3使用IKE方式自动建立ipsec隧道 错误!未定义书签。4.2.4.验证配置 错误!未定义书签。5.抓包分析 错误!未定义书签。5.1ISAKMP抓包分析 错误!未定义书签。6结论 23参考文献 25致谢 27PAGE27基于IPSEC协议的VPN安全网关研究摘要:vpn是利用公共网络来构建的私人专用网络称为虚拟私有网络(VPN,VirtualPrivateNetwork),用于构建VPN的公共网络包括Internet、帧中继、ATM等。在公共网络上组建的VPN象企业现有的私有网络一样提供安全性、可靠性和可管理性等。VPN定义:在一个公用网络中,通过某种方式虚拟出来的一条企业内部专线。IPSECVPN的应用场景大致有Site-SiteVPN技术:GRE,IPSEC,厂商私有vpn协议。AccessVPN技术:IPSEC,PPTP,L2TP+IPSEC,SSLVPN,厂商私有vpn协议。目前我们常用的公网连接的主要优点是费用低,业务更灵活,简单化了管理工作,扩展性更高,带宽高,移动性强,但是其过于的透明导致了很多安全性问题,而为了防止用户在互联网上传输的信息遭到窃取,数据遭到更改等问题,便产生了vpn这一技术关键词:安全;VPN;IPSECDesignofMobilePhoneTrafficInquirySoftwareAbstract:VPNisaprivateprivatenetworkbuiltusingapublicnetworkcalledavirtualprivatenetwork(VPN,VirtualPrivateNetwork).PublicnetworksusedtobuildVPNsincludetheInternet,FrameRelay,andATM.TheVPNestablishedonthepublicnetworkprovidessecurity,reliability,andmanageabilityliketheexistingprivatenetworkoftheenterprise.DefinitionofVPN:Inapublicnetwork,aprivatelinewithintheenterprisevirtualizedinsomeway.TheapplicationscenariosofIPSECVPNgenerallyincludeSite-SiteVPNtechnology:GRE,IPSEC,andthemanufacturer'sprivateVPNprotocol.AccessVPNtechnology:IPSEC,PPTP,L2TP+IPSEC,SSLVPN,vendorprivateVPNprotocol.Atpresent,themainadvantagesofthepublicnetworkconnectionwecommonlyusearelowcost,moreflexibleservices,simplifiedmanagement,higherscalability,highbandwidth,andstrongmobility.However,itsexcessivetransparencyhascausedmanysecurityproblems.TopreventusersfromtransmittinginformationontheInternetfrombeingstolen,datafrombeingaltered,etc.,thetechnologyofvpnwasborn.Keywords:Security;VPN;IPSEC1前言IPSECVPN技术又被称之为虚拟专用网络技术,此技术是将公网中的相关设备作为他的基础设备,用来确保私密的数据能够在这些设备中安全不出差错的进行传输,让私密的数据在传输的过程中不会受到地域的影响而影响他的传输效率。私密数据在公共网络中进行私密传输时,它仅仅会受到专用网络中统一策略的控制,这就保证了其成为一种灵活性非常高的远程接入策略,这就使的数据在安全性得到可靠办证的同时,也使得使用专用网络的成本得到显著的降低,这让他未来的发展前景非常的广阔,可以非常广泛的引用到各大领域。为此,以下便对IPSECVPN技术进行深入的探讨和研究。2IPSecVPN的安全基础2.1机密性VPN加密技术2.1.1对称密钥算法(1)简介对称密钥算法是指加密和解密使用相同密钥的加密算法。又称为传统加密算法,就是机密密钥能够从解密密钥中推算出来,同时解密密钥也能从加密密钥推算出来,有时候加密密钥和解密密钥使用完全相同的密钥,这就要求发送方和接收方在通信之前协商一个密钥,这就使得对称密钥算法的安全性完全依赖密钥,密钥泄露意味着发送的任何私密数据都有泄露或被篡改的风险,所以密钥的安全传递是对称密钥算法的关键核心。(2)特点通信双方使用相同的密钥也就使得解密的计算量小,加解密速度快,效率高,而且其算法公开,大多数人都可以使用。从而导致其安全性得不到可靠的保障,衍生出许多别人不知道的唯一密钥,导致对称密钥呈现几何倍数的增长,而其管理的费用也大幅度提高。(3)具体算法DES算法,3DES算法,TDEA算法,Blowflash算法,IDEA算法等。2.1.2非对称密钥算法(1)简介非对称密钥算法是指加密和解密使用不同的密钥:公开密钥(公钥)和私有密钥(私钥)。这两个密钥是一对的,由公钥加密的数据只能由私有解密。在需要交换私密数据时,首先由接收方发送自己的公钥给发送方,因为公钥加密的数据必须由私钥解密,所以公钥可以公开发送,发送方在收到对方的的公钥后,用收到的公钥对私密数据进行加密,然后在将加密后的数据发送给接收方,接收方收到机密数据后,用自己的私钥对加密数据解密即可得到需要交换的数据。(2)特点使用两个不同的密钥,公开密钥和私有密钥。公开密钥用于加密,私有密钥用于解密,即使公钥被不法分子得到,也无法解密加密数据,同时解密密钥不需要咋公网传输,极大的提高了数据传输的安全性。(3)具体算法RSA算法,D-H算法等2.2完整性检查HASH散列函数2.2.1散列函数(1)简介Hash算法是将一个数据转换成一个和数据的每个字节有紧密联系的标志,不仅压缩了存储,在安全性上,不同的数据也能转换成相同的标志,这就使得hash算法加密的数据很难进行反向推导,常用于完整性检查和数字签名。(2)特点如果两个散列值的输入不同,则输出一定不同,而输出相同,相对应的输入却不一定相同(3)常用HASH函数直接寻址法,数字分析法等2.3身份认证防中间人身份欺骗(1)简介身份认证即三方认证机构对传输的数据用响应的算法做摘要信息并做好记录,接收方便可以通过三方机构知道发送方是否改变(2)认证方法设备身份认证:Pre-SharedKeys(预共享key认证)、RSA签名认证。用户身份认证:短信、usb-key、用户名和密码等。2.4封装安全协议2.4.1AH协议(AuthenticationHeader,协议号51):(1)简介AH协议可以同时提供数据完整性确认、数据来源确认、防重放等安全特性,防止黑客拦截数据包进行篡改或无限制的发送引起的损失,但其无法保证加密性,在进行不需要加密的数据传输时可以选择AH协议传输,其计算量小,能更有效率的传输。有传输模式和隧道模式两个传输方式。(2)常用摘要算法HMAC-MD5和HMAC-SHA12.4.2ESP协议(EncapsulatingSecurityPayload,协议号50)(1)简介ESP协议可以同时提高平数据完整性确认、数据加密、防重放等安全特性,由于需要进行加解密,所以相对AH协议需要更多的处理时间。传输模式和隧道模式两个传输方式。(2)常用摘要算法HMAC-MD5或HMAC-SHA1实现数据完整性。DES,3DES,AES等加密算法实现数据加密性。2.4.3IPSEC的两种模式(1)传输模式 传输模式是IPSEC的默认模式,又被称为端到端(End-to-End)模式,他适用于与两台主机之间进行IPsec通信。 传输模式下只对IP负载进行保护,可能是TCP/UDP/ICMP协议,也可能是AH/ESP协议。传输模式只为上层协议提供安全保护,在此种模式下,参与通信的双方主机都必须安装IPSec协议,而且它不能隐藏主机的IP地址启用IPSec传输模式后,IPSec会在传输层包的前面增加AH/ESP头部或同时增加两种头部,构成一个AH/ESP数据包,然后添加IP头部组成IP包。在接收方,首先处理的是IP,然后再做IPSec处理,最后再将载荷数据交给上层协议。(2)隧道模式隧道模式(TunnelLink-type)使用在两台网关之间,站点到站点(Site-to-Site)的通信。参与通信的两个网关实际是为了两个以其为边界的网络中的计算机提供安全通信的服务。隧道模式为整个IP包提供保护,为IP协议本身而不只是上层协议提供安全保护。通常情况下只要使用IPSec的双方有一方是安全网关,就必须使用隧道模式,隧道模式的一个优点是可以隐藏内部主机和服务器的IP地址。大部分VPN都使用隧道模式,因为它不仅对整个原始报文加密,还对通信的源地址和目的地址进行部分和全部加密,只需要在安全网关,而不需要在内部主机上安装VPN软件,期间所有加密和

解密以及协商操作均由前者负责完成。启用IPSec隧道模式后,IPSec将原始IP看作一个整体作为要保护的内容,前面加上AH/ESP头部,再加上新IP头部组成新IP包。隧道模式的数据包有两个IP头,内部头由路由器背后的主机创建,是通信终点;外部头由提供IPSec的设备(如路由器)创建,是IPSec的终点。事实上,IPSec的传输模式和隧道模式分别类似于其他隧道协议(如L2TP)的自愿隧道和强制隧道,即一个是由用户实施,另一个由网络设备实施。3IPSecVPN工作原理3.1安全关联(SecurityAssociation,SA)3.1.1SA概述安全关联(SecurityAssociation,简称SA)是两个IPSec实体(主机、安全网关)之间经过协商建立起来的一种协定,内容包括采用何种IPSec协议(AH还是ESP)、运行模式(传输模式还是隧道模式)、验证算法、加密算法、加密密钥、密钥生存期、抗重放窗口、计数器等,从而决定了保护什么、如何保护以及谁来保护。可以SA是构成IPSec的基础。AH和ESP都使用SA中的参数来对IP数据进行保护。SA是单向的,入方向(inbound)SA负责处理接收到的数据包,出方向(outbound)SA负责处理要发送的数据包。因此每个通信方必须要有两种SA,一个入方向SA,一个出方向SA,这两个SA构成了一个SA束(SABundle)。3.1.2SA如何产生a.手工配置1人工密钥协商:SA的内容由管理员手动指定、手工维护。但是手工对SA进行维护很容易发生错误,从而,导致VPN建立不起来造成损失,而且手工建立的SA没有生存周期限制,永远不会过去,只能通过手工删除,因此手工密钥协商基本不会再项目中使用。b.IKE自动管理SA的自动建立、动态维护和删除是通过IKE进行的。而且SA有生命期。如果安全策略要求建立安全、保密的连接,但又不存在与该连接相应的SA,IPSec会立刻启动IKE来协商SA。3.2IKE工作原理3.2.1IKE概述Internet密钥交换(InternetKeyExchange,简称IKE)用于通信双方协商相关的安全参数、密钥并建立安全的连接,即SA,来保障数据的安全传输IKE属于一种混合型协议,建立在由ISAKMP定义的一个框架之上(RFC2408),实现了两种密钥管理协议的一部分—Oakley和SKEME,还定义了自己的两种密钥交换方式。其拥有完善的正向保护性,即在其中一个密钥被拦截并破解,但并不影响其他密钥的安全性,因为密钥之间不存在派生关系。IKE是基于UDP的一个应用层协议,为IPSEC传输提供保障。IKE帮助IPSEC建立安全联盟(SA),并生成密钥交给IPSEC对数据进行保护。IPSEC使用IKE建立的安全联盟(SA)对IP报文包进行加密或验证操作。IPSEC是对IP层进行操作(AH和ESP),通过添加头信息对数据进行安全性保护。•SKEME:提供为认证目的使用公开密钥加密的机制。(定义一种密钥交换方式DH),由个人开发而来。•Oakley:提供在两个IPSEC对等体间达成相同加密密钥的基本模式的机制。(对多模式的支持,例如对新的加密技术。并没有具体的定义交换什么样的信息),由大学开发而来。3.2.2ISAKMP协议ISAKMP(InternetSecurityAssociationKeyManagementProtocol,Internet安全联盟密钥管理协议)是一个框架,在这个框架中,它定义了每一次交换的包的结构以及需要几个包的交换,主模式交换6个包以及野蛮模式交换3个包,在配置IPSECVPN时,只能对其进行配置,而无法配置SKEME和Oakley协议,它由美国国家安全处开发而来。ISAKM定义了SA的协商、建立、修改和删除操作,但仅仅只是提供了一个框架,没有具体的定义方法,因此其可以被不同的密钥交换协议所使用。ISAKMP报文一般利用UDP,端口使用500。3.2.3IKE工作阶段IKE工作在IPSECVPN的协商阶段,而IPSECVPN的协商又分为两个阶段:建立管理连接和建立数据连接。建立管理连接的任务:安全联盟(SA)。此阶段完成的任务是建立起一个双向的ISAKMPSA。具体操作步骤为:协商安全参数:加密算法、HASH算法、DH组、身份认证、生命周期及初始化SA;DH算法进行密钥交换计算出很多key;通信双方通过pre-shared、rsa-sig证书或机密随机数进行身份认证。建立数据连接的任务:2个单向的IPSECSA。具体操作步骤为:协商安全参数:使用的安全协议(ESP或AH)、工作模式、加密算法、HASH算法、生命周期并建立初始化SA;生成保护数据安全传输的密钥。3.2.4IKE工作过程两个IPSEC实体之间的IKE协商分为两个阶段第一阶段(建立管理连接),IKE在两个IKE对等体之间创建一个认证过的安全通道,ISAKMPSA(IKESA),安全关联(SA)是通信双方如何使用安全服务进行安全通信,IKESA就是IKE之间如何通过使用安全服务进行安全通信,IPSECSA就是IPSEC之间如何通过使用安全服务进行安全通信。第一阶段的目的是识别IPSEC通信双方,在之间建立安全的通信通道,用来为IKE交换信息提供安全服务。主要功能是为了保护IPSEC实体的身份、协商IKESA、进行DH交换生成安全密钥、为第二阶段安全进行建立安全通道。第一阶段拥有两种模式主模式和野蛮模式,主模式交互6个报文,野蛮模式交互3个报文。(1)IKE协商第一阶段主模式过程分析a.第1、2个ISAKMP报文交换并协商各自保护ISAKMP信息的安全参数和通信对方身份的验证方式,主要包括机密算法、验证算法、验证方式、ISAKMPSA生存时间等安全策略信息。选择通信双方设备都支持的安全策略信息以及各自的cookie值,cookie主要作为通信IKESA的标识符。如设备A和B进行IKE协商,A首先发送自己的ISAKMP安全策略给B,B在收到A的ISAKMP安全策略后,会回复A与之相匹配的安全策略,匹配原则为协商双方具有相同的加密算法、认证算法、认证方法和Diffie-Hellman组标识,如果存在多条匹配的安全策略,则回复序列号最小的。b.第3、4个ISAKMP报文完成密钥交换,通过交换Diffie-Hellman(DH)公共值和辅助数据(如:随机数),最终双方计算生成一系列共享密钥(例如,认证密钥、加密密钥以及用于生成IPsec密钥参数的密钥材料),并使其中的加密密钥和认证密钥对后续的IKE消息提供安全保障Diffie-Hellman(DH)是一个密钥交换协议,又称为公钥交换系统,他属于非对称密钥机密协议,他可以在不安全的通信通道为通信的双方生成一个共享的密钥在第1、2个ISAKMP包中携带了一个很大的质数p以及一个很大的底数g,假如通信双方为设备A和设备B,首先双方会各自生成一个私密数字a和b,设备A进行乘幂运算即X=g^amodp,设备B也进行乘幂运算即Y=g^bmodp,运算完成后双方会交互X与Y的值,然后设备A计算keyA=Y^amodp=g^(a*b)modp,设备B计算keyB=X^bmodp=g^(b*a)modp,可以发现双方计算的keyA和keyB值是相同的,而即使在交互g,p,X,Y的值被黑客所拦截,但由于在式子Xmodp=A中,在p和A已知的情况下,有很多的X可以使等式成立,并且此时的g和p为相当大的数值,对X和Y的破解需要相当大的计算量,所以此时生成的key值是安全的。并且利用g^(a*b),发起方随机数Ni,应答方随机数Nr,作为prf算法的参数计算如下密钥:预共享密钥认证SKEYID=prf(预共享,Ni,Nr)数字签名认证SKEYID=prf(Ni,Nr,g^(a*b))公钥加密认证SKEYID=prf(prf(Ni,Nr),cookie-A,cookie-B)计算出了SKEYID,在根据它依次生成用于保护第二阶段的密钥原材料SKEYID-d=prf(SKEYID,g^(a*b),cookie-A,cookie-B,0)用于认证ISAKMP消息的密钥SKEYID-a=prf(SKEYID,SKEYID-d,g^(a*b),cookie-A,cookie-B,1)用于加密ISAKMP交换的密钥SKEYID-e=prf(SKEYID,SKEYID-a,g^(a*b),cookie-A,cookie-B,2)c.第5、6个ISAKMP报文前4个包主要用来对机密性和完整性的保护,而无法保证发送对方的身份真实性,而不验证发送方的身份收到的数据很能是被编纂的假消息,会造成极大的损失,因此在通信是有必要验证发送方的身份,所以第5、6个包主要是用来进行身份验证的。由于在第1、2个包时已经协商好了加密算法和验证算法,以及第3、4个包计算出来的SKEYID-a和SKEYID-e,所以这两个其实都是经过加密处理的。加密方式为发送方先用SKEYID-e进行加密,接收方收到后再用SKEYID-a进行认证。包中主要包括:ID和散列摘要。ID用来验证身份,散列摘要用来验证包1-4的完整性。接收方在收到第5个包后,首先对消息进行验证在解密,在使用收到的身份载荷,与本地存储的信息一起进行HMAC计算,得到一个HASH值,然后与本地的HASH载荷做比较,结果相等则发送第6个包,结果不相等则中断协商过程。发送方收到第6个包后,进行与接收方一样的操作(即通过对比计算得到的HASH值与所收到的HASH值是否相等,判断RA是否掌握相同密钥)后,如果此时验证成功,则第一阶段顺利结束。(2)IKE协商第二阶段过程分析由于在第一阶段第1、2已经协商好了加密算法,验证算法等、第3、4个包计算的SKEYID-a和SKEYID-e以及第5、6个包的身份认证功能,所以第二阶段的ISAKMP包都是经过加密传输且能进行身份认证的。第二阶段的目的是生成直接保护IP报文数据的IPSECSA(简称SA),即通信的IPSEC实体间使用ESP还是AH协议,加解密和验证的密钥,受保护的IP报文类型等。第二阶段的协商只有快速模式。在第一阶段的保护下,可以同时存在多个快速模式的第二阶段,为了防止协商过程报文出现冲突,所以第二阶段的ISAKMP报文中使用报文ID(messageid)来进行区分。第1个ISAKMP报文报文中主要包含发送方配置的IPSEC保护策略,即使用ESP还是AH协议,采取的模式,IP报文的数据加密采取什么加密算法,验证IP数据使用什么验证算法,对什么类型的数据进行保护,进行PFS的KE载荷和随机值载荷,身份载荷,HASH载荷等第2个ISAKMP报文接收方收到第1个ISAKMP报文后,首先要进行身份验证,验证通过后对数据包进行解密,查看其中SA载荷中的策略与本地是否匹配,然后在本地用同样的办法进行HASH运算,将得到的HASH值与收到的HASH最比较,如果值相同,接收方才发出第2个报文,其中包含的载荷和第1个报文的载荷一致。第3个ISAKMP报文发送方在收到第2个ISAKMP报文后,首先先验证,验证成功则解密报文,查看其中SA载荷载荷中的策略与本地是否匹配,然后在本地用同样的办法进行HASH运算,将得到的HASH值与收到的HASH最比较,如果值相同,发送方才发出第3个ISAKMP报文,其中只包含HASH载荷,用来通知接收方第二阶段顺利结束并且可以使用IPSECSA对IP数据进行保护。4IPSECVPN配置4.1 基本命令配置二层(Switch0、Switch1)使PC0和PC1处于VLAN10,PC2处于VLAN20Switch0:[H3C]vlan10 #创建VLAN10[H3C]vlan20 #创建VLAN20[H3C]intg1/0/1 #进入g1/0/1接口[H3C-GigabitEthernet1/0/1]portaccessvlan10 #设置接口模式为access[H3C-GigabitEthernet1/0/1]portaccessvlan10 #将此接口下的设备图1 拓扑图Fig1 Topology划为vlan10[H3C]intg1/0/2 #进入g1/0/2接口[H3C-GigabitEthernet1/0/2]portlink-typeaccess #设置接口模式为access[H3C-GigabitEthernet1/0/2]portaccessvlan10 #将此接口下的设备划为vlan10[H3C]intg1/0/3 #进入接口g1/0/3[H3C-GigabitEthernet1/0/3]portlink-typetrunk #设置接口模式为trunk口[H3C-GigabitEthernet1/0/3]porttrunkpermitvlan10 #设置允许vlan10通过[H3C]intvlan10 #进入vlan10[H3C-Vlan-interface10]ipaddress54 #设置vlan10的网关地址为54,掩码为Switch1[H3C]vlan20 #创建VLAN20[H3C]intg1/0/2 #进入g1/0/2接口[H3C-GigabitEthernet1/0/2]portlink-typeaccess #设置接口模式为access[H3C-GigabitEthernet1/0/2]portaccessvlan20 #将此接口下的设备划为vlan20[H3C]intg1/0/1 #进入接口g1/0/1[H3C-GigabitEthernet1/0/1]portlink-typetrunk #设置接口模式为trunk口[H3C]intvlan20 #进入vlan20[H3C-Vlan-interface20]ipaddress54 #设置vlan20的网关地址为54,掩码为汇聚层[H3C]vlan10 #创建vlan10[H3C]vlan20 #创建vlan20[H3C]vlan30 #创建vlan30[H3C]intvlan10 #进入vlan10[H3C-Vlan-interface10]ipaddress5424 #设置vlan10的网关地址为54,掩码为[H3C]intvlan20 #进入vlan20[H3C-Vlan-interface10]ipaddress5424 #设置vlan20的网关地址为54,掩码为[H3C]intvlan30 #进入vlan30[H3C-Vlan-interface30]ipaddress24 #设置vlan30的网关地址为,掩码为[H3C]intg1/0/1 #进入g1/0/1接口[H3C-GigabitEthernet1/0/1]portlink-typetrunk #设置接口模式为trunk[H3C-GigabitEthernet1/0/1]porttrunkpermitvlan10 #允许vlan10通过[H3C]intg1/0/2 #进入g1/0/2接口[H3C-GigabitEthernet1/0/2]portlink-typetrunk #设置接口模式为trunk[H3C-GigabitEthernet1/0/2]porttrunkpermitvlan20 #允许vlan10通过[H3C]intg1/0/3 #进入g1/0/3接口[H3C-GigabitEthernet1/0/3]portaccessvlan30 #将g1/0/3接口加入vlan30[H3C]dhcpenable #开启dhcp服务[H3C]intvlan10 #进入vlan10接口[H3C-Vlan-interface10]dhcpselectrelay #设置dhcp中继模式[H3C-Vlan-interface10]dhcprelayserver-address #设置dhcp服务器地址为[H3C]intvlan20 #进入vlan20接口[H3C-Vlan-interface20]dhcpselectrelay #设置dhcp中继模式[H3C-Vlan-interface20]dhcprelayserver-address #设置dhcp服务器地址为核心层(Router0)[H3C]intg0/0 #进入接口g0/0[H3C-GigabitEthernet0/0]ipaddress24 #配置ip地址为,24位掩码[H3C]dhcpenable #开启dhcp服务[H3C]dhcpserverip-poolvlan10 #设置dhcp地址池名字为vlan10[H3C-dhcp-pool-vlan10]networkmask #分配的地址为网段,掩码为[H3C-dhcp-pool-vlan10]gateway-list54 #分配的网关为54[H3C-dhcp-pool-vlan10]dns-list #分配的dns服务器为[H3C]dhcpserverip-poolvlan20 #设置dhcp地址池名字为vlan20[H3C-dhcp-pool-vlan20]networkmask #分配的地址为网段,掩码为[H3C-dhcp-pool-vlan20]gateway-list54 #分配的网关为54[H3C-dhcp-pool-vlan20]dns-list #分配的dns服务器为[H3C]iproute-static #一条静态路由,当目的地址为网段时,将数据包交由下一跳处理[H3C]iproute-static #一条静态路由,当目的地址为网段时,将数据包交由下一跳处理4.2IPSEC配置4.2.1 手工建立ipsec隧道 (1)配置inside路由器#配置一个IPv4高级ACL,定义要保护由/24网段去往/24网段的数据流。[H3C]acladvanced3003[H3C-acl-ipv4-adv-3003]rulepermitipsource 55destination55#配置一条由inside路由器到PC_13主机所在网段的静态路由。为下一跳地址[H3C]iproute-staticg0/0#配置一条由inside路由器到/24网段的静态路由。为下一跳地址[H3C]iproute-static#创建IPsec安全提议tran3[H3C]ipsectransform-settran3#配置安全协议对IP报文的封装形式为隧道模式。[H3C-ipsec-transform-set-tran3]encapsulation-modetunnel[H3C-ipsec-transform-set-tran3]protocolesp#配置ESP协议采用的加密算法为采用128比特的AES,认证算法为HMAC-SHA1。[H3C-ipsec-transform-set-tran3]espencryption-algorithmaes-cbc-128[H3C-ipsec-transform-set-tran3]espauthentication-algorithmsha1[H3C-ipsec-transform-set-tran3]quit#创建一条手工方式的IPsec安全策略,名称为map3,序列号为13。[H3C]ipsecpolicymap313manual#指定引用ACL3003。[H3C-ipsec-policy-manual-map3-13]securityacl3003#指定引用的IPsec安全提议为tran3。[H3C-ipsec-policy-manual-map3-13]transform-settran3#指定IPsec隧道对端IP地址为。[H3C-ipsec-policy-manual-map3-13]remote-address#配置ESP协议的出方向SPI为12345,入方向SPI为54321。[H3C-ipsec-policy-manual-map3-13]saspioutboundesp12345[H3C-ipsec-policy-manual-map3-13]saspiinboundesp54321#配置ESP协议的出方向SA的密钥为明文字符串123456,入方向SA的密钥为明文字符串654321。[H3C-ipsec-policy-manual-map3-13]sastring-keyoutboundespsimple123456[H3C-ipsec-policy-manual-map3-13]sastring-keyinboundespsimple654321[H3C-ipsec-policy-manual-map3-13]quit#在接口GigabitEthernet0/1上应用IPsec安全策略map3。[H3C]intg0/1[H3C-GigabitEthernet0/1]ipaddress [H3C-GigabitEthernet0/1]ipsecapplypolicymap3[H3C-GigabitEthernet0/1]quit(2)配置outside路由器#配置一个IPv4高级ACL,定义要保护由/24网段去往/24网段的数据流。[H3C]acladvanced3003[H3C-acl-ipv4-adv-3003]rulepermitipsource 55destination55#配置一条由outside路由器到PC_1主机所在网段的静态路由。为下一跳地址[H3C]iproute-staticg0/0#配置一条由outside路由器到/24网段的静态路由。为下一跳地址[H3C]iproute-static#创建IPsec安全提议tran3[H3C]ipsectransform-settran3#配置安全协议对IP报文的封装形式为隧道模式。[H3C-ipsec-transform-set-tran3]encapsulation-modetunnel[H3C-ipsec-transform-set-tran3]protocolesp#配置ESP协议采用的加密算法为采用128比特的AES,认证算法为HMAC-SHA1。[H3C-ipsec-transform-set-tran3]espencryption-algorithmaes-cbc-128[H3C-ipsec-transform-set-tran3]espauthentication-algorithmsha1[H3C-ipsec-transform-set-tran3]quit#创建一条手工方式的IPsec安全策略,名称为map3,序列号为13。[H3C]ipsecpolicymap313manual#指定引用ACL3003。[H3C-ipsec-policy-manual-map3-13]securityacl3003#指定引用的IPsec安全提议为tran3。[H3C-ipsec-policy-manual-map3-13]transform-settran3#指定IPsec隧道对端IP地址为。[H3C-ipsec-policy-manual-map3-13]remote-address#由于outside的出方向即inside的入方向,outside的入方向即inside的出方向,所以配置ESP协议的出方向SPI为54321,入方向SPI为12345。[H3C-ipsec-policy-manual-map3-13]saspioutboundesp54321[H3C-ipsec-policy-manual-map3-13]saspiinboundesp12345#同理,配置ESP协议的出方向SA的密钥为明文字符串654321,入方向SA的密钥为明文字符串123456。[H3C-ipsec-policy-manual-map3-13]sastring-keyoutboundespsimple654321[H3C-ipsec-policy-manual-map3-13]sastring-keyinboundespsimple123456[H3C-ipsec-policy-manual-map3-13]quit#在接口GigabitEthernet0/0上应用IPsec安全策略map3。[H3C]intg0/0[H3C-GigabitEthernet0/0]ipaddress [H3C-GigabitEthernet0/0]ipsecapplypolicymap3[H3C-GigabitEthernet0/0]quit4.2.2验证配置 以上配置完成之后,inside和outside之间的ipsec隧道就建立好了,此时可以保证二者之间的数据安全传输,可以通过以下查看inside上手工创建的IPSECSA。 [H3C]disipsecsaInterface:GigabitEthernet0/1IPsecpolicy:map3Sequencenumber:13Mode:ManualTunnelid:0Encapsulationmode:tunnelPathMTU:1428Tunnel:localaddress:remoteaddress:Flow:asdefinedinACL3003[InboundESPSA]SPI:54321(0x0000d431)ConnectionID:4294967297Transformset:ESP-ENCRYPT-AES-CBC-128ESP-AUTH-SHA1NodurationlimitforthisSA[OutboundESPSA]SPI:12345(0x00003039)ConnectionID:64424509440Transformset:ESP-ENCRYPT-AES-CBC-128ESP-AUTH-SHA1NodurationlimitforthisSA4.2.3 使用IKE方式自动建立ipsec隧道 (1)配置inside路由器#配置一个IPv4高级ACL,定义要保护由子网去往子网/24的数据流。[H3C]acladvanced3004[H3C-acl-ipv4-adv-3004]rulepermitipsource55destination55#配置到达/24网段的静态路由。为直连下一跳地址。[H3C]iproute-staticGigabitEthernet0/1#创建IPsec安全提议tran1。[H3C]ipsectransform-settran1#配置安全协议对IP报文的封装形式为隧道模式。[H3C-ipsec-transform-set-tran1]encapsulation-modetunnel#配置采用的安全协议为ESP。[H3C-ipsec-transform-set-tran1]protocolesp#配置ESP协议采用的加密算法为128比特的AES,认证算法为HMAC-SHA1。[H3C-ipsec-transform-set-tran1]espencryption-algorithmaes-cbc-128[H3C-ipsec-transform-set-tran1]espauthentication-algorithmsha1#创建并配置IKEkeychain,名称为keychain1。[H3C]ikekeychainkeychain1#配置与IP地址为的对端使用的预共享密钥为明文123456。[H3C-ike-keychain-keychain1]pre-shared-keyaddresskeysimple123456#创建并配置IKEprofile,名称为profile1。[H3C]ikeprofileprofile1#创建一条IKE协商方式的IPsec安全策略,名称为map1,序列号为10。[H3C]ipsecpolicymap110isakmp#指定引用ACL3004。[H3C-ipsec-policy-isakmp-map1-10]securityacl3004#指定引用的安全提议为tran1。[H3C-ipsec-policy-isakmp-map1-10]transform-settran1#指定IPsec隧道的本端IP地址为,对端IP地址为。[H3C-ipsec-policy-isakmp-map1-10]local-address[H3C-ipsec-policy-isakmp-map1-10]remote-address#指定引用的IKEprofile为profile1。[H3C-ipsec-policy-isakmp-map1-10]ike-profileprofile1#在接口GigabitEthernet2/0/2上应用安全策略map1。[H3C-GigabitEthernet0/1]ipsecapplypolicymap1(1)配置outside路由器#配置一个IPv4高级ACL,定义要保护由子网去往子网/24的数据流。[H3C]acladvanced3004[H3C-acl-ipv4-adv-3004]rulepermitipsource 55destination55#配置到达/24网段的静态路由。为直连下一跳地址。[H3C]iproute-staticGigabitEthernet0/1#创建IPsec安全提议tran1。[H3C]ipsectransform-settran1#配置安全协议对IP报文的封装形式为隧道模式。[H3C-ipsec-transform-set-tran1]encapsulation-modetunnel#配置采用的安全协议为ESP。[H3C-ipsec-transform-set-tran1]protocolesp#配置ESP协议采用的加密算法为128比特的AES,认证算法为HMAC-SHA1。[H3C-ipsec-transform-set-tran1]espencryption-algorithmaes-cbc-128[H3C-ipsec-transform-set-tran1]espauthentication-algorithmsha1#创建并配置IKEkeychain,名称为keychain1。[H3C]ikekeychainkeychain1#配置与IP地址为的对端使用的预共享密钥为明文123456。[H3C-ike-keychain-keychain1]pre-shared-keyaddresskeysimple123456#创建并配置IKEprofile,名称为profile1。[H3C]ikeprofileprofile1#创建一条IKE协商方式的IPsec安全策略,名称为map1,序列号为10。[H3C]ipsecpolicymap110isakmp#指定引用ACL3004。[H3C-ipsec-policy-isakmp-map1-10]securityacl3004#指定引用的安全提议为tran1。[H3C-ipsec-policy-isakmp-map1-10]transform-settran1#指定IPsec隧道的本端IP地址为,对端IP地址为。[H3C-ipsec-policy-isakmp-map1-10]local-address[H3C-ipsec-policy-isakmp-map1-10]remote-address#指定引用的IKEprofile为profile1。[H3C-ipsec-policy-isakmp-map1-10]ike-profileprofile1#在接口GigabitEthernet2/0/2上应用安全策略map1。[H3C-GigabitEthernet0/1]ipsecapplypolicymap14.2.2验证配置[H3C]disipsecsaInterface:GigabitEthernet0/1IPsecpolicy:map1Sequencenumber:10Mode:ISAKMPTunnelid:0Encapsulationmode:tunnelPerfectForwardSecrecy:InsideVPN:ExtendedSequenceNumbersenable:NTrafficFlowConfidentialityenable:NPathMTU:1428Tunnel:localaddress:remoteaddress:Flow:souraddr:/port:0protocol:ipdestaddr:/port:0protocol:ip[InboundESPSAs]SPI:177423893(0x0a934615)ConnectionID:12884901889Transformset:ESP-ENCRYPT-AES-CBC-128ESP-AUTH-SHA1SAduration(kilobytes/sec):1843200/3600SAremainingduration(kilobytes/sec):1843199/3590Maxreceivedsequence-number:3Anti-replaycheckenable:YAnti-replaywindowsize:64UDPencapsulationusedforNATtraversal:NStatus:Active[OutboundESPSAs]SPI:791558781(0x2f2e3a7d)ConnectionID:73014444032Transformset:ESP-ENCRYPT-AES-CBC-128ESP-AUTH-SHA1SAduration(kilobytes/sec):1843200/3600SAremainingduration(kilobytes/sec):1843199/3590Maxsentsequence-number:3UDPencapsulationusedforNATtraversal:NStatus:Active5抓包分析5.1ISAKMP报文分析图2IKE协商报文Fig1negotiationmessage(1)第一个ISAKMP报文(简述各字段含义)InitiatorSPI(64bits):即发起方的cookie,此数值通常是由源IP地址+目的IP地址+UDP源端口+UDP目的端口+随机数+当前日期+当前时间经过HASH(MD5、SHA1或其他HASH算法)计算之后,取结果的前64位得到的,目的是保证此数值唯一,避免和其他IKE协商冲突,并保证了该数值的安全性,不被黑客所利用。Cookie必须满足的两个条件:Cookie必须是由各自拥有的机密信息所推导生成的,反之通过此Cookie无法推算图3 第一个ISAKMP报文头部Fig3 ThefirstISAKMPmessageheader出机密信息;对于一个SA来说,其Cookie值必须是唯一的,在一次IKE协商的过程中,Cookie值不能发生改变。ResponderSPI(64bits):应答方Cookie,推导方式和发起方Cookie相同,用来验证应答方身份。Nextpayload:表示紧跟在ISAKO头部之后的第一个载荷的类型值,目前定义了13种类型。表1载荷类型Table1Loadtype载荷类型none安全联盟载荷建议载荷交换载荷密钥交换载荷值01234载荷类型身份载荷证书载荷证书请求载荷HASH载荷签名载荷值56789载荷类型NONCE载荷通知载荷删除载荷厂商载荷保留值1011121314-127载荷类型私有用途值128-255Version(8bit):主版本号。表示ISAKMP协议的主版本号Exchangetype(4bit):交换类型。表示该报文所属的交换类型。通常标识主模式或野蛮模式。表2交换类型Table2Exchangetype交换类型none基本交换身份保护交换纯认证交换积极交换值01234交换类型信息交换ISAKMP将来使用DOI专用私有用途值56-3132-239240-255图4标志位Fig4FlagFlags(4bit):标志位。当前只用到后3位,其他保留待用,用0填充。后3位的含义如下:加密位:0*01。机密为如果是1,表示ISAKMP头部后面的所有载荷都被加密了;如果是0,表示载荷是明文,没有加密。提交位:0*02。用来确保在发送需要保护的数据前完成SA的协商。纯验证位:0*04。主要由那些需要为ISAKMP引入密钥恢复机制的人使用。MessageID(32bit):报文ID。在IKE第一阶段该值为全0。在IKE第二阶段是由发起方生成的随机值,这个唯一的报文标识可以唯一确定第二阶段的协议状态。(2)第二个ISAKMP报文图5发起和应答CookieFig5Initiatingandrespondingtocookies第二个ISAKMP报文在此处添加了应答方的Cookie值,用于验证应答方的身份。(3)第三、四个ISAKMP报文图6下一个载荷值Fig6Nextpayloadvalue第三、四个ISAKMP报文中修改了Nextpayload值,表示这两个报文用于交换生成密钥。(4)第五、六个ISAKMP报文图7第五、六个ISAKMP报文Fig7FifthandsixISAKMPmessages第五、六个ISAKMP报文中修改了Nextpayload值,表示这两个报文用于身份验证。同时Flag字段中最后一位置位1,表示该报文经过加密处理。(5)第二阶段ISAKMP报文图8第二阶段ISAKMP报文Fig8ThesecondstageISAKMPmessage第二节修改了Nextpayload报文,表示下一个载荷为HASH载荷。Exchangetype改为QuickMode,代表第二阶段交换类型为野蛮模式。同时Flag最后一个字段置为1,表示这个报文经过加密处理。6结论随着互联网技术的不断发展,人们越来越依赖网络技术对社会基础的支撑,而随之而来的是不断增加的安全问题。专线的出现使大企业能够安全可靠的传输公司的私密数据,但是中小企业的经济能力不足以支撑其负担昂贵的专线费用,IPSECVPN的出现似乎是听到了他们的诉求横空出世。通信双方协商密钥、安全算法以及验证算法等(第二阶段SA)保障了数据的可靠传输,而协商的过程更需要安全、可靠。IPSEC在此之前建立起一个安全体系,可靠的交换参数、生成密钥、验证身份等(第一阶段SA),使得协商过程也处于一个充分安全的环境中,让不法分子的非法行径更加无漏洞可寻。无论身处哪个年代,人身安全,信息安全都是人类不可忽视的关键性问题。而保障这种安全,就是我们所有人应该背负的重任,不断的探索,不断的完善安全体系是我们的共同目标,希望人人都能生活在一个“安全”的环境中。

温馨提示

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

评论

0/150

提交评论