设为首页收藏本站language 语言切换
楼主: lchyxyny
收起左侧

【VPN三部曲之二】最新 Easy VPN 实验指南 V0.2 2012

  [复制链接]
发表于 2014-1-22 13:47:20 | 显示全部楼层
真的是好东西
169# 2014-1-22 13:47:20 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2014-1-24 17:36:08 | 显示全部楼层
常见的VPN主要包括IPSec VPN、SSL VPN和MPLS VPN这三类VPN。这三类VPN各具特色,互有长短。IPSec VPN适合于作为网关对网关VPN连接的解决方案。SSL VPN主要面向为大量用户提供有限访问,适合作为一种远程接入方案。而MPLS VPN在支持QoS方面具有天然的优势,将公众网可靠的性能、良好的扩展性、丰富的功能与专用网的安全 、灵活、高效结合在一起,为用户提供高质量的服务。总之,我们可以根据实际需求选择最佳VPN方式。此外, IPSec VPN、SSL VPN和MPLS VPN也不是互斥的,有效地结合应用多类VPN将可能取得更好的效果。
172# 2014-1-24 17:36:08 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2014-2-2 16:56:52 | 显示全部楼层
谢谢谢谢谢谢谢
173# 2014-2-2 16:56:52 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2014-2-10 10:57:39 | 显示全部楼层
看看  学习了
175# 2014-2-10 10:57:39 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2014-2-10 19:40:17 | 显示全部楼层
PN
理论知识
一、        为什么我们需要安全?
1.        网络结构
2.        攻击技术
3.        资产价值
二、        满足什么条件,网络才算安全?
1.        Confidentiality(私有性)
①        对敏感的数据要限制
1)        使用FW和ACL阻止对网络未授权的访问
2)        访问网络资源时需要进行身份认证
②        数据穿越网络时要加密
加密流量(抓包是看不见的)
2.        Integrity(完整性)
数据在传输当中不能被篡改——MD5
3.        Availability(高可用性)
数据能持续的提供访问——DoS攻击

        密码学        优点        缺点
对称加密:
①        加密、解密同一个密钥PUB
②        DES,3DES,AES
③        通常用作加密真正的数据流        1)        加密速度非常快
2)        得到的密文紧凑(大小不会差别很大)        1)        KEY的管理分发(把KEY发给对方,容易抓包取得)
2)        不支持数字签名
非对称加密(公共密钥算法):
①        加密、解密使用不同的KEY(可以使用任何一个KEY加密,但必须使用另外一个KEY去解密)
②        DH、RSA、ECC
③        不用作加密数据流,常用于数据证书或KEY的管理                1)        加密速度慢
2)        密文不紧凑(加密后的密文比原文大很多)

理想的解决方案:








        数字签名










        数字证书
单纯的数字签名不能完成身份认证,必须和数字证书相结合
第三方的信任机构
A.        双方都把公钥发给第三方信任机构(当然也要获取第三方的公钥)
B.        第三方通过自己的私钥加密双方的公钥并发给双方(签名)
C.        那么双方的通信首先交换由CA加过密的证书,交换完后第一个认证的就是用CA的公钥把对方的发过来的证书解开,再用对方公钥验证其身份。

        IPSec协议框架
优点:
①        密钥协商的开销被大大的消减了(只要在出口路由器上配置加密、解密,省去每个用户都要去密钥的协商)
②        客户端不需要更改应用程序
③        容易构建VPN
缺点:
很难解决“抵赖性”之类问题
一、        IPSec的两种保护模式
①        Transport mode
1.        加密点=通信点
2.        保留原有数据包的IP头部
②        Tunnel mode
1.        加密点≠通信点
2.        需要打上新的IP头部

        IP Header        IP Data(Not Encrypted)

       

Transport        IP Header        IPSec Header        Data(Encrypted)



Tunnel        New IP Header        IPSec Header        IP Header        IP Data(Not Encrypted)

二、        SA 安全联盟
SA是两个通信实体经协商建立起来的一种协定。它们决定了用保护数据包的IPSec协议、转码方式、密钥以及密钥的有效存在时间等待。任何IPSec实施方案始终会构建一个SA数据库(SADB),由它来维护IPSec协议用来保障数据包安全的SA记录。
1.        SA是单向的。
如果两个主机(比如A和B)正在通过ESP进行安全通信,那么主机A就需要有一个SA,即SA(out),用来处理外发的数据包;另外还需要有一个不同的SA,即SA(in),用来处理进来的数据包。主机A的SA(out)和主机B的SA(in)将共享相同的加密参数(比如密钥)
2.        SA还是“与协议相关的”
每一种协议都有一个SA。如果主机A和B同时通过AH和ESP进行安全通信,那么每个主机都会针对每一种协议来构建独立的SA。























三、        SPD 安全策略数据库
匹配的流量必须要加密的,否则不能转发出去

