一、VPN基础
1.什么是VPN?
VPN技术就是隧道技术,用以实现远程网络之间通过私有IP地址互访;在实施VPN时,除了实现隧道技术外,还要实现数据安全,两者缺一不可;
2.什么是IPsec(Ip security)?
IPsec定义了使用什么样的方法来管理相互之间的认证,以及使用什么用的方法来保护数据(IPsec不是一种协议,就像OSI一样,只是一个模型、框架);
IPsec的功能:数据源认证,保护数据完整性,保护数据私密性,防止中间人攻击,防止数据被重放;
IPsec服务协议:IKE、ESP(IP协议号50)、AH(IP协议号51);
3.SA(Security association)
IPsec的所有会话都是在通道中传输的,包括协商密钥,传递用户数据,这样的通道称为SA(SA并不是隧道,而是一组规则);
ISAKMP Security Association(IKE SA):只保护与密钥有关的对象,并不直接关心用户数据,其为安全协商IPsec SA服务;
IPsec SA:直接为用户数据流服务,其所有安全策略都是为了用户数据流的安全;
IKE Phase one:建立IKE SA,其协商阶段被称为main mode(主模式),IKE SA之间需要协商的整套安全策略包括:1)认证方式,包括PSK、PKI默认为PKI;
2)加密算法,包括DES、3DES、AES128、AES192、AES256默认为DES;
3)Hash算法,包括MD5(128bit)、SHA-1(160bit)默认为SHA-1;
4)密钥算法(DH德夫哈尔曼算法),Group1(768bit)、Group2(1024bit)、 Group3(1536bit)默认Group1;
5)Lifetime;
6)NAT穿越,默认开启;
IKE Phase two:建立IPsec SA,其基于IKE SA建立,建立IPsec SA的过程称为quick mode(快速模式),IPsec SA也需要协商一整套安全策略,其包括:
1)加密算法,包括DES、3DES、AES128、AES192、AES256默认为DES;
2)Hash算法,包括MD5(128bit)、SHA-1(160bit)默认为SHA-1;
3)Lifetime;
4)IPsecMode,包括Tunnel mode和 Transport mode,默认为Tunnel mode;
4.Transfrom Set
Transfrom Set是一组算法集合,通过它来定义使用怎样的算法来封装数据包,比如ESP封装,AH封装都需其来定义;Transfrom Set就是定义了数据包受到怎样的保护;
5.Crypto Map
Crypto Map是cisco IOS配置中配置的IPsec的组件,执行①选择需要加密处理的数据和②定义数据加密的策略以及数据发往的对端的两个主要功能;
6.隧道分离
指定什么样的流量通过VPN传输,什么样的流量正常传输,传往Internet;
7.配置VPN步骤:1)配置IKE(ISAKMP)策略;定义IKE Phase one中的一些策略;
2)定义认证标识;无论前面定义了何种认证方式,都需要添加认证信息,如密码,数字证书等等;
3)配置Ipsec Transfrom;定义IKE Phase two中的一些加密算法以及HMAC算法,此tranfrom set就是定义了流量中的数据包受到怎样的保护;
4)定义感兴趣流量;匹配流量的方法为定义ACL;
5)创建Crypto Map;
6)将Crypto Map应用于接口;
二、点对点VPN(LAN-TO-LAN VPN)
实现公司总部与分部静态的点到点之间的私有网络加密互访;
三、动态VPN(Dynamic VPN/DyVPN)
实现公司总部与多个分部(分部使用DHCP动态IP)之间进行私有网络加密互访;
四、GRE over IPsec
由于点对点VPN建立的隧道在两个私有网络之间不能启用动态路由协议来交换路由信息,只能通过ACL来匹配感兴趣流量指定去向对端的每一个网段;当两个网络都比较复杂时,点对点VPN的配置繁杂,所以引入GRE over IPsec技术;
IPsec隧道不能不能用于传递动态路由信息的原因:
1) IPsec建立的隧道是逻辑隧道,并不是真正的隧道,没有点对点连接的功能,就是IPsec隧道的两端地址是原本的公网地址,这两个地址不可能在同一网段,对于不同网段的路由器之间不能建立动态路由协议邻居关系;
2)IPsec隧道只支持IP单播,不支持组播;
GRE over IPsec加密的是整个GRE数据包,IPsec over GRE加密的只是用户数据;
五、Easy VPN(EzVPN)
C/S模式,实现于移动办公人员(DHCP获取IP)使用VPN来保证与公司的数据加密传输,使用VPN时,Client使用的IP地址为总部分发的私有IP地址;(需在Client端安装EzVPN Client软件)
六、SSL VPN(WEB VPN)
B/S模式,与EzVPN原理一样,其优点在于不需要安装客户端软件,直接使用浏览器(HTTPS)进行VPN访问;
SSL VPN是在Application Layer(应用层)上建立SSL隧道来实现的,网页浏览时需要以Java applet、ActiveX的形式安装插件;
七、PPTP VPN
PPTP VPN的部署架构和Easy VPN以及SSL VPN相同,都是使用远程拥有可路由公网IP地址的PC穿越Internet呼叫总部的VPN server,从而建立VPN隧道以提供Client与总部之间的数据加密传输;其不同之处在于不需要安装任何客户端软件与插件,在运行windows系统的PC上直接创建VPN连接即可;
PPTP VPN的数据包是PPP格式封装的,并且实现隧道功能的协议是二层协议PPTP(point to point tunnel protocol),实现加密的是MPPE(Microsoft Point to Point Encryption)协议,当PPTP结合MPPE实现PPTP VPN时,呼叫的Client必须是Windows系统,并且在Windows中必须使用MS-CHAP认证;
PPTP VPN隧道是在第二层实现的,PPTP使用TCP端口号1723;
八、L2TP VPN
L2TP VPN和PPTP VPN在用途和工作方式上几乎都是相同的,都是用在没有能够支持VPN功能路由器的家庭网络、出差在外没有使用路由器就接入Internet的移动办公人员。
L2TP VPN的隧道也是在二层实现的,它结合了两个隧道协议的特性:cisco的L2F(Layer 2 Forwarding),Microsoft的PPTP(point to point tunnel protocol);
L2TP使用UDP端口号1701;
在配置L2TP VPN时,IPsec设置为Transport mode;