ipsec如何配置

“internet 协议安全性 (ipsec)”是一种开放标准的框架结构,通过使用加密的安全服务以确保在 internet 协议 (ip) 网络上进行保密而安全的通讯。microsoft® windows® 2000、windows xp 和 windows server 2003 家族实施 ipsec 是基于“internet 工程任务组 (ietf)”ipsec 工作组开发的标准。
ipsec(internetprotocolsecurity)是安全联网的长期方向。它通过端对端的安全性来提供主动的保护以防止专用网络与 internet 的攻击。在通信中,只有发送方和接收方才是唯一必须了解 ipsec 保护的计算机。在 windows 2000、windows xp 和 windows server 2003 家族中,ipsec 提供了一种能力,以保护工作组、局域网计算机、域客户端和服务器、分支机构(物理上为远程机构)、extranet 以及漫游客户端之间的通信。
ipsec是ietf(internet engineering task force,internet工程任务组)的ipsec小组建立的一组ip安全协议集。ipsec定义了在网际层使用的安全服务,其功能包括数据加密、对网络单元的访问控制、数据源地址验证、数据完整性检查和防止重放攻击。
ipsec的安全服务要求支持共享密钥完成认证和/或保密,并且手工输入密钥的方式是必须要支持的,其目的是要保证ipsec协议的互操作性。当然,手工输入密钥方式的扩展能力很差,因此在ipsec协议中引入了一个密钥管理协议,称internet密钥交换协议——ike,该协议可以动态认证ipsec对等体,协商安全服务,并自动生成共享密钥。
ipsec配置流程 ipsec-vpn--virtual private network 什么是vpn--虚拟专用网
vpn作用--通过公网实现远程连接,将私有网络联系起来 vpn的类型:
1、overlay的vpn,例如ipsec-vpn
2、peer-to-peer的vpn,例如mpls-vpn 还可以分为二层vpn和三层vpn ipsec-vpn是三层的vpn ipsec-vpn的分类:
1、site-to-site vpn 也叫 lan-to-lan vpn (要求两个站点都要有固定的ip) 2、easy-vpn 也叫 remote vpn (通常用于连接没有固定ip的站点) ipsec-vpn提供三个特性:
1、authentication 每一个ip包的认证
2、data integrity 验证数据完整性,保证在传输过程中没有被人为改动 3、confidentiality (私密性)数据包的加密 《知识准备》
在学习ipsec技术之前,先要学习以下几点知识 1、加密机制
2、dh密钥交换算法 3、认证机制 4、散列机制
加密机制--密码学分为两类:
对称加密算法---使用一把密匙来对信息提供安全的保护。只有一个密匙,即用来加密,也用来解密 特点: 1、速度快 2、密文紧凑
3、用于大量数据的传送
对称加密代表:des、3des、aes
3des--有三个密匙,用第一个密匙加密,用第二个密匙解密,再用第三个密匙加密
非对称加密---有一对密匙,一个叫公匙,一个叫私匙,如果用其中一个加密,必须用另一个解密。 特点: 1、速度慢 2、密文不紧凑
3、通常只用于数字签名,或加密一些小文件。 非对称加密的代表:rsa、ecc
非对称加密代表rsa--有一对密匙,一个公匙,一个私匙,私匙加密,公匙解密,或者公匙加密,私匙解密
非对称加密可以有两种应用: 1、公钥加密,私钥解密,叫加密2、私钥加密,公钥解密,叫数字签名
理想的应用方法,用非对称加密法来传送对称加密的密匙,或用在数字签名当中。用对称加密法来加密实际的数据。
数字签名不但证明了消息的内容,还证明了发送方的身份。
密钥化的hash--使用密钥对生成的消息摘要进行加密时,被称为加密的消息摘要。 diffie-hellman key exchange--dh算法
是一种安全的让通信双方协商出一个共享密匙的方法。
用对方的公匙和自已的私匙产生一个双方都能知道的key(也叫共享的密秘),作对称加密用 dh group 1的长度是768位 (产生出的key的长度) dh group 2的长度是1024位
认证机制--(这里所指的是设备的认证,而不是用户的认证)
现代的基本加密技术要依赖于消息之目标接收者已知的一项秘密,关键的问题是如何保障密钥的安全。
1、用户名和密码
2、otp(one time password)一次性密码 3、生物认证(指纹、眼膜) 4、预共享密钥 5、数字证书 6、加密临时值
散列机制--用来做完整性检验
散列函数(就是hash)--把一大堆数据经过计算得到一个较小的、定长的值,散列是一种不可逆函数。这意味着一旦明文生成散列,就不可能或者说极端困难再将其由散列转换成明文。
hash的特点:
1、不管输入什么数据,输出是定长的
2、只要输入有一点微小变化,输出就会发生很大的变化,也就是雪崩效应 3、不可逆
hash的算法:
1、md5 提供128位的输出 md5是验证,不是加密技术,用来做哈希 2、sha 提供160位的输出
hmac--使用散列的消息认证编码,或者叫密钥化的hash,是一种使用hash来进行认证的机制。可以用来做预共享密钥的认证。
---------------------------------------------------------------------------------------- ip sec 的组成--ipsec协议集包括三个协议: 1、internet key exchange(ike)密匙交换协议
协议双方使用的算法,密匙,协商在两个对等体之间建立一条遂道的参数,协商完成再用下面的方法封装数据。
ike动态的,周期性的在两个peer之间更新密钥 2、encapsulating secutity payload(esp)封装安全负载
可以对数据包认证,加密,封装,ip中协议号--50,通常使用3des来进行加密 3、authentication header (ah)
只提供认证,封装,不提供加密,明文传送,ip中协议号--51
ipsecvpn的两种模式--
算法,封装技术以及密钥。这个协商过程是通过ike来完成的,ike协商分两个阶段运行:
阶段一:在两个对等体设备之间建立一个安全的管理连接。没有实际的数据通过这个连接。这个管理连接是用来保护第二阶段协商过程的。 阶段二:当对等体之间有了安全的管理连接之后,它们就可以接着协商用于构建安全数据连接的安全参数,这个协商过程是安全的,加了密的。协商完成后,将在两个站点间形成安全的数据连接。用户就可以利用这些安全的数据连接来传输自已的数据了。 第一阶段:建立isakmp sa 协商的是以下信息:
1、对等体之间采用何种方式做认证,是预共享密钥还是数字证书。 2、双方使用哪种加密算法
3、双方使用哪种hmac方式,是md5还是sha 4、双方使用哪种diffie-hellman密钥组
5、使用哪种协商模式(主模式或主动模式) 6、还要协商sa的生存期
第二阶段:建立ipsec sa 协商的是以下信息: 1、双方使用哪种封装技术,ah还是esp 2、双方使用哪种加密算法
3、双方使用哪种hmac方式,是md5还是sha 4、使用哪种传输模式,是隧道模式还是传输模式 5、还要协商sa的生存期
第一阶段的协商过程总共有6条消息:
1、消息1和消息2用于peer之间协商加密机制
isakmp包含有isakmp头、sa负载、提议负载、转换负载等字段 总之是让双方协商好我们之间使用啥子协议、加密方法
具体是要协定四个东东:加密机制、散列机制、dh组、认证机制 2、消息3和消息4用于相互之间交换公共密匙
两端的peer先各自生成自已的私匙和公匙,同时还产生一个临时值。然后再使用消息3或消息4将各自的公匙和临时值进行交换。
交换完公匙后,每个peer先根据对方的公匙和自已的私匙生成一个共享秘密(使用dh算法),再根据共享秘密、对方和自已的临时值、预共享密钥产生出三个skey: skeyid_d--此密匙被用于计算后续ipsec密匙资源
skeyid_a--此密匙被用于提供后续ike消息的数据完整性以及认证 skeyid_e--此密匙被用于对后续ike消息进行加密
消息3和4的isakmp包含以下字段:isakmp包头、密匙交换负载(ke)、临时值负载 3、消息5和消息6用于两个peer之间进行认证,这两个消息是用skeyid_e进行过加密的。 每个peer根据一大堆东东(包括skeyid-a、预共享密钥、标识id)生成一个hash值,再将这个值和自已的标识id(通常是ip或主机名)发送给对方。当然,使用的就是消息5或消息6。
每个peer收到对方的id和hash值后,先根据对方的id找到对方的公匙,再计算本地hash值,如果本地hash值和对方的hash值一样,就表示认证成功。 这一步完成后,ike sa被建立,主模式认证完成 第二阶段的协商过程总共有3条消息:
1、第一、二条信息是两个peer之间协商形成ipsec sa的封装协议、模式、加密算法,还要互发用dh重新生成的新的公匙和临时值,以及其它一些参数,像spi、id等等。
2、第三条消息通常由发起者发送给响应者,起一个确认的作用,也用来验证通信信道的有效性
第三条信息发送前,两端的peer必须先用和dh相关的信息(新的私钥和对方公钥)生成一个新的dh秘密,然后用该值和skeyid_d以及其他一些参数一起来生成最终加解密的key。 --------------------------------------------------------------------------------------------
sa--安全关联
sa是两个通信实体经协商建立起来的一种协定,它们决定了用来保护数据包安全的ipsec协议、转码方式、密钥、以及密钥的有效存在时间等等。任何ipsec实施方案始终会构建一个sa数据库(sa db),由它来维护ipsec协议用来保障数据包安全的sa记录。
sa是单向的--如果两个主机(比如a和b)正在通过esp进行安全通信,那么主机a就需要有一个sa,即sa(out),用来处理外发的数据包,另外还需要有一个不同的sa,即sa(in)用来处理进入的数据包。主机a的sa(out)和主机b的sa(in)将共享相同的加密参数(比如密钥)。
sa还要根据协议来区分,如果两个主机间同时使用esp和ah,对于esp和ah会生成不同的sa。
sadb--安全关联数据库,包含双方协商的ike和ipsec安全信息
spi--安全参数索引,是一个32位的值,用来标识用于处理数据包的特定的那个安全联盟
或者这样理解,用于唯一定义一条单向的ipsec通道。这个号码存在于esp包头中,通道两端必须一致。 sa分为两种--
1、ike(isakmp)sa 协商对ike数据流进行加密以及对对等体进行验证的算法 2、ipsec sa 协商对对等体之间的ip数据流进行加密的算法 对等体之间的ike sa只能有一个 对等体之间的ipsec sa可以有多个
pfs--完善转发安全性,是一种ike协商中发起者可以向响应者提供建议的属性,是一种强制对等体双方在快速模式交换中产生新的dh秘密的属性。这允许使用新的dh秘密生成用于加密数据的加密密钥。
-------------------------------------------------------------------------------------------- 配置实例: 步骤:
1、configure crypto acl 配置感兴趣流,需要加密的流量就是感兴趣流。 2、establish isakmp policy 第一阶段的策略 3、configure ipsec transform set 第二阶段的策略 4、configure crypto map
5、apply crypto map to the interface 在接口下应用
6、configure interface acl 确定在外网接口放行哪些流量
一、定义感兴趣流:
ip access-list extended vpn
permitip 172.16.1.0 0.0.0.255 172.16.2.0 0.0.0.255 二、ike第一阶段 cryptoisakmp policy 10 encryption des hash md5
authentication pre-share group 2
crypto isakmp key cisco address 202.100.1.2 pre-share key 的定义 三、ike第二阶段
cryptoipsec transform-set myset esp-des esp-md5-hmac mode tunnel
四、把感兴趣流与转换集映射一下 crypto map mymap 100 ipsec-isakmp
set peer 202.100.1.2 设置vpn对等体的地址 set tranform-set myset 设置转换集
match address vpn 感兴趣流和转换集的绑定
五、map与接口绑定 int s0
crypto map mymap
六、设定接口只允许跑vpn流量,在接口入设置 access-list 100 permit udp any eq 500 any eqisakmp
access-list 100 permit esp any any
access-list 100 permit ip 172.16.2.0 0.0.0.255 172.16.1.0 0.0.0.255 由于acl会二次查找,所以还要放行私网的流量 show crypto isakmp policy
show crypto isakmpsa第一阶段的sa show crypto ipsecsa第二阶段的sa show crypto engine connections active show crypto map
crypto ipsec security-association lifetime [seconds|kilobytes] 第二阶段的一个协商时间,也就是说多长时间后重新协商密匙。也可按已发了多少流量来进行协商。哪个数值先到就先起效。
crytoisakmpkeepalive 10 3
ipsec通道的终结:
当流量超过上限后或者超时自动终结 clear crypto isakmp清第一阶段 clear crypto sa清第二阶段
clear crypto session 在新版的ios中,用这条命令全清 debug crypto isakmp debug crypto ipsec
配置ipsec-vpn的注意点: 1、路由
2、感兴趣流量 3、策略 4、调用
接口设定acl:
设定接口只允许跑vpn流量,在接口入设置
access-list 100 permit udp any eq 500 any eqisakmp access-list 100 permit esp any any 或access-list 100 permit ahp any any
注意:在老ios中,对包解密后还会再匹配一次访问列表,新的ios中就不会,所以在老的ios中要加入一条
access-list 100 permit ip 192.168.3.0 0.0.0.255 192.168.2.0 0.0.0.255
ipsec中的路由问题:
r1 需要有4.4.4.0的路由
r2 需要有4.4.4.0 1.1.1.0 30.0.0.0的路由 r3 需要有1.1.1.0 4.4.4.0 20.0.0.0的路由 r4 需要有1.1.1.0的路由
------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------- gre
gre通用路由封装---一个三层协议,能够将各种不同的数据包封装成ip包,然后通过ip网络进行传输。也就是说能对其它的ip包或非ip包进行再封装,在原始包头的前面增加一个gre包头和一个新ip包头。明文传送,没有安全性。在ip中的协议号47。
gre封装格式:
20字节 4字节
gre有很好的隧道特性 1、支持多协议 2、支持组播 缺点是不安全 ipsec的特点:
1、能提供安全的传输保证
2、但只能支持ip,不能支持其他协议
小知识:在tunnal中,指定目标地址之后,只要在本地路由表中有这个地址,tunnal就会up
gre over ipsec(实用性很高的技术,不像ipsecvpn那样麻烦)
原理:在tunnel中,先用gre对数据包封装成ip包,再用ipsec加密,默认是通道模式
红色部分是加密的部分
ipsec只能对ip包加密,不能对非ip包加密。 注意在gre over ipsec中感兴趣流的定义:(所有的gre流量都是感兴趣流) access-list 100 permit gre host 202.100.13.3 host 202.100.12.2 必须定义公网地址 因为当感兴趣流量过来时: 1、先查路由,进入tunnel口
2、封装gre后,进入s口撞击map
当封装了gre后,外部的ip地址用的就是公网地址了,所以感兴趣流量必须定义为公网地址。
由于在接口下会两次检查acl,所以如果在物理接口下放acl,要同时放行esp和gre流量,还有isakmp的协商流量。
gre over ipsec 技术建议使用传输模式 因为通信点等于加密点 试验:
一、配置tunnel interface tunnel 1
tunnel source 202.100.1.1 tunnel destination 202.100.1.2 tunnelgreip
ip address 12.1.1.1 二、运行路由协议 routereigrp 90
network 172.16.1.0 0.0.0.255 network 12.1.1.0 0.0.0.255
三、开始配置ipsec,先定义感兴趣流:(注意这里的定义) ip access-list extended vpn
permitgre any any
四、ike第一阶段 cryptoisakmp policy 10 encryption des hash md5
authentication pre-share group 2
crypto isakmp key cisco address 202.100.1.2 pre-share key 的定义 五、ike第二阶段
cryptoipsec transform-set myset esp-des esp-md5-hmac mode tunnel
六、把感兴趣流与转换集映射一下 crypto map mymap 100 ipsec-isakmp
set peer 202.100.1.2 设置vpn对等体的地址 set tranform-set myset 设置转换集
match address vpn 感兴趣流和转换集的绑定
七、map与接口绑定 int s0
crypto map mymap
八、设定接口只允许跑vpn流量,在接口入方向设置 用在物理接口下--
access-list 100 permit udp any eq 500 any eqisakmp access-list 100 permit esp any any access-list 100 permit gre any any
----------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------
site-to-site vpn的缺点: 1、需要两端有固定的公网ip 2、两端的配置太过复杂
remotevpn--easyvpn---remote access 使用这种方法 实现两个主要目的:
1、简单的client配置,easy vpn remote
2、中心的server,动态的推送配置到client,easy vpn server 所以client很easy,server端的配置一点都不easy
远程连接有哪些困难需要克服:
1、ipsec的客户端使用server端未知的ip地址来连接网关,这样就不可能在两端定义一个预共享密钥。
2、ipsec的客户端通常希望用私网ip进入专用网络,而不是公网ip
3、ipsec的客户端必须使用dns服务器、dhcp服务器和其他一些在专用网络上作为信息主要来源的服务器,而不是使用isp的服务器。
4、ipsec客户端常在pat设备之后进行连接,但由于esp要加密tcp或udp头中的信息,端口自然也加密了,pat将不能正常工作。
为解决以上难题,设计了ike协商的1.5阶段。 ike的1.5阶段由两部分组成-- 1、x-auth扩展认证 2、模式配置
在远程ipsec连接中,通常使用ike主动模式。只有三条消息交换。 扩展认证--允许认证ipsec客户端的使用者,被ipsec网关认证。
可以先让所有的客户都使用同一个预共享密钥连接到ipsec网关,然后再使用扩展认证来确定用户的身份,等于要进行两次认证。这样就解决了第一个问题(ipsec两端无法定义预共享密钥的难题)。
扩展认证是基于每一个用户的,一般靠ipsec网关与aaa服务器结合来实现。 扩展认证在ike第一阶段完成后进行,扩展认证总共有四个消息的交换。 消息一:ipsec网关发向客户端,询问用户名和密码 消息二:客户端发向ipsec网关,回应用户名和密码 消息三:ipsec验证完毕后,通知客户端成功或失败 消息四:如果收到成功的消息,客户端返回一个确认 模式配置:
允许ipsec网关为客户端推送一个内部的ip地址和dns服务器等信息。这样客户端就可以用这个内部的ip地址进入专用网络。 nat-t也叫nat透明
用于解决在发生pat的情况下进行正确的地址转换 解决方法--将esp分组再封装进一个udp头中。
vpn 3005以上的设备都可以做server
1700、1800可以做client,实际上不光可以用硬件来做client,软件也可以做,在移动办公中就是软件做
1800以上都可以做server
remote-vpn配置
server端配置
aaa new-model //启用aaa
aaa authentication login remote local aaa authorization network remote local
username wolf password 0 cisco //建立本地数据库 cryptoisakmp policy 10 hash md5
authentication pre-share group 2
encryption des
crypto isakmp client configuration group ipsec-group 组名,设不同组的目地是为内部不同的部门分配不同的ip
key xiangweixing组密码组名和组密码是一对,需要用户端也是一样的配置 pool ip-pool
cryptoipsec transform-set myset esp-des esp-md5-hmac crypto dynamic-map mymap 10 set transform-set myset
reverse-route 反向路由注入
crypto map cisco client authentication list remote 启用xauth crypto map cisco isakmp authorization list remote
crypto map cisco client configuration address respond 地址推送方式(分强制推送和请求推送)
crypto map cisco 10 ipsec-isakmp dynamic mymap interface s1/0 crypto map cisco
ip local pool ip-pool 172.16.1.20 172.16.1.50
---------------------------------------------------------------- client端配置
cryptoipsec client ezvpn ezvpn
group ipsec-group key xiangweixing conn manual
peer 202.100.1.1 对端地址 mode client int s1/0
cryptoipsec client ezvpn ezvpn outside int e0/0
cryptoipsec client ezvpn ezvpn inside ip route 0.0.0.0 0.0.0.0 s1/0
r2#crypto ipsec client ezvpn connect r2#crypto ipset client ezvpnxauth 在客户端查看: show crypto session
show crypto ipsec client ezvpn 在服务器端查看:
show crypto session group show crypto session summary

三菱电机宣布将在中国上海开设“中国共创中心”
“红荒之力”都不管用了,红色iPhone7/7Plus价格终暴跌!
雷达收发器在ADAS和自动驾驶中的重要地位
热式气体质量流量计的原理
J210组成脉冲延迟电路图
ipsec如何配置
2018全球10大最佳游戏手机排名,iPhone XS及iPhone XS Max位居榜首
威马EX5 400续航测试,性价比超高
自动雷达水位雨量监测系统的特点
微软Xbox One X被称为至今最强游戏主机 它到底值得买吗?
激光尘埃粒子计数器的简要介绍
基于单片机为主控制单元的编码解码传感器方案设计
西门子S7-200 PLC接地和接线的详细说明
双电池电源管理器将运行时间延长12%,充电时间缩短一半
三星Galaxy Tab 2 10.1通过FCC认证
小米6评测 2499实至名归多花500完全不亏
纳芯微推出高精度、高带宽、宽灵敏度范围的线性霍尔效应电流传感器芯片新品NSM203x系列
新款iPhone的推出将会导致旧款iPhone的价值贬值
OnePlus 6首次采用玻璃后盖 做到“无负担”和“轻松自在”
亿航智能股价暴跌后急速回升,暴涨47%