下载
第17章远程访问协议
作者:Mark Kadrich
本章内容包括:
• 远程互联
• 远程认证拨入用户服务( R A D I U S )
• 使用S L I P、C S L I P和P P P传送I P报文
• 隧道远程访问
随着I n t e r n e t的增长,需要从任何位置访问I n t e r n e t的需求也在增长。开始时,访问是通过
连接以放在公司核心中的大型机终端来完成。这种访问方法相当不错,只要用户在桌前,或
至少在办公室里就能进行。随着预算的增加,支持人员的减少,急需提供给系统管理员一种
访问权,使他们能在家里管理提供服务的系统。因此,产生了远程访问。这种简单的访问通
过当时的慢速调制解调器来实现,通常是11 0波特(波特率和位/秒非常接近,可以互换使用)。
现在系统管理员可以在家中比较方便地监控系统行为并按需要进行一些系统相关的修改。为
组织带来的好处是通过个人在紧急情况下的监控,关键性系统能达到2 4×7的指标。也就是说
只要紧急情况不中止服务,服务就照样可以进行。
7 0年代末8 0年代初技术进步使调制解调器的吞吐量每隔几年就增长一次。就像集成电路
存储器芯片所遵从的摩尔定律一样每隔几年容量就增长一倍。
今天的调制解调器波特率为5 6 K或更高,但实际的吞吐量受限于老式的公用电话交换网
( P S T N )中的铜线结构,这种过时的基础设施,通过引入更先进的可靠性和安全性要求,对于
开发有效的传输和接收数字信息协议起了重要作用。
17.1 远程互联
前面已经指出,远程访问的主要设备是调制解调器。调制器/解调器( m o - d e m )可以以多种
不同类型的设备形式出现。基本上讲,调制解调器把用户计算机产生的数字信号转变为P S T N
能传输的信息。每个端系统必须有一个兼容的调制解调器才能正常工作(参见图1 7 - 1 )。一旦到
达接收端,模拟信号解调为数字信号并输入给接收计算机。
图17-1 基本的调制解调器和PSTN网络
远端客户机
调制解调器调制解调器
串行线路串行线路
电话线电话线
服务器
P S T N
17.1.1 ISDN
并不是所有的这些设备都兼容。标准调制解调器允许用户连接到综合业务数字网( I S D N ),
而N T- 1 (网络终端)将不允许用户连接到除I S D N之外
的任何网络。I S D N提供了一些非常有用的特点。基
本速率接口(Basic Rate Interface,B R I )允许用户使用
模拟电话并进行数据的纯数字传输。在美国, B R I
由两条6 4 K信道和一条1 6 K信道组成,这些信道是时
分多路复用( T D M )的,总共1 4 4 K b p s。(见图1 7 - 2 )。
I S D N的功能多样性来源于如下事实:在任何
时候,所有的三个信道能够单独使用,或者两个
6 4 K 信道合起来使用提供总共1 2 8 K的吞吐量。
I S D N一个令人感兴趣的优点是I S D N能使用已有的
进出大多数公司和家庭的双绞线。对于公司和提供
I S D N服务的电话公司而言,这是很重要的一个考
虑。这意味着无须升级已有的P S T N。虽然这样会
延长已有P S T N的寿命,但是随着成百万的计算机
连接I n t e r n e t,I n t e r n e t革命会给I S D N施加更多的压力。I S D N存在的时间不长了。
17.1.2 电缆调制解调器
电缆调制解调器已经使用了多年(见图1 7 - 3 )。电缆调制解调器利用了如下事实:许多消费
者在家中有基带传输媒体—电视电缆。
利用有线电缆带宽中不用的部分并且使用一些
调制技巧,电缆调制解调器能提供给用户大约
1 M b p s的访问速度。在家庭环境中这样的速度非常
诱人。最新软件和操作系统的发展允许多台计算机
利用这单一访问点。
电缆调制解调器把计算机和相邻有线电缆连接
的方式非常类似于把计算机通过同轴电缆与以太网
相连的方式,每个人在一条数据总线上。这意味着
相邻用户能彼此访问计算机,应该小心不要让这种
情况发生。一种解决方法是通过网络地址转换
(Network Address Tr a n s l a t i o n,N AT )。
通过利用RFC 1918“私人网络地址分配技术”的软件,家庭网络现在能为网络上的每台
计算机提供到I n t e r n e t的访问和安全。如果管理员想按年龄把用户分开(如父母与青少年),可
以很方便地做到这一点。已经证明,今天的计算机受到的重视就如同昨天的电话一样。
像@ H o m e这样的公司已经在许多地区率先开始这种访问类型,用户可以看一下本地有线
公司是否提供这种功能。
17.1.3 数字用户环(DSL)
数字用户环(Digital Subscriber Loop,D S L )是一项比较新的服务, D S L提供许多令人感兴
176使用第五部分网络服务
下载
图17-2 ISDN BRI配置
B信道
D信道
B信道
电话
ISDN BRI
ISDN BRI线
多路复用器
计算机
N T- 1
图17-3 电缆调制解调器
电视
进来的C AT V电缆
电缆调制
解调器
分波器
计算机
趣的实质上是相同功能的东西。使用基于价格的服务级模型,付款越多, D S L提供的吞吐量
就越大。一条5 6 K的链路大约每月需付费5 0美元,3倍的容量要付费1 0 0美元。表1 7 - 1列出了基
于吞吐量的一般D S L价格。这些是平均列表价格,其中不包括任何折扣或其他服务。
表17-1 一般的D S L价格列表
数据速率高低
1 4 4 $ 1 2 4 . 0 0 $ 9 0 . 0 0
1 6 0 $ 1 4 9 . 0 0 $ 8 0 . 0 0
1 9 2 $ 1 6 9 . 0 0 $ 9 0 . 0 0
3 8 4 $ 1 9 9 . 0 0 $ 1 3 0 . 0 0
7 6 8 $ 3 5 9 . 0 0 $ 1 8 0 . 0 0
1 . 1 $ 3 9 9 . 0 0 $ 2 0 0 . 0 0
1 . 5 $ 3 5 9 . 0 0 $ 2 9 0 . 0 0
有许多不同类型的D S L,不对称D S L ( A D S L )是最常见的类型。A D S L基于如下考虑:典型
的用户通常下载比上载多。当浏览站点时,用户会以图片形式下载页面,而上载却很少。一
般说来,绝大多数用户只上载简单应答查询。当用户点击We b页面上的一个按钮时,会向服
务器发送一个简单的消息,告诉服务器返回一个图片或文本。例外情况是电子邮件。然而,
即使考虑电子邮件,下载和上载仍为1 0 : 1的比率。
D S L的发明是为了解决随着I n t e r n e t增长而出现的许多特殊问题,特别是容量问题。已有
的P S T N基于如下想法建造:绝大多数对话1 0分钟左右,一般家庭至多有两条线。这种情况允
许中心局( C O是电话术语)的大小按某种比例。也就是说,如果只有1 0 %的用户同时使用电话,
中心局( C O )就只须支持这么多的电话交换。
注意D S L仍不是很完美的。当D S L线路是I S D N线路来的一部分时,线路之间的串扰
就会降低DSL线路的效果。在使用DSL线路之前要与供应商谈妥。
D S L比电缆调制解调器一个让人更感兴趣的好处是其吞吐量维持不变。由于电缆调制解
调器用户要与相邻用户共享电缆段,因此相邻用户越多,所得到的有效吞吐率就越少。由于
D S L是用户和服务提供者之间点到点连接,就不受这个问题的影响。然而, D S L仍受限于中
心局到I n t e r n e t可获得的带宽。
17.1.4 无线网络
许多技术支持无线网络,从蜂窝网络到R i c o c h e t和M e t r i c o m提供纯无线调制解调器技术。
通过位于附近光极(light pole)上的收发器通信, R i c o c h e t允许适当装备的计算机通过无线与
I n t e r n e t通信;但这种通讯方法的不足之处是不安全。
17.2 远程认证拨入用户服务(RADIUS)
远程认证拨入用户服务(Remote Authentication Dial-In User Service,R A D I U S )即R F C
2 1 3 8,为远程用户提供了许多重要的服务。R A D I U S是一个客户机/服务器类型的协议,最初
由L i v i n g s t o n公司在1 9 9 2年开发。毫无疑问, R A D I U S是为了满足为安全设备提供一种加强的
用户认证方法的需要。
第1 7章远程访问协议使用177
下载
R A D I U S已经成为使系统管理员对认证过程更加自信的一个重要组成部分。
R A D I U S配置通常由一个中心数据库服务器和一个或多个拨入服务器组成(参见图1 7 - 4 )。
图17-4 RADIUS客户机服务器模型
数据库中包含三种信息—认证、授权和记账。认证信息使网络能识别系统的用户。虽然
认证信息通常存储在文本文件中,但是R A D I U S服务器能够和口令文件及N I S +进行通信,授
权信息赋予用户对服务器和数据的访问权,如可以对公司内部服务器或电话列表进行访问。
记账信息用于记录用户的访问次数、失败访问次数、连接时间等等。
17.2.1 RADIUS认证
R A D I U S交流信息是非常直接的。一旦用户和
远程访问服务器相联, R A S服务器会提示用户输入
用户名和口令,这个过程使用口令认证协议
(Password Authentication Protocol ,PA P ),R F C
1 3 3 4描述了PA P,或挑战握手认证协议( C h a l l e n g e
Handshake Authentication Protocol,C H A P ),见
RFC 1994。
1. 口令认证协议( PA P )
PA P是一个老式协议,依赖于口令和用户I D。
用户在建立远程连接之后,用户I D和口令对就送到
R A D I U S服务器。如图1 7 - 5所示,访问服务器不断
地发送口令和用户I D至认证服务器,直到这个过程
发生超时。如果读者对安全重视,就不应选择这样
的协议。口令以“明码”传送。换句话说,用户信
178使用第五部分网络服务
下载
内部客户机
内部路由器
I n t e r n e t
内部路
由器
R A D I U S服务器
R A D I U S客户机
防火墙
图17-5 PAP协议互换信息
防火墙
答案在哪里?
使用PA P的R A D I U S客户机
内部路由器
使用PA P的R A D I U S服务器
I n t e r n e t
息没有经过加密处理。这意味着别人可以记录事务,并在以后重复这一过程达到访问用户关
键服务的目的。PA P通常作为回调协议使用,在一些协议如C H A P失败后才使用PA P。
2. 挑战握手认证协议( C H A P )
C H A P的特别之处在于它提供了认证用户更强的方法。C H A P是一个三路握手过程,首先
发一个C h a l l e n g e码到用户并期望用户作出合适的“握手”应答。在用户建立连接之后,服务
器会给客户机发一个“ c h a l l e n g e”报文。客户机使用一路h a s h函数如M D 5计算出应答。客户
机把应答发给服务器,服务器已计算出所期望的应答。如果从客户机发送来的应答与服务器
计算出的应答相吻合,客户机就被允许访问网络。如果应答和服务器计算出的应答不相吻合,
访问就被拒绝。为了保证会话过程不被劫获,可以配置C H A P协议周期性地重新对客户进行认
证。与PA P不一样,认证方控制整个C H A P过程,很少
允许重试。
这种类型的认证能防止重复( R e p l a y )型攻击,如上
一节所讨论的。由于每个C h a l l e n g e不相同,计算出的
每个应答也不相同。应该注意到这个协议依赖于一个
共享的密钥( s e c r e t )。密钥作为h a s h函数的键字(参见图
1 7 - 6 ),所以它应受到保护。C h a l l e n g e值应遵循两个标
准:惟一且不可预测。
C H A P认证方法应该用于对敏感网络资源的访问或
者出于安全考虑时采用。作为事实,和CHAP RFC相比,当使用P P P时实际上已经抛弃了作为
口令协议的PA P。
17.2.2 记账信息
记账信息可以采用多种形式,包括用户I D、口令、访问限制、服务授权以及审查信息。
我们已经熟悉U I D和口令信息。R A D I U S允许加入审查信息。审查信息可以用于确定是否
某个人试图访问其不该访问的信息。也可以利用审查信息来控制何时允许某人访问网络。如
果有一个接待员只要求上午9点到下午5点之间访问网络,就可以设置记账信息来反映这一要
求。任何超过这个限制的访问都不允许。实际上这种方法减少了网络被访问时间,从而增加
了安全性。
通过使用数据库来限制对各种服务的访问可以达到相似的效果。通过输入允许服务列表,
就能阻止对非授权服务的访问。当用户访问没被授权的服务时,会被R A D I U S服务器拒绝。
这是基本的策略管理,并且支持集中式的用户数据库,集中式的用户数据库能够使更新容易。
17.3 用SLIP、CSLIP和PPP传输IP数据报文
已经开发出许多协议用于把信息从一个地方传到另一个地方。协议的选择依赖于功能要
求的大小。以下各节讨论远程访问协议的历史及其现在的状况。
17.3.1 串行线路接口协议(SLIP)
S L I P是用于远程用户和本地主机互联的早期协议。RFC 1055作为信息规范只是由于S L I P
被认为是实际上的标准。S L I P是第一批远程访问协议之一, S L I P提供了到远程网络的I P互联,
第1 7章远程访问协议使用179
下载
图17-6 hashing方法示意图
键字
固定长度的h a s h输出
c h a l l e n g e或应答M D 5
这出现在8 0年代早期。图1 7 - 7显示了伯克利和S u n (升阳)公司操作系统使用S L I P的方式。
图17-7 SLIP协议
S L I P是非常简单的协议,因为设计S L I P时网络还很简单。整个R F C,包括代码,也仅有5
页纸。S L I P所做的全部事情是定义在串行线路上组帧的方式。S L I P没有纠错和检测、寻址、
报文标识或压缩。S L I P的惟一目的是在串行线路上发送报文。
由于S L I P的简单性造成了其低效率,因此在大型网络实现中并不希望使用S L I P。最麻烦
的是在S L I P会话过程中,会话双方必须知道彼此的I P地址。如果不知道,就没法处理路由问
题。在现代网络中,这会成为问题,特别是在基于D H C P的环境中。然而又是S L I P的简单性
使其实现很容易。
S L I P数据报文通常小于1 0 0 6字节,大大低于大多数机器的M TA限制。R F C中关心的另一
个问题是最大调制解调器速率,建议S L I P的连接小于1 9 . 2 K b p s。实际上这是个很好的限制。
更快速度的互联由P P P提供,但P P P要引入额外的错误检查机制。
17.3.2 压缩的SLIP(CSLIP)
C S L I P协议通过使用Va n J a c o b s e n T C P头压缩来减小传输开销,使T C P头从4 0字节减为7个
字节。实质上,压缩采用如游程长度编码那样的机制用一个字符和一个计数值代替由重复字
符形成的字符串。当用户发送大量小报文的时候压缩和不压缩会有很大区别,协议如Te l n e t正
是这种情况。正如名字所指出的, T C P头压缩,对非T C P头如U D P和S N M P没有影响。
17.3.3 点到点协议(PPP)
由于S L I P协议的问题和限制,很显然需要一种新的工具,这就是P P P协议。
RFC 11 3 4在1 9 8 9年由卡内基·梅隆大学的Drew Perkins起草。P P P协议非常通用,它支持
数据报在点到点的链路上和I n t e r n e t上的传输。数据报是一块类似于报文的数据。通过封装数
据报,P P P保持与媒体的无关性并且支持多个非I P协议。诸如U D P / I P,I P X / S P X甚至A p p l e t a l k
这样的协议都可以利用P P P。
1. PPP操作模式
为了确保能支持任何类型的用户会话, P P P内嵌的许多功能提供了不同的操作模式。对应
于连接请求,P P P具有三种基本的操作模式:
• 立即式P P P链路
• 自动检测
180使用第五部分网络服务
下载
S L I P路由器
S L I P T C P / I P
T 1线路
远程客户机
串行线路
电话线
调制解
调器
网络
服务器
企业路由器
• 交互式操作
(1) 立即式链路
正如其名所示,立即式P P P在应答请求后就提供P P P通信。任何认证在P P P协议自身之内
进行。因为必须关闭认证,所以这是一种带有危险性的连接方法。这种方法允许任何人联到
网络。
(2) 自动检测
在自动检测方法中,服务器会在P P P、S L I P、交互式或其他系统配置的协议之中进行选择。
这种方法的好处是多样性。由于能够支持广泛的协议选择,网络能有效地处理升级和迁移问
题。不必slash cutover,就能进行用户和服务的逐渐迁移。slash cutover是指配置所有系统在
同一时间迁移到相同的服务。这就如在深夜里轻拨一下开关,置许多系统管理员于“死地”
一样,因为系统一定是出了一些故障,故障原因通常是V P计算机,并且经常发生在早晨6点
钟。
(3) 交互式操作
对哑终端和必须访问网络的终端仿真用户的支持是其另一个优点。一些数据库访问程序
仍然要求访问合法系统,所以要小心这一功能。
在会话开始时, P P P确定是在进行处理主动会话还是被动会话。主动站点会发送帧来试图
与对等方进行握手过程。配置出向( o u t b o u n d )节点为主动站点是标准过程,而入向( i n b o u n d )节
点既可以配置为主动节点,也可以配置为被动节点。自动检测拨入服务器应该设置为被动的,
以便确定远程节点所使用的线路协议。
为了使P P P成功开始握手过程,一个节点必须是主动节点。注意,不是所有的软件都支持
模式选择。NT RAS是一个被动服务器,然而S u n公司的Solaris PPP是主动服务器。如果使用
的是PPP 2.3,用户就能选择主动模式或被动模式。
P P P通过使用加密控制协议ECP(RFC 1962、RFC 1968)支持加密。P P P支持许多加密算法,
包括D E S。两个端节点必须都要支持加密且必须使用相同的算法。注意,并不是所有的产品
都支持加密,因为加密是P P P的扩展。
和S L I P相比,P P P支持许多服务,包括:
• 同时支持多个协议
• 链路配置
• 错误检测
• 压缩
• 加密
• 网络信息
• 认证
如图1 7 - 8所示,P P P位于协议栈中的数据链路层上,和物理层和网络层接口。
以这种方式使用协议栈,能使P P P支持多协议。比如, I P数据报能封装在P P P帧中,如图
1 7 - 9所示。
I P X也以完全相同的方式进行封装。I P X数据报,不是I P数据报,由支持P P P的数据链路
层处理。这种方式维持了栈的一致性,但却为今天多协议网络环境提供了所需的多样性。
第1 7章远程访问协议使用181
下载
P P P的灵活性也表现在可以修改操作参数上。为了使链路功能达到最大, P P P能设置许多
链路配置参数,如:
• 最大接收单元( M R U )
• 异步控制字符映像(Async Control Character Map,A C C M )
• 认证协议
• 扩展的认证协议( E A P )
• 质量协议
• 魔数
• 协议域压缩
• 地址控制域压缩
• FCS 选择
2. 最大接收单元( M R U )
M R U告诉其他节点,本节点作为接收端时能处理的最大传输单元尺寸不同于缺省的1 5 0 0
字节。应该注意所有的实现要求在任何时候都接收1 5 0 0字节的P P P信息。这个值与连接时协商
的值无关。因为使用压缩协议会使一些类型的数据由于置换算法而增大,所以计算M R U是个
复杂的过程。一些P P P实现以连接速度为基础计算M R U。高于1 . 4 4 M b p s的T 1速度对T C P / I P而
言没有价值。
3. 异步控制字符映像( A C C M )
A C C M在RFC 1662中描述,告诉对方数据流中的什么字符应该“消失( e s c a p e )”以保证不
破坏数据,通过设置能否使用从1 8到I F的3 2个A S C I I码控制字符来完成此功能。通常用于中止
和开始流的控制字符C O N T R O L - S和C O N T R O L - A ( X O N和X O F F )会以奇怪的令人惊讶的方式
破坏数据。
4. 认证协议
认证协议在RFC 11 6 1中描述,用于告诉对等方在开始进一步通信之前需要对方证实自己。
缺省选择是不认证。发送方可以发出一个配置请求报文,指示对方需要使用指定的协议证实
自己。接收方能发送一个无应答配置报文( C o n f i g u r e - N a k )来请求使用另一个协议,如图1 7 - 1 0
所示。
182使用第五部分网络服务
下载
图17-8 具有PPP连接服务的TCP/IP栈图17-9 IP数据报封装进PPP帧并发送到线路上
应用层
表示层
会话层
传输层
网络层
数据链路层
T C P / I P
P P P
串行接口
其他的栈
如I P X
物理层
应用数据栈沿着栈向下移动
帧被发到串行线路上
I P数据报
P P P帧
物理格式
图17-10 认证过程
此时,发送方能中止会话,或发送使用不同认证协议的报文。允许的认证协议包括R F C
1334 PA P、RFC 1994 MD5 CHAP、MSCHAP 、E A P或S PA P。一旦对方发送了配置应答
( C o n f i g u r e - A c k ),本方就必须使用一个上述协议进行回复。
C H A P和PA P前面已描述过,下面会简单地描述剩下的协议。
(1) 扩展的认证协议( E A P )
扩展的认证协议( E A P,RFC 2284、RFGC 2484)是1 9 9 9年之后建议使用的认证协议。
在链路控制阶段( L C P ),P P P建立连接后,才进行认证算法选择。之后,在认证阶段,
E A P与客户机相互协商,获得与特定认证协议相关的信息。E A P的主要优点是具有支持后端
( b a c k - e n d )系统认证和加密的能力。这样使得P P P与R A D I U S服务器或其他基于硬件和软件的
安全令牌更容易集成。
(2) Shiva PA P
Shiva PA P同样也具有使用硬件令牌的功能,但Shiva PA P好像并不把令牌释放到公共域中,
而是把令牌赋给选中的生产商。几乎没有关于Shiva PA P的文档。
(3) MS CHAP
MS CHAP基本上是一般的C H A P,但却使用了不同的h a s h i n g算法。MS CHAP不使用
M D 5,而是使用D E S或M D 4。使用哪一个将依赖于是使用L A N形式( D E S ),还是N T形式
( M D 4 )。两种情况下,应答都是使用D E S。这一点类似于C H A P的标准形式,只是标准C H A P
使用M D 5。
5. 质量协议
P P P一个令人感兴趣的方面是其具有测量服务质量( Q o S )参数的能力。通过告诉对方想要
接收Q o S信息,就能达到监控数据丢失情况和错误率的目的。缺省的设置是“无协议”。提供
的信息是关于链路及其状态的简单统计。
6. 魔数
魔数在Q o S请求、抛弃请求及链路质量报文中使用。这是一个随机选取的数用于节点彼此
标识,并帮助进行错误检测和闭环( l o o p b a c k )检验。缺省设置是“无魔数”。
7. 协议域压缩
协议域压缩执行简单的功能,把1 6位的协议域压缩为8位。最高字节必须为0以保证工作
正确。只有最低字节被传送。缺省情况下不使用这种功能。
8. 地址控制域压缩
另一个压缩域是地址控制域,告诉对等方和这个域相关的固定H D L C值0 x ff和0 x 3 3可以被
第1 7章远程访问协议使用183
下载
配置请求(提供认证协议)
配置请求(不认识此协议)
配置-请求(试一下这个认证协议)
配置请求(认识这个协议)
发证实报信息
忽略。如果是其他值,缺省设置为“ o ff”。在对延迟敏感的应用中(如实时应用程序)可以以这
种方式忽略无用的地址域。最后的效果可以节省报文传输中的几个字节。
9. FCS选择
这里讨论的最后一个选项是F C S选择,这个选项告诉对方,本方想接收非标准的缺省帧校
验序列域。这是一个链路控制协议配置选项,选项一般被忽视,因为并不是在所有的P P P实现
中都可以配置它。这一选项允许对等方协商使用3 2位的循环冗余校验( C R C )而不是通常的1 6
位C R C。
P P P支持一些扩展功能,但这些扩展或者有漏洞或者过时,使用这些选项时应该小心,并
且在可能的情况下使用其他的解决方法。这些选项在RFC 1570、RFC 1663、RFC 1976和R F C
1 9 9 0中有描述。包括:
• 编号模式
• 多链路规程
• 回调
• 连接时间
• 组合
• Nominal数据封装
• 多链路M R R U
• 多链路短序列号头格式
• 多链路端点鉴别
• 独占权
• DCE标识
• 多链路+规程(Multi-Link-Plus Procedure)
• 链路鉴别
• LCP认证选项
17.4 隧道远程访问
在许多情况下,为了把数据从一个网络传送到另一个网络必须使用专门的技术。有时把一
个协议打包到另一个协议之中是件简单的事情,图1 7 - 11显
示了把I P X报文封装到I P中的情况。
原本的协议(在这里是I P X )不具有在互联网络之间传送
数据的功能。为了解决这一问题, I P X报文前附加一I P头,
给出路由器所需的信息,以便指导路由器把报文发送到最终目的地。这是一个常用方法,从
A p p l e t a l k年代就使用这种方法,而且证明这种方法非常有效。
然而,这种解决方法并不是没有缺点。一些应用程序被设计成直接处理自己的原本
( n a t i v e )应用。在上面的例子中,是指Novell Netware。I P的各种实现具有不同的特点,这使得
实现起来不直接。这样的一个例子是在微软网络上运行I P X。在一些M S网络上运行I P X的例子
中,会发生和超时及幻相效应相关的奇怪事情。幻相效应是指网络资源时隐时现的效应。这
种现象一般发生在打印机上,原因是由于网络和打印机驱动程序的不正确分布。
问题就出现在这里。必须保持对细节的特别关注,因为这实际上是使用两个或多个网络
184使用第五部分网络服务
下载
图17-11 IPX报文封装到IP中
D L L
尾
I P X
报文
U D P
头
I P
头
D L L
头
协议来支持用户应用。一个不正确安装或陈旧的驱动程序很难被检查出来且不容易修复。更
重要的一点是使得网络看起来不可靠。
针对这个问题有一些解决方法,并且在过去证明很有效。首先,使用远程管理产品让系
统管理员能安装、管理远程站点。来自Vector Networks (www. v e c t o r- n e t w o r k s . c o m )和
Traveling Software ( www.traveling software.com)公司的产品,提供了额外功能,这些功能并
不是为桌面环境而设计的。这些产品的特征具有远程控制、远程管理、远程软件及硬件报表
功能。通过这些功能可以提供可靠的网络环境,但应注意这些产品有其自身的不足。错误配
置会导致对敏感信息的非授权访问。必须使用强口令,并且管理访问权只赋那些需要的人。
在有些情况,可能需要比较高的安全级。在这些特殊环境下,可以使用加密协议如P P T P
和L 2 T P。
17.4.1 点到点隧道协议(PPTP)
P P T P是A s c e n d通信公司、E C I电话公司、微软、3 c o m以及US Robotics公司共同合作的成
果。这个工作组称为P P T P论坛。P P T P的基础是很好绑定且相互区别的函数。之所以这样做是
因为这样可以使用户和生产商能利用I n t e r n e t的普遍特性。通过支持一种标准,用户可以通过
本地I S P拨号并能够安全地通过I n t e r n e t隧道连接到他们的公司网络。这样可以使公司减少产生
和支持自身远程访问硬件的要求。
这种新的体系结构可以使公司利用I n t e r n e t结构——让I S P做自身擅长的工作:把个人用户
和I n t e r n e t连接起来。之后,公司可以自由地购买连到城域网( M A N )或广域网的设备,通过本
地环路多路分解到达的远程访问连接。对他们而言,远程呼叫看起来像是到另一个I n t e r n e t站
点的连接。图1 7 - 1 2显示了体系结构的区别。
图17-12 使用远程访问设备的网络和一个使用远程ISP和多路复用器、多路分解器的网络
第1 7章远程访问协议使用185
下载
从I S P来的多路复用链路多路复用链路路由器
多路复用链路路由器
I n t e r n e t
网络
I n t e r n e t
网络
公司访问点
I S P提供的I n t e r n e t访问点
远程客户机
远程客
户机
1. PPP 会话汇聚
P P T P是基于客户机/服务器模型的协议,专门设计用于使用P P P和第二层协议通过I P网络
进行隧道传输。P P T P能通过一条P P T P隧道支持多P P P连接。P P T P在I S P模型中可以很好地工
作,在这种模型中,多个远程用户必须导向一个特殊的公司实体(参见图1 7 - 1 3 ),这些隧道通
常称为虚拟私人网( V P N )。
图17-13 PPTP支持多用户
对绝大多数I S P而言,这看起来好像不错,因为P P T P需要带外控制用于T C P端口1 7 2 3,这
个端口由通用路由封装( G R E )协议使用。然而G R E不像T C P或U D P那样普遍,所以许多I S P不
支持它。没有这个连接, P P T P将无法操作。
最常见的实现是在拨入存在点(Point of Presence,P O P )之间提供服务。在这种方式中, I S P
仅提供I P服务,而客户机和私有路由器协商P P T P链路。应该注意并不是所有的P P P软件都支持
P P T P,因为P P T P不是标准协议。微软的视窗9 8和N T操作系统是支持这种服务的一个例子。
在L C P功能完成之后,物理连接就建立了,这时可以认证用户, P P T P依赖于P P P构造数
据报。之后P P T P封装P P P报文,通过I P隧道发送报文。
2. 分离的控制信道
如前所述,P P T P使用两条信道来支持连接:一条数据信道和一条控制信道。控制信道在
T C P端1 7 2 3上运行。这个信道包含与链路状态和管理消息相关的信息。这些管理信息用于建
立、管理、中止P P T P隧道。管理信道使P P T P具有控制数据传输速率的功能。这一功能对如下
两种情况是很方便的: 1) 线路噪声很大;2) 网络拥塞导致报文丢失现象。
封装进I P的数据流在节点之间传输,路由控制由G R E来完成。并不是所有的I S P都支持
G R E,所以需要客户端和服务器建立自己的隧道。
3. 多协议支持
P P T P的另一个特点是支持多协议:如N e t B E U I、I P X,以及还在使用的A p p l e Ta l k。因为
P P T P是一个二层协议,它也包括和媒体相关的头,使它能在以太网或P P P上操作。
4. 认证和保密
加密和密钥管理不是P P T P规范的一部分。P P T P依赖于P P P提供的认证协议并且依赖于
P P P对数据进行加密。为了加强P P P / P P T P的保密性,微软引入了一种新的加密方法称为微软
点到点加密算法,这个算法以RSA RC4加密标准为基础。
P P T P使用C H A P、PA P、E A P及P P P支持的M S - C H A P进行认证。
186使用第五部分网络服务
下载
汇聚的P P T P链路
R A S服务器
I n t e r n e t网络
公司网
P P P客户机
P P P
5. PPTP隧道类型
P P T P能支持一些基本的隧道连接配置,如前面所述。隧道类型依赖于一些能力。首先也
是最重要的是I S P支持G R E的能力,G R E是P P T P的要求。其次是客户机支持P P T P连接的能力。
用户的计算机会决定隧道的端点;端点可以是I S P的远程访问服务器( R A S )也可以是其自身的
计算机。这两种连接类型分别称为主动隧道(voluntary tunnel)和被动隧道(compulsory tunnel)。
(1) 主动隧道
在主动隧道中,用户初始化至公司计算机的P P T P连接。然而,这意味着用户必须有一个
可操作的P P T P客户机,如视窗9 X或N T操作系统提供的一样。在这种情况下I S P只需提供基本
的I P服务(如图1 7 - 1 4所示)而无需提供其他任何服务。
图17-14 用户通过Internet和服务器的PPTP连接
在I S P提供R A S服务器的情况下,客户机无需P P T P客户程序;只需一个P P P客户程序。在
被动隧道中,用户连接到I S P的R A S服务器,但却不控制隧道(见图1 7 - 1 5 )。在绝大多数情况下,
用户甚至不知道P P T P隧道的存在。
图17-15 被动隧道
(2) 被动隧道
被动隧道又分成两个子类:静态的和动态的。静态隧道使用指定的设备,也被称为基于
域的,或手工的隧道。一个域是用户名的一部分并与用户的域联系起来。R A S服务器会使用
这个信息确定P P T P连接的终点位置。R A S服务器必须手工配置来支持这种连接类型。这种类
型的优点是公司可以控制用户使用I n t e r n e t的情况。这种方法允许用户连接到公司的内部网以
第1 7章远程访问协议使用187
下载
P P T P链路
P P T P客户机
公司
RAS PPTP服务器
I n t e r n e t网络
汇聚P P T P链路到网络
P P P客户机
P P P
I n t e r n e t网络
通过公司网回访I n t e r n e t
R A S服务器
公司网
使用其服务。访问I n t e r n e t要通过公司网络参见图( 1 7 - 1 5 )。
动态隧道更有效,因为隧道只是在需要时才存在。R A S服务器连接到一台R A D I U S服务器
以便获得用户信息。隧道以用户存储的信息为基础构造。与使用和访问控制有关的信息存储
在R A D I U S服务器中,由R A S服务器在需要时获取。
被动隧道的另一个好处是其具有汇聚流量的功能。多个P P P客户机能组合成一条至公司内
部网的P P T P连接,因而降低了带宽要求,节约了相关成本。
被动隧道的一个缺点和安全相关。从客户机到R A S服务器的链路不安全。然而,对于使
用主动隧道的用户,也存在安全问题,因为没有方法可以阻止用户连接到I n t e r n e t下载一段恶
意的代码。之后,再连接到公司网络上。
安全性是一门系统科学,必须在系统级找到解决方案。单纯的依赖于技术不能防止安全
漏洞。
17.4.2 两层隧道协议(L2TP)
L 2 T P与P P T P在许多方面有非常相似之处。它结合了P P T P和C i s c o的二层转发( L 2 F )。
L 2 T P胜过P P T P的地方是L 2 F不依赖于G R E。这意味着L 2 T P兼容于其他媒体类型如AT M或其
他基于报文的网络如X . 2 5。但是,规范必须要说明L 2 F报文的处理过程。最初的工作使用U D P,
把L 2 F置于P P T P后面。
1. L2F
和P P T P使用方式相似,L 2 F使用P P P作为初始连接和服务(如认证)的提供者,和P P T P不一
样,一开始L 2 F就使用终端访问控制器访问控制系统( TA C A C S )。TA C A C S是另一个必要的服
务。TA C A C S是C i s c o的私用协议,为其路由器产品提供认证、授权和记账功能。TA C A C S有
一些限制,这将在本章后面讨论。
L 2 F也利用隧道连接概念,使其在L 2 F连接之内支持多条隧道。在加强安全级别的努力中,
L 2 F支持额外的认证级。不仅仅在P P P级别认证,L 2 F还加入了在公司网关或防火墙一级的认证。
L 2 T P规范阐述了L 2 F的优点。L 2 T P使用相同的方法通过P P P支持远程用户。利用L 2 F工作,
L 2 T P使用自己的隧道协议。当用户考虑迁移到AT M和帧中继网络时,这个特性非常重要。
2. 认证
和P P T P一样,L 2 T P支持通过P P P的认证。使用PA P、C H A P及E A P建立到R A D I U S服务器
的连接, L 2 T P和P P T P具有相同的效果。为了加强这一级的效果, L 2 T P加入了TA C A C S、
TA C A C S +以及基于I P S e c的服务。
3. IPSec支持
I P S e c区别于其他服务之处在于I P S e c是一个开放规范,它不仅支持认证,同时也支持保密。
I P S e c是比简单P P P模型更强的安全实现方法。从图1 7 - 1 6可以看出, L 2 T P具有支持公共密钥
结构( P K I )的功能,L 2 T P利用了L D A P和强认证服务。简而言之, P K I是一种管理公钥及其所
支持证书的方法。I P S e c支持使用许多不同的认证和加密工具,如P K I依赖的非对称加密算法。
虽然,本章会讨论这些安全机制,然而P K I超出了本章范围,不在这里作讨论。
和P P T P一样,L 2 T P依赖于P P P建立连接。L 2 T P希望P P P建立物理连接,执行初始认证过
程,构造P P P数据报,并且在中止时,关闭连接。其他就没有相似之处。L 2 T P会和其他节点
通信确定呼叫节点是否被授权,端节点是否希望支持L 2 T P连接。如果是否定的,会话过程就
188使用第五部分网络服务
下载
被中止。
图17-16 L2TP和PKI
和P P T P一样,L 2 T P定义了两种不同类型的消息:控制消息和数据消息。控制消息用于建立
和维护隧道并且控制数据的发送和接收。和P P T P需要两条信道不
一样,L 2 T P把数据和控制信道组合成一条数据流。在I P网络中,
就是把数据和控制封装进一个U D P报文,如图1 7 - 1 7所示。
有效数据实际上是P P P报文减去和媒体相关的帧元素。因为
L 2 T P是2层协议,必然包括媒体头以指示下一层如何传输报文。这可以是以太网、帧中继、
X . . 2 5、AT M或原始的P P P链路。如读者所见,非常多样。
为了减少网络拥塞, L 2 T P支持流控。流控在L 2 T P访问集中器( L A C )和L 2 T P网络访问服务
器( L N S )之间实现; L A C的功能是作为网络访问服务器, L N S提供对公司网络的访问。控制消
息包含与传送速率和缓冲参数有关的信息。通过交换这些信息L A C和L N S能调整数据流,达
到控制拥塞的目的(见图1 7 - 1 8 )。
图17-18 LAS和LNS
第1 7章远程访问协议使用189
下载
内部客户机
内部路
由器
L D A P和证
书服务器内部路由器
防火墙P P T P
服务器
R A D I U S服务器
R A D I U S客户机
I n t e r n e t
图17-17 封装数据和控制
U D P
尾
L 2 T P
头
P P P
头
I P有效
数据
通过I n t e r n e t连接
公司网
L N S
L A C
P P P
P P P
客户机
I n t e r n e t
网络
L 2 T P实现的另一个减小网络开销的方法是压缩报文头。读者能想起P P T P具有相似的功能。
和P P T P相似,L 2 T P也支持两种连接类型—主动隧道和被动隧道。
在主动隧道中,用户从本机初始化L 2 T P连接。然而这意味着用户必须有一个能操作的
L 2 T P客户程序。在这种情况下I S P只需提供基本服务(见图1 7 - 1 9 )。
图17-19 用户到服务器的L2TP主动隧道
在I S P提供L A C的情况下,客户机不需要L 2 T P客户程序;而只需要P P P客户程序。在被动
隧道中,用户联到I S P的L A C,但对隧道没有控制权(见图1 7 - 2 0 )。在绝大多数情况下,用户甚
至不知道隧道的存在。
图17-20 通过ISP LAC的被动隧道
被动隧道有两个子类:静态的和动态的。静态隧道使用指定的设备。这种使用方法不利
于使用资源,因为即使当隧道不再需要时,也不能使用设备。而且, L A C必须手工配置来支
持这种连接类型。
动态隧道更有效一些,因为隧道只是在用户需要时才建立。L A C从认证服务器( 如
R A D I U S或TA C A C S服务器)获得用户信息。被动式动态隧道与认证服务器一起使用会带来很
大好处。隧道可以基于用户信息如电话号码和认证方法来定义。认证方法包括令牌和智能卡。
在安全管理和金融事务中,可以执行额外的检查和记账处理,审查信息是部门变化之后仍使
用原来服务的基础或者帮助协商I S P的速率。
这一优点与上一节描述的一样。用户连接到公司内部网以便得到相应服务,如果允许,
190使用第五部分网络服务
下载
L2TP LNS
L 2 T P链路I n t e r n e t网络
公司网
P P T P
客户机
汇聚的L 2 T P链路
P P P客户机
P P P
L A C
L N S
I n t e r n e t
网络
对内部服务的访问
公司网
还可以通过公司网络访问I n t e r n e t (见图1 7 - 2 1 )。
图17-21 到Internet的被动L2TP连接
使用被动隧道的优点是流量汇聚。多连接能组合到一条L 2 T P隧道连到公司的内部网,这
样带宽利用率更高,费用更低。
必须清楚被动隧道的缺点是从客户机到L A S服务器的链路不安全,因为它仅使用简单的
P P P链路。如前所述,使用主动隧道的用户也有安全问题。因为无法阻止用户联到I n t e r n e t,
下载一段恶意代码,之后再联到公司网络。
和P P T P实现中的情况相同,安全性是一门系统科学,必须在系统一级找到解决方法。不
能仅仅依赖于技术提供安全性。忽略文化上的问题和解决方法不会杜绝安全漏洞的出现。
L 2 T P通过I S P的认证,比P P T P使用的认证复杂。在和I S P的初始联系过程中, I S P使用以
下三个元素之一标识用户:
• 呼入的电话号码
• 被呼叫的电话号码
• 用户名或I D
这一步完成之后, ISP LAC会产生一个新的呼叫I D标识隧道内的会话,并把信息转发到
公司网络的L N S上(参见图1 7 - 2 2 )。
图17-22 L2TP认证过程
之后,公司网络负责检查提供的信息并决定是否接受还是拒绝连接请求。如果接受呼叫
请求,下一步是P P P认证。虽然端点已经被标识和认证,需要格外注意消息仍以名文传送。任
何运行的监听程序都能劫获用户数据。同时,报文也能插进报文流来试图迷惑或误导接收方。
通过提供保密机制, I P S e c能解决这一问题。
P P P提供加密,但是P P P使用共享的密钥来对数据进行加密。双方必须知道这一密钥才能
第1 7章远程访问协议使用191
下载
汇聚的L 2 T P链路
P P P客户机
P P P
L A C
I n t e r n e t L N S
网络
通过公司网到
I n t e r n e t的连接
公司网
用户初始化和I S P的连接
I S P向L N S发送信息
L N S回应ISP ACK
L N S进行用户认证
用户发送认证信息
用户建立和L N S的P P P链路
工作。这意味着必须使用带外方法进行密钥分发。L 2 T P隧道认证也是这样。而且,即使使用
P P P加密,L 2 T P也不保护控制信息。I P S e c能解决这一问题。
17.4.3 IPSec
由于T C P / I P实际上不提供任何保护机制,因此过去这些年出现了许多方法来弥补这一不
足。然而,这些方法不具有跨平台能力,也不能可靠地工作。为了解决这一问题, I E T F设计
了一组协议,即I P S e c。虽然本节不讲述虚拟专用网( V P N ),但是L 2 T P能非常有效地利用大量
I P S e c函数,所以本节会简要地看一下I P S e c特性。
I P S e c最初设计用于I P v 6标准的出现,在1 9 9 5年出现的RFC 1825-1829讨论了如何在I P数
据报上进行认证和加密。之后不久,这些R F C被修改,解决Internet IPv4地址模式问题。这些
规范把解决方案分成两类:
• 认证
• 加密
认证部分由认证头( A H )标识,加密部分由封装安全数据( E S P )标识。每一种功能由不同的
头表示,如图1 7 - 2 3所示。
图17-23 IPSec报文头信息
1. 基于标准的加密
一起使用时,两个功能可以提供认证和保密。除了认证和保密之外,不像到目前为止讨
论的其他认证, I P S e c也能提供数据完整性功能。数据完整性是指确定数据在传输过程中是否
192使用第五部分网络服务
下载
ESP IPv4
ESP IPv6
IPv4 AH
IPv6 AH
I P头
I P头
I P头
I P头跳路由
信息
A H头目的地选项T C P 数据
P a y l o ad
A H头T C P 数据P a y l o a d
E S P头
加密的
加密的
认证的
认证的
认证的
认证的
跳路
由信
息
E S P头T C P 数据
P a y l o a d
E S P尾
E S P
认证
T C P
数据
P a y l o a d
E S P尾
E S P
认证
被修改过。如果这些数据恰好是公司合同或用户的工资存单,数据完整性就是很重要的,
为了确保兼容性,I P S e c标准建造于许多密码标准之上:
• D-H 或D i ff i e - H e l l m a n n,用于密钥交换。
• 公钥密码算法,用于D - H密钥交换签名。
• DES 加密。
• MD5、S H A以及H M A C (基于H a s h的消息认证码),用于带密钥的h a s h算法。
• 数字证书。
这种方法的主要强大之处是其多样性。一个新算法开发出来之后可以插入I P S e c体系结构
中,如图1 7 - 2 4所示。
图17-24 IPSec体系结构
2. 建立安全联合
为了开始安全通信过程,双方必须建立一个安全联合( S A )。虽然有建立安全通信信道的
缺省设置,但I P S e c提供了不同密钥值、算法及计时设置协商功能。为了对各种值进行解释,
I P S e c使用解释域( D D I )概念来标准化这些元素。这样使得建立S A更容易。S A确定以下各项:
• 认证算法模式以及A H中使用的密钥。
• 加密算法模式以及E S P中使用的密钥。
• 密码同步参数。
• 通信认证过程中使用的协议、算法和密钥。
• 通信私有过程中所有的协议、算法和密钥。
• 认证和私有密钥交换的频率。
• ESP使用的认证算法、模式、转换和密钥。
• 密钥生命周期。
• SA生存时间。
• SA源地址。
3. 认证
第1 7章远程访问协议使用193
下载
A H协议E S P协议
认证算法加密算法
密钥管理
D O I
A H提供了一种很强的认证报文发送者及其包含信息的方法。使用密码h a s h函数产生一个
校验和,校验和与其他控制信息一起插到I P头和其他报文头之间(见图1 7 - 2 3 )。
4. ESP
由于A H所做的全部工作就是验证报文的发送者以及报文没有被修改过, A H不能防止内
容被监听。这就是提出E S P的目的, E S P会在I P头和报文其他部分之间插入自身信息,这个信
息使用安全参数索引( S P I )进行了加密。应该注意许多不同的操作模式会产生令人感兴趣的功
能。其中一个操作模式是隧道(见图1 7 - 2 5 )。
图17-25 隧道化IPSec
5. 隧道
在隧道模式中,整个报文被加密、被认证,并且报文前面加上中介网关如防火墙的地址。
这样可以防止目的地址暴露给偷窥者。
正如读者所看到的, I P S e c对P P T P或L 2 T P安全性进行了很大的改进。然而,现在产品中
I P S e c仍然不长见。
17.5 小结
有许多方法可以把远程用户和本地局域网连接起来。S L I P、P P P、P P T P以及L 2 T P提供了
不同程度的功能和保护。
P P P提供了连接到服务器所需的基本服务,并且比早期的S L I P功能强很多。P P P具有控制
链路和支持多协议功能,成为优于S L I P的远程连接选择。S L I P,功能简单,可能适合于指定
的终端连接但S L I P缺少P P P的健壮性和多样性。
为P P P增加功能, P P T P使I S P和公司能更有效地利用I n t e r n e t。通过支持更多的协议,
P P T P能使内部网服务扩展到家庭和远程用户的膝上电脑。利用远程认证机制如PA P、C H A P
以及R A D I U S,P P T P增强了组织对使用网络资源用户的控制。
再为P P P添加上功能, L 2 T P在使用I n t e r n e t资源及其相关的、多样化的介质时,组合了许
多最好的协议。通过使用强的安全模型如I P S e c,L 2 T P更好地限制了远程访问客户机的能力。
为网络加上更多的功能,必须有新的方法来适应,以保证这些功能不被错误使用或滥用。当
人类进入新千年时, L 2 T P有希望支持这些功能,并有希望支持I P v 6。
第17章远程访问协议
作者:Mark Kadrich
本章内容包括:
• 远程互联
• 远程认证拨入用户服务( R A D I U S )
• 使用S L I P、C S L I P和P P P传送I P报文
• 隧道远程访问
随着I n t e r n e t的增长,需要从任何位置访问I n t e r n e t的需求也在增长。开始时,访问是通过
连接以放在公司核心中的大型机终端来完成。这种访问方法相当不错,只要用户在桌前,或
至少在办公室里就能进行。随着预算的增加,支持人员的减少,急需提供给系统管理员一种
访问权,使他们能在家里管理提供服务的系统。因此,产生了远程访问。这种简单的访问通
过当时的慢速调制解调器来实现,通常是11 0波特(波特率和位/秒非常接近,可以互换使用)。
现在系统管理员可以在家中比较方便地监控系统行为并按需要进行一些系统相关的修改。为
组织带来的好处是通过个人在紧急情况下的监控,关键性系统能达到2 4×7的指标。也就是说
只要紧急情况不中止服务,服务就照样可以进行。
7 0年代末8 0年代初技术进步使调制解调器的吞吐量每隔几年就增长一次。就像集成电路
存储器芯片所遵从的摩尔定律一样每隔几年容量就增长一倍。
今天的调制解调器波特率为5 6 K或更高,但实际的吞吐量受限于老式的公用电话交换网
( P S T N )中的铜线结构,这种过时的基础设施,通过引入更先进的可靠性和安全性要求,对于
开发有效的传输和接收数字信息协议起了重要作用。
17.1 远程互联
前面已经指出,远程访问的主要设备是调制解调器。调制器/解调器( m o - d e m )可以以多种
不同类型的设备形式出现。基本上讲,调制解调器把用户计算机产生的数字信号转变为P S T N
能传输的信息。每个端系统必须有一个兼容的调制解调器才能正常工作(参见图1 7 - 1 )。一旦到
达接收端,模拟信号解调为数字信号并输入给接收计算机。
图17-1 基本的调制解调器和PSTN网络
远端客户机
调制解调器调制解调器
串行线路串行线路
电话线电话线
服务器
P S T N
17.1.1 ISDN
并不是所有的这些设备都兼容。标准调制解调器允许用户连接到综合业务数字网( I S D N ),
而N T- 1 (网络终端)将不允许用户连接到除I S D N之外
的任何网络。I S D N提供了一些非常有用的特点。基
本速率接口(Basic Rate Interface,B R I )允许用户使用
模拟电话并进行数据的纯数字传输。在美国, B R I
由两条6 4 K信道和一条1 6 K信道组成,这些信道是时
分多路复用( T D M )的,总共1 4 4 K b p s。(见图1 7 - 2 )。
I S D N的功能多样性来源于如下事实:在任何
时候,所有的三个信道能够单独使用,或者两个
6 4 K 信道合起来使用提供总共1 2 8 K的吞吐量。
I S D N一个令人感兴趣的优点是I S D N能使用已有的
进出大多数公司和家庭的双绞线。对于公司和提供
I S D N服务的电话公司而言,这是很重要的一个考
虑。这意味着无须升级已有的P S T N。虽然这样会
延长已有P S T N的寿命,但是随着成百万的计算机
连接I n t e r n e t,I n t e r n e t革命会给I S D N施加更多的压力。I S D N存在的时间不长了。
17.1.2 电缆调制解调器
电缆调制解调器已经使用了多年(见图1 7 - 3 )。电缆调制解调器利用了如下事实:许多消费
者在家中有基带传输媒体—电视电缆。
利用有线电缆带宽中不用的部分并且使用一些
调制技巧,电缆调制解调器能提供给用户大约
1 M b p s的访问速度。在家庭环境中这样的速度非常
诱人。最新软件和操作系统的发展允许多台计算机
利用这单一访问点。
电缆调制解调器把计算机和相邻有线电缆连接
的方式非常类似于把计算机通过同轴电缆与以太网
相连的方式,每个人在一条数据总线上。这意味着
相邻用户能彼此访问计算机,应该小心不要让这种
情况发生。一种解决方法是通过网络地址转换
(Network Address Tr a n s l a t i o n,N AT )。
通过利用RFC 1918“私人网络地址分配技术”的软件,家庭网络现在能为网络上的每台
计算机提供到I n t e r n e t的访问和安全。如果管理员想按年龄把用户分开(如父母与青少年),可
以很方便地做到这一点。已经证明,今天的计算机受到的重视就如同昨天的电话一样。
像@ H o m e这样的公司已经在许多地区率先开始这种访问类型,用户可以看一下本地有线
公司是否提供这种功能。
17.1.3 数字用户环(DSL)
数字用户环(Digital Subscriber Loop,D S L )是一项比较新的服务, D S L提供许多令人感兴
176使用第五部分网络服务
下载
图17-2 ISDN BRI配置
B信道
D信道
B信道
电话
ISDN BRI
ISDN BRI线
多路复用器
计算机
N T- 1
图17-3 电缆调制解调器
电视
进来的C AT V电缆
电缆调制
解调器
分波器
计算机
趣的实质上是相同功能的东西。使用基于价格的服务级模型,付款越多, D S L提供的吞吐量
就越大。一条5 6 K的链路大约每月需付费5 0美元,3倍的容量要付费1 0 0美元。表1 7 - 1列出了基
于吞吐量的一般D S L价格。这些是平均列表价格,其中不包括任何折扣或其他服务。
表17-1 一般的D S L价格列表
数据速率高低
1 4 4 $ 1 2 4 . 0 0 $ 9 0 . 0 0
1 6 0 $ 1 4 9 . 0 0 $ 8 0 . 0 0
1 9 2 $ 1 6 9 . 0 0 $ 9 0 . 0 0
3 8 4 $ 1 9 9 . 0 0 $ 1 3 0 . 0 0
7 6 8 $ 3 5 9 . 0 0 $ 1 8 0 . 0 0
1 . 1 $ 3 9 9 . 0 0 $ 2 0 0 . 0 0
1 . 5 $ 3 5 9 . 0 0 $ 2 9 0 . 0 0
有许多不同类型的D S L,不对称D S L ( A D S L )是最常见的类型。A D S L基于如下考虑:典型
的用户通常下载比上载多。当浏览站点时,用户会以图片形式下载页面,而上载却很少。一
般说来,绝大多数用户只上载简单应答查询。当用户点击We b页面上的一个按钮时,会向服
务器发送一个简单的消息,告诉服务器返回一个图片或文本。例外情况是电子邮件。然而,
即使考虑电子邮件,下载和上载仍为1 0 : 1的比率。
D S L的发明是为了解决随着I n t e r n e t增长而出现的许多特殊问题,特别是容量问题。已有
的P S T N基于如下想法建造:绝大多数对话1 0分钟左右,一般家庭至多有两条线。这种情况允
许中心局( C O是电话术语)的大小按某种比例。也就是说,如果只有1 0 %的用户同时使用电话,
中心局( C O )就只须支持这么多的电话交换。
注意D S L仍不是很完美的。当D S L线路是I S D N线路来的一部分时,线路之间的串扰
就会降低DSL线路的效果。在使用DSL线路之前要与供应商谈妥。
D S L比电缆调制解调器一个让人更感兴趣的好处是其吞吐量维持不变。由于电缆调制解
调器用户要与相邻用户共享电缆段,因此相邻用户越多,所得到的有效吞吐率就越少。由于
D S L是用户和服务提供者之间点到点连接,就不受这个问题的影响。然而, D S L仍受限于中
心局到I n t e r n e t可获得的带宽。
17.1.4 无线网络
许多技术支持无线网络,从蜂窝网络到R i c o c h e t和M e t r i c o m提供纯无线调制解调器技术。
通过位于附近光极(light pole)上的收发器通信, R i c o c h e t允许适当装备的计算机通过无线与
I n t e r n e t通信;但这种通讯方法的不足之处是不安全。
17.2 远程认证拨入用户服务(RADIUS)
远程认证拨入用户服务(Remote Authentication Dial-In User Service,R A D I U S )即R F C
2 1 3 8,为远程用户提供了许多重要的服务。R A D I U S是一个客户机/服务器类型的协议,最初
由L i v i n g s t o n公司在1 9 9 2年开发。毫无疑问, R A D I U S是为了满足为安全设备提供一种加强的
用户认证方法的需要。
第1 7章远程访问协议使用177
下载
R A D I U S已经成为使系统管理员对认证过程更加自信的一个重要组成部分。
R A D I U S配置通常由一个中心数据库服务器和一个或多个拨入服务器组成(参见图1 7 - 4 )。
图17-4 RADIUS客户机服务器模型
数据库中包含三种信息—认证、授权和记账。认证信息使网络能识别系统的用户。虽然
认证信息通常存储在文本文件中,但是R A D I U S服务器能够和口令文件及N I S +进行通信,授
权信息赋予用户对服务器和数据的访问权,如可以对公司内部服务器或电话列表进行访问。
记账信息用于记录用户的访问次数、失败访问次数、连接时间等等。
17.2.1 RADIUS认证
R A D I U S交流信息是非常直接的。一旦用户和
远程访问服务器相联, R A S服务器会提示用户输入
用户名和口令,这个过程使用口令认证协议
(Password Authentication Protocol ,PA P ),R F C
1 3 3 4描述了PA P,或挑战握手认证协议( C h a l l e n g e
Handshake Authentication Protocol,C H A P ),见
RFC 1994。
1. 口令认证协议( PA P )
PA P是一个老式协议,依赖于口令和用户I D。
用户在建立远程连接之后,用户I D和口令对就送到
R A D I U S服务器。如图1 7 - 5所示,访问服务器不断
地发送口令和用户I D至认证服务器,直到这个过程
发生超时。如果读者对安全重视,就不应选择这样
的协议。口令以“明码”传送。换句话说,用户信
178使用第五部分网络服务
下载
内部客户机
内部路由器
I n t e r n e t
内部路
由器
R A D I U S服务器
R A D I U S客户机
防火墙
图17-5 PAP协议互换信息
防火墙
答案在哪里?
使用PA P的R A D I U S客户机
内部路由器
使用PA P的R A D I U S服务器
I n t e r n e t
息没有经过加密处理。这意味着别人可以记录事务,并在以后重复这一过程达到访问用户关
键服务的目的。PA P通常作为回调协议使用,在一些协议如C H A P失败后才使用PA P。
2. 挑战握手认证协议( C H A P )
C H A P的特别之处在于它提供了认证用户更强的方法。C H A P是一个三路握手过程,首先
发一个C h a l l e n g e码到用户并期望用户作出合适的“握手”应答。在用户建立连接之后,服务
器会给客户机发一个“ c h a l l e n g e”报文。客户机使用一路h a s h函数如M D 5计算出应答。客户
机把应答发给服务器,服务器已计算出所期望的应答。如果从客户机发送来的应答与服务器
计算出的应答相吻合,客户机就被允许访问网络。如果应答和服务器计算出的应答不相吻合,
访问就被拒绝。为了保证会话过程不被劫获,可以配置C H A P协议周期性地重新对客户进行认
证。与PA P不一样,认证方控制整个C H A P过程,很少
允许重试。
这种类型的认证能防止重复( R e p l a y )型攻击,如上
一节所讨论的。由于每个C h a l l e n g e不相同,计算出的
每个应答也不相同。应该注意到这个协议依赖于一个
共享的密钥( s e c r e t )。密钥作为h a s h函数的键字(参见图
1 7 - 6 ),所以它应受到保护。C h a l l e n g e值应遵循两个标
准:惟一且不可预测。
C H A P认证方法应该用于对敏感网络资源的访问或
者出于安全考虑时采用。作为事实,和CHAP RFC相比,当使用P P P时实际上已经抛弃了作为
口令协议的PA P。
17.2.2 记账信息
记账信息可以采用多种形式,包括用户I D、口令、访问限制、服务授权以及审查信息。
我们已经熟悉U I D和口令信息。R A D I U S允许加入审查信息。审查信息可以用于确定是否
某个人试图访问其不该访问的信息。也可以利用审查信息来控制何时允许某人访问网络。如
果有一个接待员只要求上午9点到下午5点之间访问网络,就可以设置记账信息来反映这一要
求。任何超过这个限制的访问都不允许。实际上这种方法减少了网络被访问时间,从而增加
了安全性。
通过使用数据库来限制对各种服务的访问可以达到相似的效果。通过输入允许服务列表,
就能阻止对非授权服务的访问。当用户访问没被授权的服务时,会被R A D I U S服务器拒绝。
这是基本的策略管理,并且支持集中式的用户数据库,集中式的用户数据库能够使更新容易。
17.3 用SLIP、CSLIP和PPP传输IP数据报文
已经开发出许多协议用于把信息从一个地方传到另一个地方。协议的选择依赖于功能要
求的大小。以下各节讨论远程访问协议的历史及其现在的状况。
17.3.1 串行线路接口协议(SLIP)
S L I P是用于远程用户和本地主机互联的早期协议。RFC 1055作为信息规范只是由于S L I P
被认为是实际上的标准。S L I P是第一批远程访问协议之一, S L I P提供了到远程网络的I P互联,
第1 7章远程访问协议使用179
下载
图17-6 hashing方法示意图
键字
固定长度的h a s h输出
c h a l l e n g e或应答M D 5
这出现在8 0年代早期。图1 7 - 7显示了伯克利和S u n (升阳)公司操作系统使用S L I P的方式。
图17-7 SLIP协议
S L I P是非常简单的协议,因为设计S L I P时网络还很简单。整个R F C,包括代码,也仅有5
页纸。S L I P所做的全部事情是定义在串行线路上组帧的方式。S L I P没有纠错和检测、寻址、
报文标识或压缩。S L I P的惟一目的是在串行线路上发送报文。
由于S L I P的简单性造成了其低效率,因此在大型网络实现中并不希望使用S L I P。最麻烦
的是在S L I P会话过程中,会话双方必须知道彼此的I P地址。如果不知道,就没法处理路由问
题。在现代网络中,这会成为问题,特别是在基于D H C P的环境中。然而又是S L I P的简单性
使其实现很容易。
S L I P数据报文通常小于1 0 0 6字节,大大低于大多数机器的M TA限制。R F C中关心的另一
个问题是最大调制解调器速率,建议S L I P的连接小于1 9 . 2 K b p s。实际上这是个很好的限制。
更快速度的互联由P P P提供,但P P P要引入额外的错误检查机制。
17.3.2 压缩的SLIP(CSLIP)
C S L I P协议通过使用Va n J a c o b s e n T C P头压缩来减小传输开销,使T C P头从4 0字节减为7个
字节。实质上,压缩采用如游程长度编码那样的机制用一个字符和一个计数值代替由重复字
符形成的字符串。当用户发送大量小报文的时候压缩和不压缩会有很大区别,协议如Te l n e t正
是这种情况。正如名字所指出的, T C P头压缩,对非T C P头如U D P和S N M P没有影响。
17.3.3 点到点协议(PPP)
由于S L I P协议的问题和限制,很显然需要一种新的工具,这就是P P P协议。
RFC 11 3 4在1 9 8 9年由卡内基·梅隆大学的Drew Perkins起草。P P P协议非常通用,它支持
数据报在点到点的链路上和I n t e r n e t上的传输。数据报是一块类似于报文的数据。通过封装数
据报,P P P保持与媒体的无关性并且支持多个非I P协议。诸如U D P / I P,I P X / S P X甚至A p p l e t a l k
这样的协议都可以利用P P P。
1. PPP操作模式
为了确保能支持任何类型的用户会话, P P P内嵌的许多功能提供了不同的操作模式。对应
于连接请求,P P P具有三种基本的操作模式:
• 立即式P P P链路
• 自动检测
180使用第五部分网络服务
下载
S L I P路由器
S L I P T C P / I P
T 1线路
远程客户机
串行线路
电话线
调制解
调器
网络
服务器
企业路由器
• 交互式操作
(1) 立即式链路
正如其名所示,立即式P P P在应答请求后就提供P P P通信。任何认证在P P P协议自身之内
进行。因为必须关闭认证,所以这是一种带有危险性的连接方法。这种方法允许任何人联到
网络。
(2) 自动检测
在自动检测方法中,服务器会在P P P、S L I P、交互式或其他系统配置的协议之中进行选择。
这种方法的好处是多样性。由于能够支持广泛的协议选择,网络能有效地处理升级和迁移问
题。不必slash cutover,就能进行用户和服务的逐渐迁移。slash cutover是指配置所有系统在
同一时间迁移到相同的服务。这就如在深夜里轻拨一下开关,置许多系统管理员于“死地”
一样,因为系统一定是出了一些故障,故障原因通常是V P计算机,并且经常发生在早晨6点
钟。
(3) 交互式操作
对哑终端和必须访问网络的终端仿真用户的支持是其另一个优点。一些数据库访问程序
仍然要求访问合法系统,所以要小心这一功能。
在会话开始时, P P P确定是在进行处理主动会话还是被动会话。主动站点会发送帧来试图
与对等方进行握手过程。配置出向( o u t b o u n d )节点为主动站点是标准过程,而入向( i n b o u n d )节
点既可以配置为主动节点,也可以配置为被动节点。自动检测拨入服务器应该设置为被动的,
以便确定远程节点所使用的线路协议。
为了使P P P成功开始握手过程,一个节点必须是主动节点。注意,不是所有的软件都支持
模式选择。NT RAS是一个被动服务器,然而S u n公司的Solaris PPP是主动服务器。如果使用
的是PPP 2.3,用户就能选择主动模式或被动模式。
P P P通过使用加密控制协议ECP(RFC 1962、RFC 1968)支持加密。P P P支持许多加密算法,
包括D E S。两个端节点必须都要支持加密且必须使用相同的算法。注意,并不是所有的产品
都支持加密,因为加密是P P P的扩展。
和S L I P相比,P P P支持许多服务,包括:
• 同时支持多个协议
• 链路配置
• 错误检测
• 压缩
• 加密
• 网络信息
• 认证
如图1 7 - 8所示,P P P位于协议栈中的数据链路层上,和物理层和网络层接口。
以这种方式使用协议栈,能使P P P支持多协议。比如, I P数据报能封装在P P P帧中,如图
1 7 - 9所示。
I P X也以完全相同的方式进行封装。I P X数据报,不是I P数据报,由支持P P P的数据链路
层处理。这种方式维持了栈的一致性,但却为今天多协议网络环境提供了所需的多样性。
第1 7章远程访问协议使用181
下载
P P P的灵活性也表现在可以修改操作参数上。为了使链路功能达到最大, P P P能设置许多
链路配置参数,如:
• 最大接收单元( M R U )
• 异步控制字符映像(Async Control Character Map,A C C M )
• 认证协议
• 扩展的认证协议( E A P )
• 质量协议
• 魔数
• 协议域压缩
• 地址控制域压缩
• FCS 选择
2. 最大接收单元( M R U )
M R U告诉其他节点,本节点作为接收端时能处理的最大传输单元尺寸不同于缺省的1 5 0 0
字节。应该注意所有的实现要求在任何时候都接收1 5 0 0字节的P P P信息。这个值与连接时协商
的值无关。因为使用压缩协议会使一些类型的数据由于置换算法而增大,所以计算M R U是个
复杂的过程。一些P P P实现以连接速度为基础计算M R U。高于1 . 4 4 M b p s的T 1速度对T C P / I P而
言没有价值。
3. 异步控制字符映像( A C C M )
A C C M在RFC 1662中描述,告诉对方数据流中的什么字符应该“消失( e s c a p e )”以保证不
破坏数据,通过设置能否使用从1 8到I F的3 2个A S C I I码控制字符来完成此功能。通常用于中止
和开始流的控制字符C O N T R O L - S和C O N T R O L - A ( X O N和X O F F )会以奇怪的令人惊讶的方式
破坏数据。
4. 认证协议
认证协议在RFC 11 6 1中描述,用于告诉对等方在开始进一步通信之前需要对方证实自己。
缺省选择是不认证。发送方可以发出一个配置请求报文,指示对方需要使用指定的协议证实
自己。接收方能发送一个无应答配置报文( C o n f i g u r e - N a k )来请求使用另一个协议,如图1 7 - 1 0
所示。
182使用第五部分网络服务
下载
图17-8 具有PPP连接服务的TCP/IP栈图17-9 IP数据报封装进PPP帧并发送到线路上
应用层
表示层
会话层
传输层
网络层
数据链路层
T C P / I P
P P P
串行接口
其他的栈
如I P X
物理层
应用数据栈沿着栈向下移动
帧被发到串行线路上
I P数据报
P P P帧
物理格式
图17-10 认证过程
此时,发送方能中止会话,或发送使用不同认证协议的报文。允许的认证协议包括R F C
1334 PA P、RFC 1994 MD5 CHAP、MSCHAP 、E A P或S PA P。一旦对方发送了配置应答
( C o n f i g u r e - A c k ),本方就必须使用一个上述协议进行回复。
C H A P和PA P前面已描述过,下面会简单地描述剩下的协议。
(1) 扩展的认证协议( E A P )
扩展的认证协议( E A P,RFC 2284、RFGC 2484)是1 9 9 9年之后建议使用的认证协议。
在链路控制阶段( L C P ),P P P建立连接后,才进行认证算法选择。之后,在认证阶段,
E A P与客户机相互协商,获得与特定认证协议相关的信息。E A P的主要优点是具有支持后端
( b a c k - e n d )系统认证和加密的能力。这样使得P P P与R A D I U S服务器或其他基于硬件和软件的
安全令牌更容易集成。
(2) Shiva PA P
Shiva PA P同样也具有使用硬件令牌的功能,但Shiva PA P好像并不把令牌释放到公共域中,
而是把令牌赋给选中的生产商。几乎没有关于Shiva PA P的文档。
(3) MS CHAP
MS CHAP基本上是一般的C H A P,但却使用了不同的h a s h i n g算法。MS CHAP不使用
M D 5,而是使用D E S或M D 4。使用哪一个将依赖于是使用L A N形式( D E S ),还是N T形式
( M D 4 )。两种情况下,应答都是使用D E S。这一点类似于C H A P的标准形式,只是标准C H A P
使用M D 5。
5. 质量协议
P P P一个令人感兴趣的方面是其具有测量服务质量( Q o S )参数的能力。通过告诉对方想要
接收Q o S信息,就能达到监控数据丢失情况和错误率的目的。缺省的设置是“无协议”。提供
的信息是关于链路及其状态的简单统计。
6. 魔数
魔数在Q o S请求、抛弃请求及链路质量报文中使用。这是一个随机选取的数用于节点彼此
标识,并帮助进行错误检测和闭环( l o o p b a c k )检验。缺省设置是“无魔数”。
7. 协议域压缩
协议域压缩执行简单的功能,把1 6位的协议域压缩为8位。最高字节必须为0以保证工作
正确。只有最低字节被传送。缺省情况下不使用这种功能。
8. 地址控制域压缩
另一个压缩域是地址控制域,告诉对等方和这个域相关的固定H D L C值0 x ff和0 x 3 3可以被
第1 7章远程访问协议使用183
下载
配置请求(提供认证协议)
配置请求(不认识此协议)
配置-请求(试一下这个认证协议)
配置请求(认识这个协议)
发证实报信息
忽略。如果是其他值,缺省设置为“ o ff”。在对延迟敏感的应用中(如实时应用程序)可以以这
种方式忽略无用的地址域。最后的效果可以节省报文传输中的几个字节。
9. FCS选择
这里讨论的最后一个选项是F C S选择,这个选项告诉对方,本方想接收非标准的缺省帧校
验序列域。这是一个链路控制协议配置选项,选项一般被忽视,因为并不是在所有的P P P实现
中都可以配置它。这一选项允许对等方协商使用3 2位的循环冗余校验( C R C )而不是通常的1 6
位C R C。
P P P支持一些扩展功能,但这些扩展或者有漏洞或者过时,使用这些选项时应该小心,并
且在可能的情况下使用其他的解决方法。这些选项在RFC 1570、RFC 1663、RFC 1976和R F C
1 9 9 0中有描述。包括:
• 编号模式
• 多链路规程
• 回调
• 连接时间
• 组合
• Nominal数据封装
• 多链路M R R U
• 多链路短序列号头格式
• 多链路端点鉴别
• 独占权
• DCE标识
• 多链路+规程(Multi-Link-Plus Procedure)
• 链路鉴别
• LCP认证选项
17.4 隧道远程访问
在许多情况下,为了把数据从一个网络传送到另一个网络必须使用专门的技术。有时把一
个协议打包到另一个协议之中是件简单的事情,图1 7 - 11显
示了把I P X报文封装到I P中的情况。
原本的协议(在这里是I P X )不具有在互联网络之间传送
数据的功能。为了解决这一问题, I P X报文前附加一I P头,
给出路由器所需的信息,以便指导路由器把报文发送到最终目的地。这是一个常用方法,从
A p p l e t a l k年代就使用这种方法,而且证明这种方法非常有效。
然而,这种解决方法并不是没有缺点。一些应用程序被设计成直接处理自己的原本
( n a t i v e )应用。在上面的例子中,是指Novell Netware。I P的各种实现具有不同的特点,这使得
实现起来不直接。这样的一个例子是在微软网络上运行I P X。在一些M S网络上运行I P X的例子
中,会发生和超时及幻相效应相关的奇怪事情。幻相效应是指网络资源时隐时现的效应。这
种现象一般发生在打印机上,原因是由于网络和打印机驱动程序的不正确分布。
问题就出现在这里。必须保持对细节的特别关注,因为这实际上是使用两个或多个网络
184使用第五部分网络服务
下载
图17-11 IPX报文封装到IP中
D L L
尾
I P X
报文
U D P
头
I P
头
D L L
头
协议来支持用户应用。一个不正确安装或陈旧的驱动程序很难被检查出来且不容易修复。更
重要的一点是使得网络看起来不可靠。
针对这个问题有一些解决方法,并且在过去证明很有效。首先,使用远程管理产品让系
统管理员能安装、管理远程站点。来自Vector Networks (www. v e c t o r- n e t w o r k s . c o m )和
Traveling Software ( www.traveling software.com)公司的产品,提供了额外功能,这些功能并
不是为桌面环境而设计的。这些产品的特征具有远程控制、远程管理、远程软件及硬件报表
功能。通过这些功能可以提供可靠的网络环境,但应注意这些产品有其自身的不足。错误配
置会导致对敏感信息的非授权访问。必须使用强口令,并且管理访问权只赋那些需要的人。
在有些情况,可能需要比较高的安全级。在这些特殊环境下,可以使用加密协议如P P T P
和L 2 T P。
17.4.1 点到点隧道协议(PPTP)
P P T P是A s c e n d通信公司、E C I电话公司、微软、3 c o m以及US Robotics公司共同合作的成
果。这个工作组称为P P T P论坛。P P T P的基础是很好绑定且相互区别的函数。之所以这样做是
因为这样可以使用户和生产商能利用I n t e r n e t的普遍特性。通过支持一种标准,用户可以通过
本地I S P拨号并能够安全地通过I n t e r n e t隧道连接到他们的公司网络。这样可以使公司减少产生
和支持自身远程访问硬件的要求。
这种新的体系结构可以使公司利用I n t e r n e t结构——让I S P做自身擅长的工作:把个人用户
和I n t e r n e t连接起来。之后,公司可以自由地购买连到城域网( M A N )或广域网的设备,通过本
地环路多路分解到达的远程访问连接。对他们而言,远程呼叫看起来像是到另一个I n t e r n e t站
点的连接。图1 7 - 1 2显示了体系结构的区别。
图17-12 使用远程访问设备的网络和一个使用远程ISP和多路复用器、多路分解器的网络
第1 7章远程访问协议使用185
下载
从I S P来的多路复用链路多路复用链路路由器
多路复用链路路由器
I n t e r n e t
网络
I n t e r n e t
网络
公司访问点
I S P提供的I n t e r n e t访问点
远程客户机
远程客
户机
1. PPP 会话汇聚
P P T P是基于客户机/服务器模型的协议,专门设计用于使用P P P和第二层协议通过I P网络
进行隧道传输。P P T P能通过一条P P T P隧道支持多P P P连接。P P T P在I S P模型中可以很好地工
作,在这种模型中,多个远程用户必须导向一个特殊的公司实体(参见图1 7 - 1 3 ),这些隧道通
常称为虚拟私人网( V P N )。
图17-13 PPTP支持多用户
对绝大多数I S P而言,这看起来好像不错,因为P P T P需要带外控制用于T C P端口1 7 2 3,这
个端口由通用路由封装( G R E )协议使用。然而G R E不像T C P或U D P那样普遍,所以许多I S P不
支持它。没有这个连接, P P T P将无法操作。
最常见的实现是在拨入存在点(Point of Presence,P O P )之间提供服务。在这种方式中, I S P
仅提供I P服务,而客户机和私有路由器协商P P T P链路。应该注意并不是所有的P P P软件都支持
P P T P,因为P P T P不是标准协议。微软的视窗9 8和N T操作系统是支持这种服务的一个例子。
在L C P功能完成之后,物理连接就建立了,这时可以认证用户, P P T P依赖于P P P构造数
据报。之后P P T P封装P P P报文,通过I P隧道发送报文。
2. 分离的控制信道
如前所述,P P T P使用两条信道来支持连接:一条数据信道和一条控制信道。控制信道在
T C P端1 7 2 3上运行。这个信道包含与链路状态和管理消息相关的信息。这些管理信息用于建
立、管理、中止P P T P隧道。管理信道使P P T P具有控制数据传输速率的功能。这一功能对如下
两种情况是很方便的: 1) 线路噪声很大;2) 网络拥塞导致报文丢失现象。
封装进I P的数据流在节点之间传输,路由控制由G R E来完成。并不是所有的I S P都支持
G R E,所以需要客户端和服务器建立自己的隧道。
3. 多协议支持
P P T P的另一个特点是支持多协议:如N e t B E U I、I P X,以及还在使用的A p p l e Ta l k。因为
P P T P是一个二层协议,它也包括和媒体相关的头,使它能在以太网或P P P上操作。
4. 认证和保密
加密和密钥管理不是P P T P规范的一部分。P P T P依赖于P P P提供的认证协议并且依赖于
P P P对数据进行加密。为了加强P P P / P P T P的保密性,微软引入了一种新的加密方法称为微软
点到点加密算法,这个算法以RSA RC4加密标准为基础。
P P T P使用C H A P、PA P、E A P及P P P支持的M S - C H A P进行认证。
186使用第五部分网络服务
下载
汇聚的P P T P链路
R A S服务器
I n t e r n e t网络
公司网
P P P客户机
P P P
5. PPTP隧道类型
P P T P能支持一些基本的隧道连接配置,如前面所述。隧道类型依赖于一些能力。首先也
是最重要的是I S P支持G R E的能力,G R E是P P T P的要求。其次是客户机支持P P T P连接的能力。
用户的计算机会决定隧道的端点;端点可以是I S P的远程访问服务器( R A S )也可以是其自身的
计算机。这两种连接类型分别称为主动隧道(voluntary tunnel)和被动隧道(compulsory tunnel)。
(1) 主动隧道
在主动隧道中,用户初始化至公司计算机的P P T P连接。然而,这意味着用户必须有一个
可操作的P P T P客户机,如视窗9 X或N T操作系统提供的一样。在这种情况下I S P只需提供基本
的I P服务(如图1 7 - 1 4所示)而无需提供其他任何服务。
图17-14 用户通过Internet和服务器的PPTP连接
在I S P提供R A S服务器的情况下,客户机无需P P T P客户程序;只需一个P P P客户程序。在
被动隧道中,用户连接到I S P的R A S服务器,但却不控制隧道(见图1 7 - 1 5 )。在绝大多数情况下,
用户甚至不知道P P T P隧道的存在。
图17-15 被动隧道
(2) 被动隧道
被动隧道又分成两个子类:静态的和动态的。静态隧道使用指定的设备,也被称为基于
域的,或手工的隧道。一个域是用户名的一部分并与用户的域联系起来。R A S服务器会使用
这个信息确定P P T P连接的终点位置。R A S服务器必须手工配置来支持这种连接类型。这种类
型的优点是公司可以控制用户使用I n t e r n e t的情况。这种方法允许用户连接到公司的内部网以
第1 7章远程访问协议使用187
下载
P P T P链路
P P T P客户机
公司
RAS PPTP服务器
I n t e r n e t网络
汇聚P P T P链路到网络
P P P客户机
P P P
I n t e r n e t网络
通过公司网回访I n t e r n e t
R A S服务器
公司网
使用其服务。访问I n t e r n e t要通过公司网络参见图( 1 7 - 1 5 )。
动态隧道更有效,因为隧道只是在需要时才存在。R A S服务器连接到一台R A D I U S服务器
以便获得用户信息。隧道以用户存储的信息为基础构造。与使用和访问控制有关的信息存储
在R A D I U S服务器中,由R A S服务器在需要时获取。
被动隧道的另一个好处是其具有汇聚流量的功能。多个P P P客户机能组合成一条至公司内
部网的P P T P连接,因而降低了带宽要求,节约了相关成本。
被动隧道的一个缺点和安全相关。从客户机到R A S服务器的链路不安全。然而,对于使
用主动隧道的用户,也存在安全问题,因为没有方法可以阻止用户连接到I n t e r n e t下载一段恶
意的代码。之后,再连接到公司网络上。
安全性是一门系统科学,必须在系统级找到解决方案。单纯的依赖于技术不能防止安全
漏洞。
17.4.2 两层隧道协议(L2TP)
L 2 T P与P P T P在许多方面有非常相似之处。它结合了P P T P和C i s c o的二层转发( L 2 F )。
L 2 T P胜过P P T P的地方是L 2 F不依赖于G R E。这意味着L 2 T P兼容于其他媒体类型如AT M或其
他基于报文的网络如X . 2 5。但是,规范必须要说明L 2 F报文的处理过程。最初的工作使用U D P,
把L 2 F置于P P T P后面。
1. L2F
和P P T P使用方式相似,L 2 F使用P P P作为初始连接和服务(如认证)的提供者,和P P T P不一
样,一开始L 2 F就使用终端访问控制器访问控制系统( TA C A C S )。TA C A C S是另一个必要的服
务。TA C A C S是C i s c o的私用协议,为其路由器产品提供认证、授权和记账功能。TA C A C S有
一些限制,这将在本章后面讨论。
L 2 F也利用隧道连接概念,使其在L 2 F连接之内支持多条隧道。在加强安全级别的努力中,
L 2 F支持额外的认证级。不仅仅在P P P级别认证,L 2 F还加入了在公司网关或防火墙一级的认证。
L 2 T P规范阐述了L 2 F的优点。L 2 T P使用相同的方法通过P P P支持远程用户。利用L 2 F工作,
L 2 T P使用自己的隧道协议。当用户考虑迁移到AT M和帧中继网络时,这个特性非常重要。
2. 认证
和P P T P一样,L 2 T P支持通过P P P的认证。使用PA P、C H A P及E A P建立到R A D I U S服务器
的连接, L 2 T P和P P T P具有相同的效果。为了加强这一级的效果, L 2 T P加入了TA C A C S、
TA C A C S +以及基于I P S e c的服务。
3. IPSec支持
I P S e c区别于其他服务之处在于I P S e c是一个开放规范,它不仅支持认证,同时也支持保密。
I P S e c是比简单P P P模型更强的安全实现方法。从图1 7 - 1 6可以看出, L 2 T P具有支持公共密钥
结构( P K I )的功能,L 2 T P利用了L D A P和强认证服务。简而言之, P K I是一种管理公钥及其所
支持证书的方法。I P S e c支持使用许多不同的认证和加密工具,如P K I依赖的非对称加密算法。
虽然,本章会讨论这些安全机制,然而P K I超出了本章范围,不在这里作讨论。
和P P T P一样,L 2 T P依赖于P P P建立连接。L 2 T P希望P P P建立物理连接,执行初始认证过
程,构造P P P数据报,并且在中止时,关闭连接。其他就没有相似之处。L 2 T P会和其他节点
通信确定呼叫节点是否被授权,端节点是否希望支持L 2 T P连接。如果是否定的,会话过程就
188使用第五部分网络服务
下载
被中止。
图17-16 L2TP和PKI
和P P T P一样,L 2 T P定义了两种不同类型的消息:控制消息和数据消息。控制消息用于建立
和维护隧道并且控制数据的发送和接收。和P P T P需要两条信道不
一样,L 2 T P把数据和控制信道组合成一条数据流。在I P网络中,
就是把数据和控制封装进一个U D P报文,如图1 7 - 1 7所示。
有效数据实际上是P P P报文减去和媒体相关的帧元素。因为
L 2 T P是2层协议,必然包括媒体头以指示下一层如何传输报文。这可以是以太网、帧中继、
X . . 2 5、AT M或原始的P P P链路。如读者所见,非常多样。
为了减少网络拥塞, L 2 T P支持流控。流控在L 2 T P访问集中器( L A C )和L 2 T P网络访问服务
器( L N S )之间实现; L A C的功能是作为网络访问服务器, L N S提供对公司网络的访问。控制消
息包含与传送速率和缓冲参数有关的信息。通过交换这些信息L A C和L N S能调整数据流,达
到控制拥塞的目的(见图1 7 - 1 8 )。
图17-18 LAS和LNS
第1 7章远程访问协议使用189
下载
内部客户机
内部路
由器
L D A P和证
书服务器内部路由器
防火墙P P T P
服务器
R A D I U S服务器
R A D I U S客户机
I n t e r n e t
图17-17 封装数据和控制
U D P
尾
L 2 T P
头
P P P
头
I P有效
数据
通过I n t e r n e t连接
公司网
L N S
L A C
P P P
P P P
客户机
I n t e r n e t
网络
L 2 T P实现的另一个减小网络开销的方法是压缩报文头。读者能想起P P T P具有相似的功能。
和P P T P相似,L 2 T P也支持两种连接类型—主动隧道和被动隧道。
在主动隧道中,用户从本机初始化L 2 T P连接。然而这意味着用户必须有一个能操作的
L 2 T P客户程序。在这种情况下I S P只需提供基本服务(见图1 7 - 1 9 )。
图17-19 用户到服务器的L2TP主动隧道
在I S P提供L A C的情况下,客户机不需要L 2 T P客户程序;而只需要P P P客户程序。在被动
隧道中,用户联到I S P的L A C,但对隧道没有控制权(见图1 7 - 2 0 )。在绝大多数情况下,用户甚
至不知道隧道的存在。
图17-20 通过ISP LAC的被动隧道
被动隧道有两个子类:静态的和动态的。静态隧道使用指定的设备。这种使用方法不利
于使用资源,因为即使当隧道不再需要时,也不能使用设备。而且, L A C必须手工配置来支
持这种连接类型。
动态隧道更有效一些,因为隧道只是在用户需要时才建立。L A C从认证服务器( 如
R A D I U S或TA C A C S服务器)获得用户信息。被动式动态隧道与认证服务器一起使用会带来很
大好处。隧道可以基于用户信息如电话号码和认证方法来定义。认证方法包括令牌和智能卡。
在安全管理和金融事务中,可以执行额外的检查和记账处理,审查信息是部门变化之后仍使
用原来服务的基础或者帮助协商I S P的速率。
这一优点与上一节描述的一样。用户连接到公司内部网以便得到相应服务,如果允许,
190使用第五部分网络服务
下载
L2TP LNS
L 2 T P链路I n t e r n e t网络
公司网
P P T P
客户机
汇聚的L 2 T P链路
P P P客户机
P P P
L A C
L N S
I n t e r n e t
网络
对内部服务的访问
公司网
还可以通过公司网络访问I n t e r n e t (见图1 7 - 2 1 )。
图17-21 到Internet的被动L2TP连接
使用被动隧道的优点是流量汇聚。多连接能组合到一条L 2 T P隧道连到公司的内部网,这
样带宽利用率更高,费用更低。
必须清楚被动隧道的缺点是从客户机到L A S服务器的链路不安全,因为它仅使用简单的
P P P链路。如前所述,使用主动隧道的用户也有安全问题。因为无法阻止用户联到I n t e r n e t,
下载一段恶意代码,之后再联到公司网络。
和P P T P实现中的情况相同,安全性是一门系统科学,必须在系统一级找到解决方法。不
能仅仅依赖于技术提供安全性。忽略文化上的问题和解决方法不会杜绝安全漏洞的出现。
L 2 T P通过I S P的认证,比P P T P使用的认证复杂。在和I S P的初始联系过程中, I S P使用以
下三个元素之一标识用户:
• 呼入的电话号码
• 被呼叫的电话号码
• 用户名或I D
这一步完成之后, ISP LAC会产生一个新的呼叫I D标识隧道内的会话,并把信息转发到
公司网络的L N S上(参见图1 7 - 2 2 )。
图17-22 L2TP认证过程
之后,公司网络负责检查提供的信息并决定是否接受还是拒绝连接请求。如果接受呼叫
请求,下一步是P P P认证。虽然端点已经被标识和认证,需要格外注意消息仍以名文传送。任
何运行的监听程序都能劫获用户数据。同时,报文也能插进报文流来试图迷惑或误导接收方。
通过提供保密机制, I P S e c能解决这一问题。
P P P提供加密,但是P P P使用共享的密钥来对数据进行加密。双方必须知道这一密钥才能
第1 7章远程访问协议使用191
下载
汇聚的L 2 T P链路
P P P客户机
P P P
L A C
I n t e r n e t L N S
网络
通过公司网到
I n t e r n e t的连接
公司网
用户初始化和I S P的连接
I S P向L N S发送信息
L N S回应ISP ACK
L N S进行用户认证
用户发送认证信息
用户建立和L N S的P P P链路
工作。这意味着必须使用带外方法进行密钥分发。L 2 T P隧道认证也是这样。而且,即使使用
P P P加密,L 2 T P也不保护控制信息。I P S e c能解决这一问题。
17.4.3 IPSec
由于T C P / I P实际上不提供任何保护机制,因此过去这些年出现了许多方法来弥补这一不
足。然而,这些方法不具有跨平台能力,也不能可靠地工作。为了解决这一问题, I E T F设计
了一组协议,即I P S e c。虽然本节不讲述虚拟专用网( V P N ),但是L 2 T P能非常有效地利用大量
I P S e c函数,所以本节会简要地看一下I P S e c特性。
I P S e c最初设计用于I P v 6标准的出现,在1 9 9 5年出现的RFC 1825-1829讨论了如何在I P数
据报上进行认证和加密。之后不久,这些R F C被修改,解决Internet IPv4地址模式问题。这些
规范把解决方案分成两类:
• 认证
• 加密
认证部分由认证头( A H )标识,加密部分由封装安全数据( E S P )标识。每一种功能由不同的
头表示,如图1 7 - 2 3所示。
图17-23 IPSec报文头信息
1. 基于标准的加密
一起使用时,两个功能可以提供认证和保密。除了认证和保密之外,不像到目前为止讨
论的其他认证, I P S e c也能提供数据完整性功能。数据完整性是指确定数据在传输过程中是否
192使用第五部分网络服务
下载
ESP IPv4
ESP IPv6
IPv4 AH
IPv6 AH
I P头
I P头
I P头
I P头跳路由
信息
A H头目的地选项T C P 数据
P a y l o ad
A H头T C P 数据P a y l o a d
E S P头
加密的
加密的
认证的
认证的
认证的
认证的
跳路
由信
息
E S P头T C P 数据
P a y l o a d
E S P尾
E S P
认证
T C P
数据
P a y l o a d
E S P尾
E S P
认证
被修改过。如果这些数据恰好是公司合同或用户的工资存单,数据完整性就是很重要的,
为了确保兼容性,I P S e c标准建造于许多密码标准之上:
• D-H 或D i ff i e - H e l l m a n n,用于密钥交换。
• 公钥密码算法,用于D - H密钥交换签名。
• DES 加密。
• MD5、S H A以及H M A C (基于H a s h的消息认证码),用于带密钥的h a s h算法。
• 数字证书。
这种方法的主要强大之处是其多样性。一个新算法开发出来之后可以插入I P S e c体系结构
中,如图1 7 - 2 4所示。
图17-24 IPSec体系结构
2. 建立安全联合
为了开始安全通信过程,双方必须建立一个安全联合( S A )。虽然有建立安全通信信道的
缺省设置,但I P S e c提供了不同密钥值、算法及计时设置协商功能。为了对各种值进行解释,
I P S e c使用解释域( D D I )概念来标准化这些元素。这样使得建立S A更容易。S A确定以下各项:
• 认证算法模式以及A H中使用的密钥。
• 加密算法模式以及E S P中使用的密钥。
• 密码同步参数。
• 通信认证过程中使用的协议、算法和密钥。
• 通信私有过程中所有的协议、算法和密钥。
• 认证和私有密钥交换的频率。
• ESP使用的认证算法、模式、转换和密钥。
• 密钥生命周期。
• SA生存时间。
• SA源地址。
3. 认证
第1 7章远程访问协议使用193
下载
A H协议E S P协议
认证算法加密算法
密钥管理
D O I
A H提供了一种很强的认证报文发送者及其包含信息的方法。使用密码h a s h函数产生一个
校验和,校验和与其他控制信息一起插到I P头和其他报文头之间(见图1 7 - 2 3 )。
4. ESP
由于A H所做的全部工作就是验证报文的发送者以及报文没有被修改过, A H不能防止内
容被监听。这就是提出E S P的目的, E S P会在I P头和报文其他部分之间插入自身信息,这个信
息使用安全参数索引( S P I )进行了加密。应该注意许多不同的操作模式会产生令人感兴趣的功
能。其中一个操作模式是隧道(见图1 7 - 2 5 )。
图17-25 隧道化IPSec
5. 隧道
在隧道模式中,整个报文被加密、被认证,并且报文前面加上中介网关如防火墙的地址。
这样可以防止目的地址暴露给偷窥者。
正如读者所看到的, I P S e c对P P T P或L 2 T P安全性进行了很大的改进。然而,现在产品中
I P S e c仍然不长见。
17.5 小结
有许多方法可以把远程用户和本地局域网连接起来。S L I P、P P P、P P T P以及L 2 T P提供了
不同程度的功能和保护。
P P P提供了连接到服务器所需的基本服务,并且比早期的S L I P功能强很多。P P P具有控制
链路和支持多协议功能,成为优于S L I P的远程连接选择。S L I P,功能简单,可能适合于指定
的终端连接但S L I P缺少P P P的健壮性和多样性。
为P P P增加功能, P P T P使I S P和公司能更有效地利用I n t e r n e t。通过支持更多的协议,
P P T P能使内部网服务扩展到家庭和远程用户的膝上电脑。利用远程认证机制如PA P、C H A P
以及R A D I U S,P P T P增强了组织对使用网络资源用户的控制。
再为P P P添加上功能, L 2 T P在使用I n t e r n e t资源及其相关的、多样化的介质时,组合了许
多最好的协议。通过使用强的安全模型如I P S e c,L 2 T P更好地限制了远程访问客户机的能力。
为网络加上更多的功能,必须有新的方法来适应,以保证这些功能不被错误使用或滥用。当
人类进入新千年时, L 2 T P有希望支持这些功能,并有希望支持I P v 6。