四、        IPSec的组成部分
1.        ESP(安全负载)协议
①        IP协议号:50
②        不对IP Header进行封装
因为IPSec是三层加密的,需要靠IP Header传输的,如果连IP Header都加密,怎么传输呢!
Tunnel Mode ESP
IP header

SPI
Sequence number
IV
IP header

TCP / UDP header

Data

        Pad        Pad length        Next header
Authentication data

①        SPI:和IP头之间的目标地址以及协议结合在一起,用来标识用于处理数据包的特定的那个安全联盟
②        序列号:使ESP具有了抵抗重播攻击的能力
③        初始化向量(IV):作为CBC加密的种子
④        填充项:用于在ESP中保证边界的正确和扰乱原始数据实际长度
⑤        下一个头:表明数据类型,这一数据包含在载荷数据字段内。如果在Tunnel mode下使用ESP,这个值就会是4,表示IP – in –IP,如果在Transport mode下使用ESP,这个值表示的就是它背后的上一级协议类型,比如TCP对应的就是6
⑥        身份验证数据:用于容纳数据完整性的检验结果

2.        (认证头)AH协议
①        IP协议号:51
②        不提供加密
Tunnel Mode AH

New IP header
Next header        负载长度        保留
SPI
Sequence number
Authentication data

IP header
TCP / UDP header
Data

3.        Internet密钥交换(IKE)协议——协议密钥的
负载在两个IPSec对等体间协商一条IPSec隧道的协议
①        协商协议参数
②        交换公共密钥
③        对双方进行认证
④        在交换后对密钥进行管理

IKE的第一阶段:6 Message (debug crypto isakmp)
1-2个包(ISAKMP源目端口都为UDP500)一般协商对端地址、预共享密钥、用什么哈希、加密等信息
3-4个包主要用于认证——DH密钥交换
5-6个包已经是加密的包



IKE的第二阶段:(debug crypto ipsec)
主要协商IPSec参数
理解过程:VPN是在两个路由器的出口之间连接的,在接口处需要对进出流量进行加密和解密。所以需要在接口处应用相应的策略,来确认三个问题:①跟谁建立VPN,②用什么方式建立(AH还是ESP,隧道还是传输模式),③要保护的流量是哪些(确定需要走VPN的流量)。


注,感兴趣流量撞上接口的map后加密传给对端,对端回包要进行解密再次检查感兴趣流量;只有出站(outbound)检查map,入站(inbound)不检查map。

协商完成之后会建立一个IPSec SA
a)        SA是单向的(不能通过SA反推出算法、密钥信息)
b)        SA是“协议相关”的(AH、ESP)
c)        只包含三个参数:
①        安全参数索引
②        对方IP地址
③        安全协议标识:AH or ESP
d)        SA与IPSec系统中实现的两个数据库有关
①        全策略数据库(SPD)
②        安全关联数据库(SAD)
L2L



路由
1.        Internet需要有加密点的路由(本图中是直连)
为什么不需要通信点路由?
通信点是感兴趣流,要加密,外面会封装一个加密点的包来穿越Internet,Internet根本看不到包里面加密的部分。
2.        通信点需要有:对端通信点路由(本图中R3:192.168.3.0)
3.        加密点设备需要有:
①        对端加密点的路由(本图中R1:202.96.3.0)
②        感兴趣流的目的(对端通信点)
4.        保障通信
①        通信协议:UDP 500 IKE
②        封装方式:AH/ESP
R1的配置:
第一步:打开ISAKMP(默认是打开)


第二步:定义第一阶段的策略(认证、加密、哈希、DH)





















第三步:定义第二阶段的策略


第四步:定义感兴趣流



第五步:定义一个加密map




第六步:把map应用于物理口







一端主动发起协商时,会将自己的策略信息发送给对方,让对方去比对(看自己的列表是否能够把对方的列表匹配)

新命令1:适合于多种VPN综合配置





















新命令2:提供一个接口,可以跟动态路由协议,不需要map,自动协商完成
IPSec是不支持组播(不能跑动态路由协议)和二层流量


























静态VS.动态Crypto Map





R1上可能要写多个Peer

SPOKE端(R2、R3)=L2L的配置
HUB端(R1)的配置
















HUB端是发起不了协商的,只能由SPOKE端发起!







R3首先与R1建议VPN协商(成功),当R2再与R1发起VPN协商(失败),如果次序调换,R2先与R1建议VPN协商,R3再发起协商,发现R2、R3协商都成功,原因?

R2后发起的VPN协商,因为流量跟之前与R3的相匹配,所以R1在回包给R2的时候,数据包发给了R3。

如果点对多点,SPOKE端的流量不能存在重叠
IPSec over GRE
over谁,谁最后封装
加密包在router里面的处理过程和map撞击的方式





R1、R3都有对方的感兴趣流量的路由(OSPF),L2L VPN(问题:在哪里应用map?)





