VPN概述
VPN(Virtual Private Network,虚拟专用网络)就是在Internet中建立的连接两个或多个局域网的隧道。
通过配置两端的路由设备,可以为两个局域网创建一条隧道,让两个局域网之间能够互相通信。通过加密和身份验证技术实现数据通信的安全,达到像专线一样的效果。
专线网络
专用网络也叫专线业务,大多面向企业、政府及其它要求带宽稳定、对服务质量要求较高的客户。可以通过数字数据网(DDN)、帧中继(FR)、数字用户线路(DSL)、同步数字(SDH)专线业务。
关于TCP/IP分层
传统的TCP/IP协议栈中缺乏有效的安全机制和保密机制,IPSec作为一种开放标准的安全框架结构,可以用来保证IP数据报文在网络上传输的机密性、完整性和防重放。
TCP/IP模型分为对等体模型、标准模型两种
- 对等体模型(五层)
应用层
传输层
网络层
数据链路层
物理层, - TCP/IP标准模型(四层)
应用层
传输层
网络互联层
网络接入层
…
实际应用中,TCP/IP对等体模型使用最为广泛。TCP/IP分层各有各的功能,但是缺乏安全认证和保密机制。
IPSec 概述
IPSec是IETF定义的一个协议组,通信双方在IP层通过加密、完整性校验、数据源认证等方式,保证了IP数据报文在网络上传输的机密性、完整性和防重放。
- 机密性指对数据进行加密保护,用密文的形式传送数据。
- 完整性指对接收的数据进行认证,以判定报文是否被篡改。
- 防重放指防止恶意用户通过重复发送捕获的数据包所进行的攻击,即接收方会拒绝旧的或重复的数据包。
一个用户通过网银转账时,账户机密数据通过网络传输至Internet,账户密码等信息需要进行加密,同时要确保数据的完整性,防止被黑客篡改,防止防重放,避免同样的数据发送多次,导致转账多次。
IPSec VPN应用场景
企业总部与分支内使用的都是私网IP,私网IP之间无法通过Internet进行互访,这就需要使用IPSec VPN在企业与总部之间建立IPSec隧道,实现两个局域网在Internet的传输。
IPSec架构
IPSec位于传输层与网络层之间,它可以对传输层与应用层的数据进行保护,IPSec不是一个单独的协议,IPSec VPN体系结构主要由AH、ESP和IKE协议套件组成,它通过AH和ESP这两个安全协议来实现IP数据包的安全传送,IKE协议提供密钥协商,建立和维护安全联盟SA等服务。
- AH协议(Authentication Header,头部验证)完整性校验和防重放功能,无法加密
- ESP协议(安全载荷封装)完整性校验和防报文重放功能,及加密功能。
- IKE协议:用于自动协商AH和ESP所使用的密码算法。
安全联盟SA
SA(Security Association)安全联盟定义了IPSec通信对等间使用的数据封装模式、认证、加密算法及密钥等参数,
SA是单向的,两个对等体之间双向通信,至少需要两个SA,如果两个对等体间同时使用AH和ESP安全协议来进行通信,则对等体针对每一种安全协议都需要协商一对SA。
SA由一个三元组来唯一标识,三元组包括安全参数索引SPI、目的IP地址、安全协议(AH或ESP)。
SA的建立方式
SA的建立方式分为手工方式和IKE动态协商方式,
- 手工方式(适用于小型静态环境)
安全联盟所需要的全部信息都必须手动配置。缺点:手工建立方式较复杂 ,优点:不依赖IKE而单独实现IPSec功能。 - IKE动态协商方式(适用大中型网络,此方式配置简单)
只需要通信对等体间配置好IKE协商参数,由IKE自动协商来创建和维护SA。
IPSec模式
IPSec协议有两种封装模式:传输模式和隧道模式
IPSec传输模式
传输模式在IP报文头和高层协议之间插入AH和ESP头,AH和ESP主要对上层协议数据提供保护。
传输模式的AH:在IP头部插入AH头,对整个数据包进行完整性校验。
传输模式的ESP:在IP头部插入ESP头,在数据段后插入尾部及认证字段。对高层数据和ESP尾部进行加密,对IP数据包中的ESP报文头,高层数据和ESP尾部进行完整性校验。
传输模式的AH+ESP:在IP头部之后插入AH和ESP头,在数据段后插入尾部及认证字段。对高层数据和ESP进行加密,对整个IP数据包进行完整性校验。
IPSec隧道模式
隧道模式中,AH或ESP头封装在原始IP报文头之前,并另外生成一个新 的IP头封装到AH或ESP之前。隧道模式可以完全地对原始IP数据报进行 认证和加密,而且,可以使用IPSec对等体的IP地址来隐藏客户机的IP 地址
隧道模式中的AH:对整个原始IP报文提供完整性检查和认证,认证功能 优于ESP。但AH不提供加密功能,所以通常和ESP联合使用 。
隧道模式中的ESP:对整个原始IP报文和ESP尾部进行加密,对ESP报 文头,原始IP报文和ESP尾部进行完整性校验。
隧道模式中的AH+ESP:对整个原始IP报文和ESP尾部迚行加密,对除 新IP头之外的整个IP数据包进行完整性校验
IPSec VPN配置步骤
配置IPSec VPN步骤:
- 配置网络可达
首先确保发送方与接受发之间的网络可达。 - 配置ACL识别兴趣流
通过ACL来定义和区分不同的数据流,有部分不需要满足完整性、机密性要求,所以要对流量进行过滤,选择出需要进行IPSec处理的兴趣流,通过配置ACL来定义和区分的数据流。 - 创建IPSec安全提议
为了能够正常传输数据流,安全隧道两端的 对等体必须使用相同的安全协议、认证算法、加密算法和封装模式 。如果要在两个安全网关之间建立IPSec隧道,建议将IPSec封装模 式设置为隧道模式,以便隐藏通信使用的实际 - 配置IPSec安全策略
IPSec策略中会应用IPSec提议中定 义的安全协议、认证算法、加密算法和封装模式。每一个IPSec安全 策略都使用唯一的名称和序号来标识。IPSec策略可分成两类:手工 建立SA的策略和IKE协商建立SA的策略。 - 在接口应用IPSec安全策略
对称加密算法建议使用AES(128位及以上密钥)
非对称加密算法建议使用RSA(2048位及以上密钥)
哈希算法建议使用SHA2(256及以上密钥)
HMAC(基于哈希算法的消息验证码)算法建议使用HMAC-SHA
IPSec实现方式
IPSec VPN的强大之处再于它工作在OSI模型的第3层,它可以在两个端点之间建立起一条“隧道”,所有基于IP的应用数据都可以通过这条隧道进行传输。
深信服的可以两边都不是固定IP也能做IPSEC,只要在公网上建立一个寻址服务器就可以,或者直接打400,让客服给你分配一个也行,还是免费的。
另外两边都是固定IP的叫做主模式,一边固定另一边拨号的叫做野蛮模式,两边都不固定IP的叫做webagent。
webagent是分支或者移动用户连接总部需要的地址,如果设备出口没有固定公网IP可以联系4006306430申请一个域名,然后通过域名寻址。