在网络协议的学习中,只了解到了VPN的实现原理是基于隧道,并没有对隧道进行深入理解
于是自己查阅资料总结了一下VPN隧道
隧道
隧道技术是一种通过互联网络基础设施在网络之间建立一条虚拟链路来传递数据的方
式,使用隧道传递的数据可以是不同协议的数据帧或包,隧道将这些数据重新封装后通过网
络发送,一旦到达网络终点,数据将被解包并转发到最终目的地。
- 隧道(Tunnel)就是指被封装的数据包在公共互联网络上传递时所经过的逻辑路径
- 隧道协议(Tunneling Protocol)就是在这个过程中用来封装数据包的一类网络协议
隧道的作用
隧道技术的本质就是利用一种网络层的协议来传输另一种网络层的协议,通过封装和加密来实现信息的隐蔽和抽象
常用来:
- 在不兼容的网络上传输数据
- 在不安全网络上提供一个安全路径
- 隐藏私有的网络地址
用隧道实现VPN
隧道本身是封装数据经过的逻辑数据路径,对原始的源和目的端不可见,只能看到网络路径中的点对点连接。连接双方并不关心隧道起点和终点之间的任何路由器、交换机、代理服务器或其他安全网关。将隧道和数据保密性结合使用时,可用于提供 VPN
VPN隧道协议
VPN常用的隧道协议有
- PPTP(Point to Point Tunneling Protocol,点对点隧道协议)
- L2TP(Layer Two Tunneling Protocol,第二层隧道协议)
- IPsec(Internet Protocol Security,互联网安全协议)
- SSL VPN(如OpenVPN)
隧道协议的构成:
- 传输的载体
- 不同的封装格式
- 用户数据包
不同隧道协议的本质区别:
用户的数据包是被以什么格式封装在隧道中传输
PPTP
PPTP(Point to Point Tunneling Protocol,点对点隧道协议)是一种网络协议,PPTP使用 TCP协议控制通道和一个GRE(通用路由封装) 封装 点对点协议包,通过跨越基于 TCP/IP 的数据网络创建 VPN 实现了从远程客户端到专用企业服务器之间数据的安全传输
特点:
- PPTP规范中未描述加密或者验证功能,仅依靠点对点协议(PPP)进行隧道传输以实现所有安全功能
- PPTP协议内置在微软Windows家族的各个产品中,在微软点对点协议(PPP)的协议堆栈中,提供了各种标准的身份验证与加密机制来支持PPTP
- 通常可以搭配IPSec的加密机制来提高安全性
- 是最快的VPN 协议之一
- 不安全,加密密钥已被政府和犯罪分子破解
L2TP
L2TP(Layer Two Tunneling Protocol,第二层隧道协议)是一种工业标准 Internet 隧道协议,可以为跨越面向数据包的媒体发送点到点协议 (PPP) 框架提供封装
特点:
- 整个L2TP数据包,是用UDP来发送
- L2TP自身没有加密与可靠性验证的功能
- 可以结合IPsec来确保L2TP的安全及完整性,从而实现数据的加密传输
PPTP与L2TP异同
相同:
- 都使用PPP协议对数据进行封装,然后添加附加包头用于数据在互联网络上的传输
不同:
- PPTP只能在两端点间建立单一隧道
L2TP支持在两端点间使用多隧道
用户可以针对不同的服务质量创建不同的隧道
- PPTP要求互联网络为IP网络
L2TP只要求隧道媒介提供面向数据包的点对点连接,L2TP可以在IP(使用UDP)和一些其他网络中使用。
- PPTP 连接只要求通过基于 PPP 的身份验证协议进行用户级身份验证
IPsec 上的 L2TP 连接不仅需要相同的用户级身份验证,而且还需要使用计算机凭据进行计算机级身份验证
IPSec
IPSec(Internet Protocol Security,互联网安全协议)是一个协议包,透过对IP协议的分组进行加密和认证来保护IP协议的网络传输协议族
IPSec包括:
- AH协议,为IP包提供信息源验证和完整性保证
- ESP协议,提供加密机制
- 密钥管理协议(ISAKMP),提供双方交流时的共享安全信息
IPSec VPN的应用场景:
- Site-to-Site(网关到网关):3个机构分布在互联网的3个不同的地方,各使用一个商务领航网关相互建立VPN隧道,企业内网(若干PC)之间的数据通过这些网关建立的IPSec隧道实现安全互联。
- End-to-End(PC到PC): 两个PC之间的通信由两个PC之间的IPSec会话保护,而不是网关。
- End-to-Site(PC到网关):两个PC之间的通信由网关和异地PC之间的IPSec进行保护。
安全威胁
PPTP 安全配置:
- MPPE-128加密(使用带有128位密钥的RC4加密)
- MS-CHAPv2身份验证(使用SHA-1)
- 强密码(至少128位熵)
存在的安全漏洞:
MSCHAP-v2 易受字典攻击
- MS-CHAP被当做一个认证协议,在VPN/PPP中使用
- 可以将破解初始MS-CHAPv2身份验证的难度降低为破解单个DES 56位密钥的难度,对于当前的计算机,可以在很短的时间内对其进行暴力破解
RC4 算法容易受位翻转攻击
因为
- PPTP对隧道数据的完整性提供了弱保护
- RC4密码在提供加密的同时,也不验证数据的完整性
- PPTP也不对其流量(例如HMAC)进行额外的完整性检查
所以
- 能够对于RC4密码发起攻击
- 几乎无法检测到攻击者修改PPTP数据包的情况