VPN专用网
通过因特网建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定的隧道。
虚拟专用网(VPN)是一条通信隧道,可以在不可信的中间网络上提供身份认证和数据通信的点对点传输。大多数VPN使用加密技术来保护封装的通信数据,但是加密对于VPN 连接而言并非必需的。
VPN最常与通过互联网在两个距离遥远的网络之间建立安全的通信路径相关联。不过,VPN可以存在于任何地方,包括专用 网络内或连接 ISP 的终端用户之间 。VPN可以连接两个网络或两个单独的系统。VPN 能够连接客户端、服务器、路由器、防火墙以及交换机。
VPN 在不安全的或不可信的中间网络上提供了机密性和完整性,但是并不提供和保证可用性。VPN 也 比较广泛地用到像 Netflix 和 Hulu 对服务定位的要求,从而提供了(有时怀疑)匿名性。1. 隧道技术在能真正理解 VPN 之前 ,必须先理解隧道技术。隧道技术是网络的通信过程,通过将协议包封装到其他协议包中来保护协议包的 内容。封装是在不可信的中间网络上建立通信隧道的逻辑错觉。这条虚拟路径存在于通信两端的封装和拆装实体之间 。事实上,给祖母发送信件时也会涉及使用隧道系统。书写个人信件(协议包的主要内容)并将它装进信封(隧道协议),这封信通过邮递服务(不可信的中 间网络)被发往预期的收信人。隧道技术可以用在很多场合(如绕过防火墙、网关、代理或其他通信控制设备时)。通过将受限制的内容封装到己授权传输的数据包中 , 就可以实现旁路。由于通信控制设备不了解数据包中包含的实际内容,因此隧道处理能防止通信控制设备阻止或丢弃通信。隧道技术常常被用于使其他情况下会断开的系统之间能够进行通信。如果两个系统由于缺乏网络连通性而断开,那么可以通过调制解调器的拨号连接或其他远程访问或广域网仰WAN网络连接服务来建立通信连接。实际的 LAN 通信被封装在由临时连接使用的任意通信协议中,例如调制解调器拨号环境中 的点对点协议(PPP)。如果两个网络通过某个使用不同协议的网络相连接,那么被分隔网络的协议常常可以被封装在中间网络的协议内,从而提供通信路径。无 论实际的环境如何,隧道技术通过将内部协议的内容和通信数据包包裹或包装在中 间网络或连接所使用的己授权协议中 , 对它们进行保护。如果主协议是不可路由的并且为了维持网络上支持最小数量的协议,就可以使用隧道技术 。隧道技术是通信系统内的一种常见活动 , 很多人经常在不知不觉的情况下使用 隧道技术。例如,每当使用安全的 SSL 或 TLS 访 问 Web 站点时,就会用 到隧道技术,此时明文 Web 通信通过隧道技术被装入 SSL 或 TLS 会话。此外,如果有互联网电话或 VoIP 系统,那么语音通信会通过隧道技术被装入某种 VoIP 协议。
如果封装协议的操作涉及加密,那么隧道技术可以提供通过不可信的中间网络传输敏感数据的方法,并且不必担心丢失机密性和完整性。
隧道技术并不是没有问题。由于大多数协议都包含自身的错误检测、错误处理、确认和会话管理功能,因此隧道技术通常不是一种有效的通信方法。正因为如此,在传输单独的报文时,一次使用多个协议会混合额外的开销。而且,隧道技术生成了更大的或者数量更多的信息包,这也会消耗额外的网络带宽。如果没有足够的带宽,那么隧道技术会很快使网络饱和。此外,隧道技术是一种点对点的通信机制,并且设计时没有考虑对广播通信的处理。隧道技术也使得在某些情况下监控流量的内容变得很难,这为安全从业者制造 了不少麻烦 。
2. VPN 的工作原理VPN 连接能够被建立在其他任何网络通信连接上,这些连接可 以是典型的 LAN 线缆连接、无线VLAN连接、远程访问拨号连接、WAN 连接,甚至可 以是客户端访问办公室 LAN 时使用 的互联网连接。VPN 连接就像一条典型的直接 LAN 线缆连接,唯一的区别可能是速率,而速率依赖于客户端系统和服务器系统之间 的中间网络和连接类型。在一条 VPN 连接上,客户端可 以像通过一条LAN 线缆直接连接那样执行完全相 同 的操作和访问相同的资源 。VPN 可以连接两个单独的系统或两个完整的网络。二者唯一的区别在于: 被传输的数据只有在位于 VPN 隧道内 时才会受到保护。网络边界上的远程访问服务器或防火墙是 VPN 的起点或终点 。
因此,通信在源 LAN 中没有受到保护,在边界 VPN 服务器之间得到了保护,一旦到达目的地,LAN就不再受到保护 。穿越互联网进行远距离网络连接的 VPN 连接常常是替代直接连接或租用线路的便直选择。两条至本地 ISP 的 、 支持 VPN 的高速互联网连接的成本,往往远小于其他任何可用连接方式的成本。3. 常用VPN协议使用软件或硬件解决方案都可以实现 VPN。不管来用哪种解决方案,总是存在4种常用的 VPN协议: PPTP, L2F、L2TP 和 IPSec。PPTP,L2F 和 L2TP 在 OSI 模型的数据链路层(第 2 层)上工作。PPTP 和 IPSec 被限制在 IP 网络中使用 , 而 L2F 和 L2TP 则被用于封装任何 LAN 协议。3.1 点对点隧道协议点对点隧道协议(PPTP)是从拨号协议点对点协议(PPP)开发出来的一种封装协议,工作在 OSI模型的数据链路层(第 2 层)上 , 并且被用在IP网络 中 。PPP 在两个系统之间创建了 一条点对点隧道,井且封装 了 PPP 包。通过与 PPP 支持相 同的 身份认证协 议,PPTP 为身份认证通信提供了保护 。这些身份认证协议包括 :
Microsot 挑战握手身份认证协议(MS-CHAP)挑战握手身份认证协议(CAP)密码身份认证协议(PAP)扩展身份认证协议(EAP)Shiva 密码身份认证协议(SPAP)PPTP使用的最初隧道协商过程并没有加密。因此,包含发送者和接收者IP地址(可以包括用户名和散列密码)的会话建立通信包可能被第三方截获。PPTP被用在VPN上,但是它常常被第二层隧道协议(L2TP)代替。L2TP可以使用IPSec为VPN提供通信加密。3.2. 二层转发协议和二层隧道协议思科公司开发了自己的VPN协议:第二层转发协议(L2F),这是一种相互的身份认证隧道机制。然而L2F并不提供加密。L2F没有得到广泛部署,并且很快被L2TP取代。正如它们的名字所暗示的,它们都工作在OSI模型的第2层上。它们都可以封装任何局域网协议。二层隧道协议(L2TP)源自于PPTP和 L2F 的组合。L2TP 会在通信的端点之间建立一条点对点的隧道。L2TP 缺乏内置的加密方案,而是通常依赖 IPSEC 作为安全机制。L2TP 还支持 TACACS+和RADIUS。IPSec 通常为 L2TP 用做一种安全机制。3.3. IP 安全协议目前最常用的 VPN 协 议是 IPSEC。IPSEC既是一个独立的 VPN 协议, 也是用于 L2TP 的安全机制,并且只能用于IP通信。IPSEC提供了安全的身份认证以及加密的数据传输。IPSec 具有下列两个主要 的组件或功 能 :身份认证头(AH) : AH 提供身份认证 、 完整性 以及不可否认性 。封装安全有载荷(ESP): ESP 提供了加密,从而能够护传输数据的机密性,不过也可以执行有限的身份认证操作。ESP 在网络层(第 3 层)上工作,并且可以用在传输模式或隧道模式中 。在传输模式中 , 对IP数据包数据进行 了加密 , 但是对数据包的头部并没有进行加密。在隧道模式中 ,对整个 IP 数据包都进行了加密,并且新的数据包头被添加至IP数据包,从而能够控制通过隧道进行的传输。
VPN设备是一种网络增件设备,用于创建与服务器或客户端系统分隔开的VPN隧道。对于互联系统来说,对VPN设备的使用是透明的。4. 虚拟局域网虚拟局域网(VLAN)被用于硬件上以实施网络分隔。VLAN在网络上进行逻辑隔离而不改变其物理拓扑。VLAN由交换机创建。默认情况下,交换机上的所有端口都属于VLAN#1。但随着交换机管理员更改每个端口上的VLAN分配,不同的端口可以组合在一起并且使用各自不同的叽剧端口名称。这样,在同一个网络上可以创建多个逻辑网络分段。
在相同VLAN中的端口之间通信是没有阻碍的。不同VLAN之间的通信可以通过使用路由功能拒绝或支持。路由可以由外部路由器或交换机的内部软件提供(可由多层交换机提供)。因为安全或性能的原因,VLAN管理使用VLAN控制流量。VLAN执行多个流量管理功能,其中一些是与安全相关的:
控制和限制广播流量。阻断子网和VLAN中的广播。隔离网络分段间的流量。默认情况下,不同VLAN之间没有提供彼此之间通信的路由。也可以允许VLAN的通信,但是要在特定的VALN间(或VLAN的特定成员间)指定拒绝过滤。减少网络监听的脆弱性。防止广播风暴(多余的网络广播流量泛洪)。一些VLAN部署的另一个元素是端口隔离或私有端口。这些私有VLAN的配置是为了使用一个专用的或预留的上行端口。私有VLAN或端口隔离VLAN的成员仅可以通过预定的出口或上行端口进行相互通信。一种端口隔离的常见示例是在酒店里。酒店网络可以被配置以便于将每个房间或套房的以太网端口隔离在单独的VLAN中,从而达到相同单元的实体可以通信而不同单元的实体不能通信的效果。但是,所有这些私有VLAN都有一条到互联网(即上行端口)的路径。VLAN的作用就像子网,但是记住它们不是真正的子网。VLAN是由交换机生成的。子网却是由IP地址和子网掩码构成的。