该感兴趣流量的路由是从Tunnel口学习到的,应应用在Tunnel口
过程解释:
1.        查询路由表Tunnel(SIP:192.168.1.1 DIP:192.168.3.3)
2.        Tunnel撞击map(前提:感兴趣流要匹配)
3.        触发加密(ESP的封装,增加一个头部信息【对方的加密点=Peer】)(SIP:202.96.1.1 DIP:202.96.3.3 ESP SIP:192.168.1.1 DIP:192.168.3.3)
4.        加密产生的新包继续查询路由表,走默认路由(很明显路由器只能读取第一层头部,DP:202.96.3.3)
GRE不存在,Tunnel口纯碎只是路由学习的功能




R1、R3各增加一个环回口并宣告进OSPF, R1、R3彼此用这环回口设为Peer。


注,除了更改Peer外,还要更改本地的更新源接口
过程解释:
1.        查询路由表Tunnel(SIP:192.168.1.1 DIP:192.168.3.3)
2.        Tunnel撞击map(前提:感兴趣流要匹配)
3.        触发加密(ESP的封装,增加一个头部信息【对方的加密点=Peer】)(SIP:1.1.1.1 DIP:3.3.3.3 ESP SIP:192.168.1.1 DIP:192.168.3.3)
4.        加密产生的新包继续查询路由表(还是通过Tunnel口学习到,虽然有map,但没有撞击=进行GRE封装【tunnel source为源,tunnel destination为目的】)(SIP:202.96.1.1 DIP:202.96.3.3 GRE SIP:1.1.1.1 DIP:3.3.3.3 ESP SIP:192.168.1.1 DIP:192.168.3.3)
5.        再查询路由,走默认路由
GRE over IPSec
加密点=通信点Transport mode




如果还要匹配感兴趣流就非常麻烦,就行IPSec over GRE,而且动态路由协议没有被加密,所以在实际环境中不建议使用IPSec over GRE技术。

GRE的封装:
SIP:202.96.1.1 DIP:202.96.3.3 GRE SIP:192.168.1.1 DIP:192.168.3.3
   做一个感兴趣流,这样GRE里面的数据都是加密的



在哪里应用map? 物理口(因为是GRE的流量,Tunnel口是没有GRE流量的)
通过动态路由协议自动触发

SIP:202.96.1.1 DIP:202.96.3.3 ESP SIP:202.96.1.1 DIP:202.96.3.3 GRE SIP:192.168.1.1 DIP:192.168.3.3

典型的隧道模式(Tunnel Mode白白浪费20字节)
SIP:202.96.1.1 DIP:202.96.3.3 ESP GRE SIP:192.168.1.1 DIP:192.168.3.3
既然满足条件:



然后重新协商一遍:



12.2T以上(新命令2)
IPSec穿越PAT(应用层网关)
1.        应用层网关——就是把相关的端口号静态转出来
2.        NAT-T——把ESP包封装在4500的UDP端口内进行传输,在启动nat-t后,依然存在ISAKMP的包(6个主模式,3个快速模式,端口号为500),只是后来的ESP包被封装在4500的UDP端口号里进行传输。





Outside Peer=202.96.1.254
ASA上的NAT配置:




由Inside发起的ping(不需在ASA Outside接口上放行ICMP流量,因为是UDP流量)





Inside为什么可以跟Outside建立VPN?










默认是开启的(双方都要开启)


如果关掉,第一阶段的建议是没有问题的(因为第一阶段是通过UDP 500端口去协商,可以穿越ASA),ESP是无法穿越ASA,因为ESP没有四层端口信息,转化不了。

NAT Keepalive
Inside周期性发送Keepalive包来维持ASA的转化表项、连接表项。


清除Inside、Outside的SA,如何让Outside主动发起VPN协商的?








EzVPN




Server端配置:











































EzVPN硬件配置:

















测试连接(特权模式)

























Server端路由:


RRI1:以Client端的内部网络为目的地址(/32位主机),以Client公网IP为下一跳,注入一条静态路由










现象:的lo 0(192.168.1.1)去ping R3的以太网Fa0/0是不通的,ping Server的以太网接口是通的

解释:走VPN(R1源自lo,出方向又是Fa0/0)

解决方法:Server端配置(告诉Client端去往哪里加密,哪里不加密)






















只有来自lo,从Fa0/0出,去往192.168.2.2的数据包才加密
Client Network mode:






























没有得到新的IP地址,源自于自己lo接口

Server端路由:


RRI2:以Client端的内部网络为目的地址(/24位主机),以Client公网IP为下一跳,注入一条静态路由


EzVPN软件配置:
















DMVPN



Redundance VPN


176# 2014-2-10 19:40:17 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2014-2-13 11:54:09 | 显示全部楼层
看起来好像很不错的样子  谢谢楼主
180# 2014-2-13 11:54:09 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-3-15 06:08 , Processed in 0.064608 second(s), 18 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表