L2TP是一种网络层协议,支持封装的PPP桢在IP,X.25,桢中继或ATM等的网络上进行传送。当使用IP作为L2TP的数据报传输协议时,可以使用L2TP作为Internet网络上的隧道协议。L2TP还可以直接在各种WAN媒介上使用而不需要使用IP传输层。草案RFC“第2层隧道协议”对L2TP进行了说明和介绍。该文档于1998年1月被提交至IETF。可以在以下网站[url]http://www.ietf.org[/url] [url]http://www.ietf.org[/url]获得草案拷贝。
IP网上的L2TP使用UDP和一系列的L2TP消息对隧道进行维护。L2TP同样使用UDP将L2TP协议封装的PPP桢通过隧道发送。可以对封装PPP桢中的负载数据进行加密或压缩。图8所示为如何在传输之前组装一个L2TP数据包。
2.PPTP只能在两端点间建立单一隧道。L2TP支持在两端点间使用多隧道。使用L2TP,用户可以针对不同的服务质量创建不同的隧道。
3.L2TP可以提供包头压缩。当压缩包头时,系统开销(overhead)占用4个字节,而PPTP协议下要占用6个字节。
4.L2TP可以提供隧道验证,而PPTP则不支持隧道验证。但是当L2TP或PPTP与IPSEC共同使用时,可以由IPSEC提供隧道验证,不需要在第2层协议上验证隧道。
十、IPSec隧道模式
2.工作在IP栈(IPstack)的底层,因此,应用程序和高层协议可以继承IPSEC的行为。
3.由一个安全策略(一整套过滤机制)进行控制。安全策略按照优先级的先后顺序创建可供使用的加密和隧道机制以及验证方式。当需要建立通讯时,双方机器执行相互验证,然后协商使用何种加密方式。此后的所有数据流都将使用双方协商的加密机制进行加密,然后封装在隧道包头内。
十一、隧道类型
用户或客户端计算机可以通过发送×××请求配置和创建一条自愿隧道。此时,用户端计算机作为隧道客户方成为隧道的一个端点。
由支持×××的拨号接入服务器配置和创建一条强制隧道。此时,用户端的计算机不作为隧道端点,而是由位于客户计算机和隧道服务器之间的远程接入服务器作为隧道客户端,成为隧道的一个端点。
当一台工作站或路由器使用隧道客户软件创建到目标隧道服务器的虚拟连接时建立自愿隧道。为实现这一目的,客户端计算机必须安装适当的隧道协议。自愿隧道需要有一条IP连接(通过局域网或拨号线路)。使用拨号方式时,客户端必须在建立隧道之前创建与公共互联网络的拨号连接。一个最典型的例子是Internet拨号用户必须在创建Internet隧道之前拨通本地ISP取得与Internet的连接。
目前,一些商家提供能够代替拨号客户创建隧道的拨号接入服务器。这些能够为客户端计算机提供隧道的计算机或网络设备包括支持PPTP协议的前端处理器(FEP),支持L2TP协议的L2TP接入集线器(LAC)或支持IPSec的安全IP网关。本文将主要以FEP为例进行说明。为正常的发挥功能,FEP必须安装适当的隧道协议,同时必须能够当客户计算机建立起连接时创建隧道。
对称加密,或专用密钥(也称做常规加密)由通信双方共享一个秘密密钥。发送方在进行数学运算时使用密钥将明文加密成密文。接受方使用相同的密钥将密文还原成明文。RSA RC4算法,数据加密标准(DES),国际数据加密算法(IDEA)以及Skipjack加密技术都属于对称加密方式。
如前文所述,PPP只能提供有限的验证方式。EAP是由IETF提出的PPP协议的扩展,允许连接使用任意方式对一条PPP连接的有效性进行验证。EAP支持在一条连接的客户和服务器两端动态加入验证插件模块。
EAP-TLS已经作为提议草案提交给IETF,用于建立基于公用密钥证书的强大的验证方式。使用EAP-TLS,客户向拨入服务器发送一份用户方证书,同时,服务器把服务器证书发送给客户。用户证书向服务器提供了强大的用户识别信息;服务器证书保证用户已经连接到预期的服务器。
IPSEC是一种由IETF设计的端到端的确保基于IP通讯的数据安全性的机制。IPSEC支持对数据加密,同时确保数据的完整性。按照IETF的规定,不采用数据加密时,IPSEC使用验证包头(AH)提供验证来源验证(source authentication),确保数据的完整性;IPSEC使用封装安全负载(ESP)与加密一道提供来源验证,确保数据完整性。IPSEC协议下,只有发送方和接受方知道秘密密钥。如果验证数据有效,接受方就可以知道数据来自发送方,并且在传输过程中没有受到破坏。
上述第一个满足过滤机制的数据包将会引发发送和接收方对安全关联进行协商。ISAKMP/OAKLEY是这种协商采用的标准协议。在一个ISAKMP/OAKLEY交换过程中,两台机器对验证和数据安全方式达成一致,进行相互验证,然后生成一个用于随后的数据加密的个共享密钥。
通过一个位于IP包头和传输包头之间的验证包头可以提供IP负载数据的完整性和数据验证。验证包头包括验证数据和一个序列号,共同用来验证发送方身份,确保数据在传输过程中没有被改动,防止受到第三方的攻击。IPSEC验证包头不提供数据加密;信息将以明文方式发送。
为了保证数据的保密性并防止数据被第3方窃取,封装安全负载(ESP)提供了一种对IP负载进行加密的机制。另外,ESP还可以提供数据验证和数据完整性服务;因此在IPSEC包中可以用ESP包头替代AH包头。
在选择×××技术时,一定要考虑到管理上的要求。一些大型网络都需要把每个用户的目录信息存放在一台中央数据存储设备中(目录服务)便于管理人员和应用程序对信息进行添加,修改和查询。每一台接入或隧道服务器都应当能够维护自己的内部数据库,存储每一名用户的信息,包括用户名,口令,以及拨号接入的属性等。但是,这种由多台服务器维护多个用户帐号的作法难以实现及时的更新,给管理带来很大的困难。因此,大多数的管理人员采用在目录服务器,主域控制器或RADIUS服务器上建立一个主帐号数据库的方法,进行有效管理。
微软的远程接入服务器(RAS)使用域控制器或RADIUS服务器存储每名用户的信息。因为管理员可以在单独的数据库中管理用户信息中的拨号许可信息,所以使用一台域控制器能够简化系统管理。
微软的RAS最初被用作拨号用户的接入服务器。现在,RAS可以作为PPTP和L2TP协议的隧道服务器(NT5将支持L2TP)。这些第2层的×××方案继承了已有的拨号网络全部的管理基础。
通过使用循环DNS在同属一个安全地带(securityperimeter)的×××隧道服务器之间进行请求分配,可以实现容余和负荷平衡。一个安全地带只具有一个对外域名,但拥有多个IP地址,负荷可以在所有的IP地址之间进行任意的分配。所有的服务器可以使用一个共享数据库,如NT域控制器验证访问请求。
远程验证用户拨入服务(RADIUS)协议是管理远程用户验证和授权的常用方法。RADIUS是一种基于UDP协议的超轻便(lightweight)协议。RADIUS服务器可以被放置在Internet网络的任何地方为客户NAS提供验证(包括PPP PAP,CHAP,MSCHAP和EAP)。另外,RADIUS服务器可以提供代理服务将验证请求转发到远端的RADIUS服务器。例如,ISP之间相互合作,通过使用RADIUS代理服务实现漫游用户在世界各地使用本地ISP提供的拨号服务连接Internet和×××。如果ISP发现用户名不是本地注册用户,就会使用RADIUS代理将接入请求转发给用户的注册网络。这样企业在掌握授权权利的前提下,有效的使用ISP的网络基础设施,使企业的网络费用开支实现最小化。
为有效的管理×××系统,网络管理人员应当能够随时跟踪和掌握以下情况:系统的使用者,连接数目,异常活动,出错情况,以及其它可能预示出现设备故障或网络受到攻击的现象。日志记录和实时信息对记费,审计和报警或其它错误提示具有很大帮助。例如,网络管理人员为了编制帐单数据需要知道何人在使用系统以及使用了多长时间。异常活动可能预示着存在对系统的不正确使用或系统资源出现不足。对设备进行实时的监测可以在系统出现问题时及时向管理员发出警告。一台隧道服务器应当能够提供以上所有信息以及对数据进行正确处理所需要的事件日志,报告和数据存储设备。
如本文所述,Windows系统自带的×××服务允许用户或企业通过公共或专用网络与远端服务器,分支机构,或其他公司建立安全和可靠的连接。虽然上述通讯过程发生公共互联网络上,但是用户端如同使用专用网络进行通讯一样建立起安全的连接。使用Windows系统的×××技术可以解决在当今远程通讯量日益增大,企业全球运作分布广泛的情况下,员工需要访问中央资源,企业相互之间必须能够进行及时和有效的通讯的问题。