Cisco VPN完全配置指南

978-7-115-29375-6
作者: 【美】Richard Deal
译者: 姚军玲郭稚晖
编辑: 傅道坤
分类: 安全

图书目录:

详情

本书提供了VPN专家级解决方案,分为6个部分,涵盖了VPN技术的方方面面和Cisco相关产品的特性及应用,本书在介绍技术的同时,融入了作者的实际工作经验,并提供了故障诊断与排除方面的案例,极具参考价值。

图书摘要

版权信息

书名:Cisco VPN完全配置指南

ISBN:978-7-115-29375-6

本书由人民邮电出版社发行数字版。版权所有,侵权必究。

您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。

我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。

如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。

• 著     [美] Richard Deal

  译    姚军玲 CCIE#11470 郭稚晖

  责任编辑 傅道坤

• 人民邮电出版社出版发行  北京市丰台区成寿寺路11号

  邮编 100164  电子邮件 315@ptpress.com.cn

  网址 http://www.ptpress.com.cn

• 读者服务热线:(010)81055410

  反盗版热线:(010)81055315


Richard Deal: The Complete Cisco VPN Configuration Guide (ISBN:1587052040) Copyright ◎ 2006 Cisco Systems, Inc.

Authorized translation from the English language edition published by Cisco Press.

All rights reserved.

本书中文简体字版由美国Cisco Press授权人民邮电出版社出版。未经出版者书面许可,对本书任何部分不得以任何方式复制或抄袭。

版权所有,侵权必究。


本书提供了VPN专家级解决方案。全书共分为6个部分,涵盖了VPN技术的方方面面和Cisco相关产品的特性及应用。第一部分介绍了VPN的概念及主要相关技术,包括IPSec和SSL VPN。第二部分详细介绍了集中器产品,并且讨论了站点到站点和远程访问的连接类型,重点在于IPSec和WebVPN。第三部分讨论了Cisco VPN客户端及3002硬件客户端。第四部分介绍了Cisco IOS路由器,讨论了可扩展的VPN,包括动态的多点VPN、路由器证书授权和路由器远程访问方案。第五部分解释了Cisco PIX和Cisco ASA安全设备以及它们在VPN连接方面的作用,包括远程访问和站点到站点的连接。第六部分通过一个案例展示了真实的VPN解决方案。本书在介绍技术的同时,融入了作者的实际工作经验,并提供了故障诊断与排除方面的案例,极具参考价值。

本书适合想要全面、综合了解VPN技术的网络技术人员,也适合想要进一步了解网络安全核心知识的网络专业人员。对于想参加Cisco相关认证考试的考生,本书也不失为一本很好的参考书籍。


Richard A. Deal在计算机与网络行业有20余年的从业经验,先后从事过网络互联、培训、系统管理与编程等工作。除了拥有格罗夫城市学院的数学与计算机科学学士学位之外,Richard还持有Cisco的多项认证。在过去的8年,Richard一直在运营自己的The Deal Group Inc公司。

除了讲授各门Cisco认证课程之外,Richard还著作并出版了多本图书。Richard近期在Cisco Press出版的《Cisco Router Firewall Security》被列入Cisco CCIE安全系列推荐阅读书目中。Richard也是《CCNA Cisco Certified Network Associate Study Guide(Exam 640-801)》、《Cisco PIX Firewalls》和《CCNP BCMSN Exam Cram2(642-811)》等图书的作者。

Richard现在正积极为Boson(http://www.boson.com)编写Cisco认证自测试题,而且已经为CCSP认证编写了很多自测试题。Richard目前和他的妻子Natalya、女儿Emily居住在佛罗里达州的奥维多市,该市就在奥兰多城外。


Pete Davis自从能够走路起,就一直与计算机和网络打交道。在15岁时,他就成为一家Internet服务提供商最年轻的专业网络工程师之一,而且还是该提供商的首批雇员。Pete曾经实施了新英格兰最大的消费者Internet服务提供商TITC(The Internet Access Company)的系统与网络,并负责其维护工作。在1997年,Pete以产品专家的身份加入Shiva公司。自1998年以来,Pete一直在Altiga网络公司工作,该公司位于马萨诸塞州的富兰克林市,是一家VPN集中器生产商。该公司在2000年3月29日被Cisco公司收购。作为产品线管理人员,Pete负责推动VPN相关的新产品和新特性的开发工作。

Stephen Marcinek,CCIE #7225,是Cisco教育培训合作伙伴Boson Training的一名技术讲师,他开发并发表了很多与Cisco网络和安全相关的课程,其内容从简介性知识到CCIE级别的知识,不一而足。Stephen还为许多大型机构提供咨询服务。他持有罗格斯大学的学位学位,并且是门萨协会的一名成员。

Mark Newcomb,CCNP、CCDP,是一位已经退休的网络安全工程师。Mark在网络行业有20多年的从业经历,主要关注于金融和医疗行业网络。Mark还是Cisco Press出版的图书的供稿人和审稿人。


谨将本书献给我的家人:我的妻子Natalya、我的女儿Emily Alina。生活中因为有了你们,才变得快乐、幸福。你们的出现,让我的人生变得完整。


特别感谢本书的技术审稿人:Pete Davis、Mark Newcomb,尤其是Steve Marcinek。我与Steve相识已久,而且私交甚笃,他是我的同事,但更是我的好友。

特别感谢本书的出版团队。他们是Raina Han、Brett Bartow、Sheri Cain、Mary Beth Ray、Jim Schachterle、Michelle Grandlin、Jill Batistick、Rozi Harris。他们表现出来的专业让我敬佩,与他们共事也很愉快。我想,应该不会有比他们更出色的出版团队了。


多年来,Cisco在网络行业方面一直是非常重要的组成部分,在企业网络方面还会继续扮演关键的角色。我所用的第一个路由器产品,还要追溯到1993年,它是Cisco的AGS+产品。我已经看到IOS的许多特色,其中包括您今天在Cisco IOS操作系统中看到的许多安全特性,例如IPSec。在过去的几年中,我看到安全在网络设计中正在成为一种重要的组成部分。目前随着越来越多的公司将Internet作为一种业务工具,安全特别是VPN的使用变得越来越重要。

4年前,我意识到有许多认证图书可帮助人们通过Cisco的安全认证考试,然而,我发现没有任何图书将Cisco的安全特性总结在一起并且应用到实际的生活场景中。我一直都在注视Cisco的新闻发布组,并且一直关注着如何实施各种Cisco安全特性方面的问题。这成为我第一本安全图书(即Cisco PIX Firewalls,由McGraw-Hill/Osborne出版)的基础。

作为一名安全方面的专家,大家总是问我一些关于设计、实施和调整VPN等Cisco产品方面的问题。因为我总是一再看到这些相同的问题,于是我决定将这些信息收集在一起,写成一本用Cisco产品构建VPN的指南。这本书的目的就是告诉读者如何使用具有VPN能力的Cisco系列产品构建VPN,包括下面这些产品:

由于这不是一本关于认证的图书,而是一本关于“如

何做”的图书,所以我在书中包括了下面这些方法,来帮助读者实现“如何做”的过程:

本书的主要目的就是提供用Cisco产品实施VPN的必要框架。请记住,这是一本关于“如何做”的图书。虽然通过使用本书,其他的目标也可以完成,比如准备Cisco的CCSP SNRS、SNPA、CSVPN和SND的考试,但写这本书的主要目的是:如何用具有VPN能力的Cisco产品实施VPN。

本书假设您已具备下面这些基本知识:

我在本书中所讨论的其他Cisco产品,例如VPN3000集中器,则假设读者知之甚少。然而,我会假设读者对Cisco的产品有中级到高级的知识,至少应当具有Cisco CCNA级别的水平,才能理解并且更好地使用在本书中提供的资料。

本书关注的是使用VPN在设备之间或者网络之间提供安全的连接,对于当前必须使用Cisco产品实施VPN的任何网络管理员或者工程师而言,本书会非常有用。

本书可以逐页阅读,也可按需阅读,读者可在各章之间、每章的各节之间随意翻阅,只查找您感兴趣的资料。不过,每一部分和每一部分的每一章,都以其他部分或章节为基础。本书共分6个部分。每一部分涉及Cisco产品的一个重要的VPN组件。本书各章涵盖的主题如下。

我原来还计划在本书中论及几个其他主题,如IOS路由器的安全设备管理器(SDM)、PIX与ASA安全设备的自适应安全设备管理器、Cisco Works VMS的VPN路由器管理中心。但由于篇幅所限,本书将这些内容进行了压缩。因此本书在讨论VPN配置时重点关注每种产品的主要接口类型,如IOS路由器的CLI。另外,本书讨论的许多故障诊断与排除主题对Cisco的所有VPN产品都适用;因此本书在某些章节有选择性地挑出了某些问题加以讨论,尽管这些问题是特定的VPN实施类型通常会遇到的,如IPSec。

本书中讨论到的许多特性只在特定产品的不同软件版本上才得以支持。为了了解某个特性是否在某个特定产品平台或者软件版本上获得支持,请在http://www.cisco.com/go/fn 上使用Cisco特性导航器进行查询。您需要有一个CCO账户来使用这个特性。

要想了解Cisco产品和软件版本在产品安全建议和通知方面的列表,请访问http://www.cisco.com/en/US/products/products_security_advisories_listing.html

提示:


强烈建议在VPN产品上装载某个特定的软件版本之前,先去认真地查看这个列表。

本书命令语法遵循的惯例与IOS命令手册使用的惯例相同。命令手册对这些惯例的描述如下。


第1章 VPN概述

第2章 VPN技术

第3章 IPSec

第4章 PPTP和L2TP

第5章 SSL VPN


这一章介绍了虚拟专用网(VPN)的概念和为什么使用它们。我考察了业务量通过公网发送时产生的问题,以及VPN如何做才可以保护这些流量。我介绍了VPN的连接方法、VPN的类型、当使用VPN时要考虑的事情、VPN的组件、VPN的设计和问题、VPN实施的例子和选择一个VPN实施类型时要考虑的问题。本书其他章节扩展了这里谈到的这些主题。

VPN最初开发的主要目的是处理将明文数据通过网络进行传输时的安全问题。明文数据指的是可以被任何人检查和理解的信息,这包括源、目标和中间人。发送明文流量应用的例子包括Telnet,通过FTP或者TFTP的文件传输协议,使用邮局协议(POP)或者简单邮件传输协议(SMTP),以及其他协议的电子邮件。不道德的个人,例如黑客,可以利用发送明文数据的应用程序来执行下面类型的攻击:

每种类型的攻击都可以暴露您的数据和公司的资产,使其处于不同的危险程度。下面的3小节更深入的讨论了这些攻击。

针对明文数据的最常见的攻击类型是窃听(eavesdropping)。在窃听攻击中,当数据包通过两台设备传输时,数据包的内容可以被人检查。某些类型的应用程序和协议易于受到窃听攻击,包括Telnet、POP、HTTP、TFTP、FTP、简单网络管理协议(SNMP)等。

在所有上述应用和协议中,用户名和密码之类的认证信息,都是在两台设备间以明文格式传送的,黑客可以使用这种信息来执行访问和实施其他类型的攻击。

注意:


即使某些协议可能以明文的形式发送信息,在许多情况下,它们至少有最低限度的验证方法来使得在某人访问资源之前验证个人的身份。例如,Telnet、POP和SMTP这些应用也考虑了认证问题,即使这些验证信息是以明文的形式发送的。实际上,这些协议初始不是为安全设计的,而是为了解决某些连接性问题。然而,自这些应用程序从20世纪70年代、80年代和90年代初期发展以来,特别是Internet的使用激增,使得事情发生了改变。

一、窃听工具

通常情况下,一台协议分析仪可以用来检查(窃听)数据包。分析仪可以是基于硬件的解决方案或者是一台具有混杂网络接口卡(NIC)和相应软件的PC机。为了让这种类型的攻击奏效,攻击者必须对实际的源和目标设备之间的连接具有访问的能力。

主要有两种类别的协议分析仪:通用的和攻击型的。一台通用的协议分析仪能捕捉所有它看得见的数据包,并且通常是使用一种诊断工具来进行故障诊断与排除。市面上有许多基于软件的协议分析仪,采用免费软件就可以完成这一操作。

另一方面,攻击型协议分析仪是一台增强型的通用协议分析仪。攻击型的协议分析仪查看应用程序和协议的某些类型来寻找认证、金融和安全信息。一个攻击者将使用这些特定信息来执行其他类型的攻击。

二、窃听解决方案

敏感的信息包括信用卡信息、个人信息、社会保险号码、电话号码和地址、用户名和口令以及专利信息。因为许多协议和应用程序在传输敏感信息的时候是不安全的(他们将信息以明文的形式发送),所以保护信息非常必要。一种解决方案是利用令牌卡使用一次性口令(OTP)。这可以防止某些人使用协议分析仪来捕捉口令信息而执行访问攻击。然而,这种解决方案只对口令攻击有效;其他类型的在明文连接上传输的信息都不被保护。

对于公司来说,在电子商务环境下保护信用卡信息的最通常的解决方案是使用具有SSL加密的HTTP(HTTPS)来加密特定用户的信息。对于合作伙伴的访问,通常采取的一种方式就是实施加密的VPN。加密可以将明文的信息变成随机的字符串;只有目标设备可以解密这些信息。加密可以以下面的两种方法来实施:

加密通常用于穿过公网的外部连接。然而,对于某些类型的敏感数据,您可能想在它穿过您的内联网时加密数据。在这两种解决方案中,您将会看到,数据包的负荷加密是VPN解决方案中的一种最常使用的方法。其原因是在许多情况下,数据必须传过多跳,因此数据包的负荷加密是最具有扩展性的:只需两台设备处理加密/解密的过程,而中间设备只是发送加密的数据。

一个伪装攻击就是一个个体隐藏其身份,甚至会假冒别人的身份。在网络环境下,这是通过改变数据包中的源地址信息来实现的。在TCP/IP协议族中,这通常被称为欺骗(spoofing)。使用欺骗的攻击者通常会把这种攻击和拒绝服务(DoS)攻击或者非授权访问攻击组合在一起。

一、伪装工具

不像窃听攻击,许多类型的工具可以用来实现伪装攻击。为了修改数据包中的源IP地址,需要一个特殊的数据包产生程序。这就让黑客能够指定数据包所用的源地址,而不是使用与黑客的PC NIC相关联的IP地址。

一个攻击者通常会试图使用一个授权的外部源地址来屏蔽数据包过滤器。当然,任何返回的流量都会返回到实际授权的外部地址,而不是返回到攻击者。为了看到返回的流量,攻击者将会把这种攻击和路由选择攻击结合起来,这就使得返回流量可以重定向到攻击者。为了实施一个简单的DoS攻击,攻击者试图使用一个内部的源地址,而数据包过滤器通常会允许它通过一种防火墙系统。

注意:


在第2层的网络中,黑客可能使用ARP欺骗来将两台设备之间的流量重定向到黑客的设备。

二、伪装解决方案

当然,使用一个强壮的防火墙系统来限制进入到您的网络中的数据包的类型是必需的。然而,一个防火墙系统将允许流量是从授权的外部系统而来,即使它是VPN的流量。因此,某种类型的数据包的验证检查是必需的。例如,您需要决定数据包是否来自一个合法的源,而不是来自执行伪装攻击的黑客。

最通常的解决方案是使用一个数据包的完整性检查系统,它是通过散列函数来实施的。散列函数允许用户验证传输的数据包的源。因为散列函数使用具有共享密钥的单向散列,只有具有共享密钥的设备才能建立并验证散列值。VPN中,最通常使用的散列函数是MD5和SHA。

注意:


数据包的验证在这章后面的1.3.4小节中还要讨论,而散列函数在第2章中将讨论。

一个中间人攻击可以采取许多形式,包括下面最常用的两种:

使用会话回放攻击时,攻击者位于两台设备之间,捕捉来自会话中的数据包。攻击者将试图在以后使用捕捉到的数据包来回放(重新发送)它们。攻击者的目标就是使用相同的数据包来获取对远端系统的访问。在某些情况下,攻击者会改变数据包的内容来协助这一过程。

图1-1中的这幅图形解释了一个例子。在步骤1中,用户发送流量给真实的服务器。在步骤2中,攻击者截取了从用户到真实服务器的流量(假设它是一个Web会话)。通常,一个攻击者要么会用自己的源地址而不是真实的目标地址来仿冒DNS的回应包,这也是一种伪装攻击,要么与一种重路由选择攻击结合起来,仿冒数据包。如果攻击者能够访问源和目标之间的链路,攻击者可以很容易地使用协议分析仪来检查这个数据包。在这个例子中,假设攻击者正在使用重定向攻击,所有的流量都会发送给攻击者。攻击者伪装成真实的服务器,而且发送响应给用户PC,甚至可能是恶意的Java或者ActiveX脚本,来捕捉任意用户特定的敏感信息。在这个例子中,攻击者会把用户原始的流量进行重定向,并且发送响应给真正的目标,如步骤3所示。

图1-1 会话回放攻击

在一个会话截获攻击中,攻击者试图将自己插入到已有的连接中,接着控制两台设备之间的连接。图1-2解释了一个会话截获攻击。

图1-2 会话截获攻击

为了执行这种攻击,攻击者不得不执行伪装,攻击者假装是源和目标设备。而且,攻击者必须对源和目标设备之间流动的数据包具有访问的能力。本质上,这看起来像图1-2的上部分所示。

另一方面,图1-2的下面部分更具有代表性,表明会话截获攻击是如何发生的。在这个例子中,当设备A发送流量给设备B时,攻击者截取了流量并且假装是设备B,他给设备A发送响应,发送的信息类似于设备B发送的信息。从设备A的角度来看,他认为自己实际上是和设备B交互的。攻击者也使用同样的过程和设备B交互。当数据流在设备A和设备B之间来回流动时,攻击者将会执行数据操作攻击——修改两台设备之间的数据来实施实际的会话截获攻击。攻击者使用这个过程来了解两台设备的信息,包括其安全弱点。

对于UDP和ICMP之类的协议,实施会话截获攻击对于黑客来说是非常简单的过程,这是因为没有相应的机制来定义连接是如何维护的。对于TCP,特别是TCP的定序过程,会话截获则会难一些。序列号应当是随机的,对于黑客来说去猜测下一段的序列号是非常困难的事情。因此,截获TCP会话是一件很困难的事情。然而,并不是所有的TCP应用程序都使用随机的序列号。在许多情况下,基于现有连接中过去的序列号去猜测现有的序列号是一件非常容易的事情。一名有经验的黑客可以将自己插入到现有的TCP的连接中。当然,这不是一个简单的过程。黑客需要执行许多步骤并且使用某些复杂的工具来实施攻击。

一、中间人攻击工具

攻击者通常会使用一种攻击协议分析仪来捕捉上述所描述的两种攻击类型的数据包。使用会话回放攻击,黑客甚至可以使用Java或者ActiveX脚本来捕捉来自Web服务器会话的数据包。使用TCP会话截获攻击,攻击者需要某种类型的特殊TCP序列号猜测程序来成功地截获并且控制一个现有的TCP连接。

二、中间人攻击解决方案

对中间人攻击有几种解决方案。例如,为了防止TCP会话的截获,您应当有一个防火墙系统来随机化TCP的序列号,确保对于攻击者来说预测会话的下一个序列号成为几乎不可能的事情。Cisco PIX安全设备和其他的可用设备可以执行这种功能。然而,攻击者可以使用其他方法,如前一小节所讨论的,来控制会话。

注意:


TCP序列号是32位的长度,提供了大约20亿个可能的组合,随机化序列号使得去猜测连接中的下一个序列号成为几乎是不可能的事情。

这种类型的问题的最好解决方案就是使用VPN。VPN提供了3种工具来抗击中间人攻击:

使用设备验证,您可以确保正在给您发送流量的设备就是一台授权的设备,而不是一台伪装的设备。使用数据包完整性检查,您可以确保发给您的数据包来自一个授权的源,而且没有被损害或者被假冒。使用加密,您可以确保中间人攻击设备不能去窃听两台设备之间正在共享的数据。这些主题将会在本章的1.3节中进行更多的讨论。

我在前面的小节中曾经提到,VPN可以用来处理某种类型的攻击。因此,问题是:什么是虚拟专用网(VPN)?我在计算机领域已经工作了近20年,总有人让我解释各种技术以及这些技术可以用来做什么。在安全方面,我最常被问到的问题是“什么是VPN?”我见过所有对“VPN是什么”的解释,如:

就像您所看到的,许多人对什么是VPN都有不同的看法或理解。例如,如果您在Internet上搜寻术语VPN,您会很容易地找到许多不同的、有时类似有时矛盾的定义。例如,在www.webopedia.com ,关于VPN的定义是:“一种网络,它是通过公网线路来连接节点而构建的。例如,有一些系统,它允许用户使用Internet作为介质来建立网络传输数据。这些系统使用加密和其他的安全机制来确保只有授权的用户可以访问网络,而且数据不能被截获。”

对我来说,webopedia的定义对于什么是VPN产生了更大的困惑。为了消除这种困惑,我将讨论VPN实际是什么和VPN的不同的归类。我会接着讨论某些不同类型的VPN的实施。从最简单的角度来说,VPN就是一种连接,通常是被保护的,位于两个通常没有必要直连的实体之间。这两个实体也可以通过点对点的链路直接连接,但是我们通常会看到它们会相隔超过一跳或者通过网络隔开。术语“实体”可以指一台特定的设备或者一个特定的网络(多台设备)。连接,在许多情况下,跨过一个公网;然而,VPN也可以很容易地达到内部使用的目的。

在我给VPN下的定义中,“受保护”一词需要稍微解释一下。许多人认为这意味着加密(保护流量防止窃听攻击),或者那个数据包还没有被损害(对于中间人攻击)。所有的这些说法通常都是正确的;然而,一个好的VPN的解决方案将会处理下面的许多(如果不是全部的)问题:

就像您看到的,VPN负责所有种类的功能。

注意:


当然每种VPN实现方案并非都包括所有这些组件,也并非都能像其他方法那样安全地实现这些组件。连接是如何建立的,如何被保护的,如何被维护的以及如何被拆除的,这些都随着VPN解决方案而各不相同。因此,使用您公司的安全策略来决定什么样的VPN技术最适合您的特定情况这一点非常重要。在某些情况下,通常会看到在同一网络上会部署不止一个的VPN解决方案。

在我讨论4种VPN的通常类型和3种VPN分类之前,我首先要讨论两种基本类型的连接模式,它们用于在设备之间传输数据:

如果您以前用过Internet协议安全(IPSec),您可能非常熟悉这两个术语。其他类型的VPN可能使用不同的术语来描述这两种连接模式,但自从我使用IPSec以来,每当我讨论VPN时,我更喜欢用IPSec的术语。

这两种模式都定义了在两台实体设备之间传输被保护的数据时基本的封装过程。我常看到人们使用“隧道”来描述这个过程,然而,我不喜欢用隧道这个词,因为对于VPN来说,它可能有其他的含义。因此,我喜欢用术语“封装”来描述数据是如何在两个VPN实体之间传输的。下面两个小节将会讨论这两种连接模式。

一、传输模式

传输模式连接用于在设备的真正源和目标IP地址之间传输数据时使用。图1-3解释了传输模式的使用。在这个例子中,网络管理员很担心从公司办公室的PIX安全设备到公司办公室内部的系统日志服务器之间发送的系统日志消息的安全性。网络管理员决定使用VPN来保护系统日志消息。

图1-3 VPN类型和分类

因为这是一种在实际传输数据的设备之间的VPN连接,所以采用了一种传输模式的连接。在传输模式的连接中,实际的用户数据(UDP段含有系统日志的信息)被封装在一个VPN数据包中。

图1-4显示了一个在传输模式中使用封装过程的例子。在这个例子中,具有系统日志数据的PIX UDP段。PIX将UDP段封装在VPN的数据包或者段里面。VPN封装包含的信息将帮助目标设备确认被保护的信息(如果使用了加密,可能会解密)。VPN信息接着会封装进一个IP数据包里,而源地址是PIX,目标设备是系统日志服务器。

图1-4 传输模式封装方法

注意:


在传输模式中,如果VPN保护的数据包被窃听攻击所检查,攻击者将会知道通信中的实际源和目标设备。当然,如果您正在使用加密作为VPN的一种保护方法,攻击者将不能解密在VPN设备之间传输的实际的负荷(在本例中,是系统日志数据)。

二、隧道模式

传输模式的一种限制是它不具备很好的扩展性,因为保护是基于每一台设备的。图1-3解释了一种情况,在这里传输模式不是一种很好的VPN连接方法。在这个例子中,假设在区域办公室有10台设备需要和总部办公室的10台设备通信,并且进一步假设,每一个站点内的10台设备都需要和远程站点内的10台设备通信。考虑到这种情况,您需要在每一台设备上建立9个VPN连接,而每一个站点有10台设备,这将需要180个连接。换句话说,当您建立这个场景的时候,您会将自己累垮。

因此,当您有许多设备在两个不同的区域需要以安全的方式互相通信时,您应当使用隧道模式,而不是传输模式。在隧道模式中,实际的源和目标设备通常不保护流量,相反,某些中间设备用于保护这些流量。从刚才的例子看,在总部办公室和区域办公室的设备需要保护流量,每一个位置的两台路由器可以负责VPN的保护。代表其他设备提供VPN保护的设备通常被称为VPN网关。

我将通过一个例子来解释隧道模式是如何工作的。在这个例子中,本地设备将建立一个正常的IP数据包,并且将这个数据包转发到本地的VPN网关。假设在区域办公室的PIX(在图1-3中显示)需要发送系统日志消息给位于总部办公室的系统日志服务器,在这里,在两个地点的边界路由器正在执行VPN网关的功能。

图1-5显示了一个使用封装过程的例子。在这个图中,区域的PIX产生了一个系统日志信息,把它封装到一个UDP中,并放入IP数据包,这个IP数据包里的源地址是PIX的本地地址,目标地址是总部日志服务器的IP地址。当区域路由器/VPN网关收到区域PIX的系统日志IP数据包后,VPN网关会封装这个带有VPN保护信息的数据包,可能是加密原始的整个PIX的数据包。下一步,VPN网关将这个信息放入到另一个IP数据包中,在这里,数据包的源地址是区域办公室路由器的IP地址,目标地址是总部办公室路由器的VPN网关(在本例中,是边界路由器)。一旦总部路由器收到这个被保护的数据包,它会验证保护并且删除它(如果您正在使用加密保护数据包,总部的VPN网关将解密数据包)。系统日志服务器接着会收到原始的IP数据包,而并不知道(或者关心)该数据包实际上从区域PIX设备到系统日志服务器一直是被保护的。

图1-5 隧道模式封装方法

考虑到这种连接模式的过程,隧道模式提供了一些比传输模式优越的特性,如下所示。

总的来说,VPN类型描述了实际参与VPN连接的实体的类型。有4种常见的VPN类型:

在下面小节中我将使用图1-3来解释4种VPN类型。

一、站点到站点VPN

站点到站点VPN在VPN网关之间使用隧道模式连接来保护两个或者更多的站点或者地点之间的流量。站点到站点的连接通常被称为局域网到局域网连接(L2L)。使用L2L VPN,在一个地点的中心设备提供了对站点之间流量的保护。这种保护过程,因此也包括位于两台VPN设备之间的传输网络,对两个站点的终端用户的设备来说是透明的。

关于何种类型的设备可以承担VPN网关的角色,Cisco有下面这些设备可供选择:

在图1-3中,为了建立一个区域办公室和总部办公室之间的保护连接,您应当使用下面的这些配置:

注意:


Cisco通常建议您用路由器作为VPN L2L的解决方案;然而,这是一句很笼统的话,在做出这个决定之前还应考虑其他的因素。就像您在整本书中看到的,每种类型的设备都有好处和缺点。例如,这里就是一些与其他设备相比,Cisco产品的基本优点:

  • IOS路由器——有先进的QoS、GRE隧道、路由选择以及扩展和先进的VPN L2L能力。
  • Cisco VPN 3000集中器——易于建立和故障诊断与排除。
  • PIX安全设备防火墙——有先进的防火墙和安全特性,包括有状态过滤、应用程序过滤和先进的地址转换能力。

二、远程访问VPN

远程访问VPN通常用于一台单用户设备,例如PC或者一个小型家用办公室(SOHO),一个硬件客户端(一个Cisco的VPN 3002硬件客户端,低端的PIX设备或者低端的基于IOS的路由器)和VPN网关设备之间的低带宽或者宽带连接的应用。远程访问VPN通常使用隧道模式作为连接模式。首先,这个看起来很奇怪,因为一台设备是VPN网关设备,另外一台不是。然而,如果您考虑有关传输连接模式是如何工作的,在这种模式中,被保护的数据是在真正的源和目标设备之间传输的,就会认为一个远程访问连接并不十分适用这种模型。使用远程访问连接,流量需要从源到某些中间设备之间被保护,它可以验证被保护的信息(并且如果加密了,可以解密)。真正的目标将会收到未保护的信息。要做到这一点,就要使用隧道模式。

使用远程访问,VPN端点或者客户端,连接到VPN网关将需要两个IP地址:一个是它自己的NIC地址;另外一个是内部地址,这个地址通常被称为虚拟的或者逻辑地址或者被分配的IP地址。

图1-6解释了一个关于远程访问连接的例子。在这个例子中,一位电缆调制解调器用户从家里正在使用一台PC通过一个VPN网关,即VPN3000集中器连接到总部办公室。ISP使用DHCP给在家里的PC用户的网卡分配一个IP地址。需要第二个地址与总部办公室需要被保护的设备通信;这是一个内部的地址,它有时可以由用户手动分配,或者更通常的是,在VPN会话建立时,从VPN网关获取的。通常,这个IP地址来自一个中心站点的DHCP服务器,或者一个本地定义的地址池。当远程访问客户想要发送信息给在总部办公室VPN网关后的设备时,例如一台Web服务器,远程访问客户建立一个IP数据包,这个数据包的源地址是内部地址,而目标地址是总部办公室网络设备的地址。这个数据包接着使用VPN信息被封装和保护,并且添加一个外部的IP头。在外部的IP头中,源地址是远程访问用户的ISP分配的NIC地址,而目标地址是VPN网关。VPN网关一旦收到被保护的数据包,就会验证这个数据包,解密封装的数据包,如果需要的话,会将这个封装的IP数据包转发给总部的内部设备。

图1-6 远程访问连接的例子

因为这个内部地址是被保护的(那是因为您使用的是隧道模式),您可以很容易地使得远程访问的客户看起来就像是总部办公室网络的扩展。例如,如果总部办公室正在使用地址空间172.16.0.0/16,如图1-6所示,您可以使得客户使用一个地址池中的内部地址,如172.16.254.0/24,让客户看起来好像正在连接到一个172.16.0.0/16的网络中。从总部办公室设备的角度来看,看起来好像远程访问用户正在连接到一个172.16.0.0/16网络中。然而,实际上,客户和总部办公室之间可能隔着许多跳,如图6-1所示。

注意:


Cisco建议对于远程访问连接,您应当使用Cisco VPN 3000系列的集中器来作为VPN网关产品。当做远程访问VPN网关解决方案时,我们把3000系列集中器和Cisco路由器或者PIX或ASA安全设备做一个比较,在集中器上建立和故障诊断与排除远程访问连接比其他两种产品容易得。然而,如果我只有一小部分用户需要远程访问连接,而我已经有PIX或者ASA设备或是IDS路由器已经安装到总部办公室,我将会使用现有的设备,而不是购买一台3000的集中器。一旦用户的数量开始增长到一个很高的值,我就必须认真考虑购买一台集中器。在其他时候,我需要考虑用路由器而不是集中器进行远程访问连接的原因可能是我需要先进的QoS能力,而这是集中器所缺乏的特性。

三、防火墙VPN

一个防火墙VPN本质上是一个带有增强的安全和防火墙功能的L2L或者远程访问VPN。防火墙VPN通常用于VPN连接的一端基于公司的安全策略,需要增强的安全和防火墙功能,并且它们管理或者拥有在目前网络中已经到位的安全解决方案。

由防火墙VPN执行的这些安全或者防火墙的功能包括:

除了上述所列功能,一个防火墙VPN具有和L2L或者远程访问VPN相同的特性。从我的观点来看,我不喜欢将防火墙VPN作为一个单独的VPN分类;然而,Cisco在讨论VPN类型时通常使用这个术语。如果您正在部署Cisco的设备来实施防火墙VPN,VPN网关设备通常可能是PIX或ASA安全设备。

四、用户到用户VPN

一个用户到用户的VPN类型本质上是一个在两台设备之间的传输模式的VPN连接。这两台设备可以是PIX设备和一台系统日志服务器、一台路由器和一台TFTP服务器、一个使用Telnet访问Cisco路由器的用户,或者许多其他的连接对等体。

注意:


Cisco官方并不认为用户到用户是一种VPN类型,但是自从我使用这种模式来保护特定设备之间的特定类型的流量以来,我已经把这种类型划归为现实世界中可以见到的VPN类型了。

有3种基本类型的VPN分类,这种分类说明了VPN可以用在哪里:

图1-3中解释了这些术语和VPN一起使用时的含义。

一、Intranet

一个intranet VPN通过本公司的网络架构连接来自同公司的资源。这里是intranet VPN连接的一些简单的例子:

二、Extranet

一个extranet VPN将一个公司的资源和另外一个公司的资源进行连接,例如一个商业合作伙伴。这些通常都是L2L连接,但是也可以是其他的类型。一个关于extranet的例子就是一个公司外包了它的帮助桌面功能,并且建立了一个VPN来提供从它的总部办公室到外包公司的VPN连接。

三、Internet

一个Internet VPN使用公网作为骨干网在设备之间传输VPN的流量。例如,您可以使用Internet,它是一个公共的网络,来将两个站点连接在一起(L2L连接),或者家庭办公用户使用他们的本地ISP来建立到总部网络的VPN连接(远程访问连接)。

注意:


请记住,所有4种VPN类型都由这3种VPN分类支持。至于您应当使用那种类型,这是基于您的访问需求和您的公司对安全策略的要求。

既然您已对什么是VPN有了一个基本的理解,那么就让我们来讨论构成一个传统的VPN的组件。并不是所有的VPN实施都会包括部分或所有的这些组件。而且,基于您的安全策略所列出的需求,您可能并不需要所有的这些组件。因此,您需要检查您的安全策略来决定哪种VPN实施(或者不止一种)有必要的组件来满足您的安全策略的要求。

下面的小节将会讨论通常组成一个VPN实施中的某些更关键的组件部分。特别是,它们是由下面这些部分组成的:

您可能忧虑的一点是如何在验证一台设备或者用户的身份之后,才允许他们建立到达您网络的VPN连接。有两种通常的验证分类:

一、设备验证

设备验证允许用户基于远程VPN设备提供的验证信息来限制到您的网络的VPN访问。通常,这是下面两种类型的验证方法之一:

预共享密钥通常用于小型的VPN环境中。需要配置一个或者更多的密钥来验证设备的身份。建立预共享密钥验证是非常简单的。许多管理员都更偏向于使用它,而不是数字签名或者证书,后者需要做更多的工作才能建立。预共享密钥要求用户在要参与VPN连接的每一台设备上都配置一个或者多个密钥。

考虑到配置的工作量,预共享密钥有一个主要的缺点:它们的扩展性很差。例如,假设您当前有9个站点,每一个站点都有一台路由器,而预共享密钥用于设备的验证,并且VPN L2L的设计在这些站点之间是全网状的。您增加了一个新的站点。这就需要您在新的站点对路由器增加9个密钥,并且在其他9个站点的路由器上对于这个站点的路由器也要建立密钥信息。所以增加更多的站点对于验证密钥的管理会变得更加复杂。

注意:


使用预共享密钥的最初的观点是密钥应当和一个特定的静态的源IP地址关联到一起。然而,这个概念对于远程访问是不适用的,这是因为用户是从Internet上的任何地方发起他们的连接,并且使用的是动态IP地址。结果,基于组的预共享密钥的概念诞生了。在这种模型中,一个特定的预共享密钥将会基于在远程访问VPN连接发起过程中以明文发送的组名来进行查找。通常,预共享密钥对于先前所讨论的中间人攻击是较难防范的。由于连接的一端只能确认另外一端有相同的预共享密钥,而另外一端到底是谁并不知道。对于中间人攻击的解决方案就是互相的组验证并且允许头端设备使用数字证书来标志它自己,而不是对于每一个终端用户都需要一个证书。

通常数字签名或者更通常的说法,数字证书用于大型的VPN实施环境中的设备验证。数字证书是由一个共同的机构,即证书颁发机构(CA)来集中管理的,这使得添加和清除VPN设备成为一个简单的过程。任何时候当一台设备添加到VPN的拓扑中,对这台设备就会产生一个新的数字证书,它含有这台设备的验证信息,这是证书颁发机构所持有的。其他VPN设备可以访问证书颁发机构来确认其他设备的身份。就像您所看到的,一台设备并不需要本地存储其他设备的验证信息——这个信息是由证书颁发机构集中管理的。然而,使用数字证书的主要缺点就是初始建立和实施证书服务是很费时的。

二、用户验证

设备验证的一个问题和预共享密钥一样,就是设备验证的信息是存储在设备本地的。如果在设备本身被危及的情况下,这就出现了一个问题。通常,我并不担心这个问题,这是因为就像数据中心一样,设备本身是处在安全的环境中的。然而,我担心的是验证信息存储在不安全的设备上,例如PC和笔记本电脑。许多VPN实施方案,都会给验证再增加一层安全,这被称为用户验证,它来验证是否允许来自一台特定设备的用户的VPN连接。通常,这被应用在远程访问VPN中。在某些情况下,依赖于VPN实施类型(在本章的1.5节中讨论),VPN可能执行设备验证和用户验证这两种验证。

使用用户验证,用户必须提供一个用户名和口令。这个口令可能是一个静态的口令或者是一次性口令(通过使用令牌卡)。作为一个例子,假设您的VPN实施中同时采用了设备验证和用户验证,如果有人偷走了您的员工的笔记本电脑,这个小偷可能会使用存储在设备本地的验证信息,但是他必须知道用户名和口令才能获取访问。使用令牌卡,这个小偷必须知道用户的用户名,访问用户的令牌卡,还需要知道用户的PIN(个人识别号码)。而且,许多VPN实施允许管理员防止用户将用户验证信息存储在他们的桌面上。第2章将会更深入的讨论验证方法。

VPN必须定义的另外一个组件就是封装方法:用户信息,例如数据,是如何被封装并且在网络中传输的。换句话说,内容的实际格式是什么?您可以通过以下提问来了解这个答案:

封装也定义了什么样的应用程序或者协议可以放在VPN数据包的负荷里。某些VPN的实施中只封装应用层的信息,而其他的会封装整个第3层的数据包或者第2层的帧。信息如何封装是非常重要的,因为它可以影响数据在通过防火墙或者地址转换设备时是否会遇到问题。这个论题会在本章的1.4.2小节中进行讨论。

数据加密被用于解决窃听的问题。数据加密理论上是将用户数据和密钥值通过一个加密算法运行,产生看起来是随机字符串的字符。只有拥有相同密钥值的设备可以解密它。存在许多加密算法,例如DES、3DES、AES、Blowfish、RSA、IDEA、SEAL和RC4等。然而,并不是每种VPN实施都支持所有的加密算法。通常情况下,支持两种或者3种加密算法。加密算法会在第2章深入讨论。

加密对设备来说是非常消耗CPU的。攻击者知道您正在VPN中使用加密,可以利用这一点来对您的VPN设备实施拒绝服务(DoS)攻击。基本上,黑客可以使用带有垃圾的假冒数据包,使用的IP地址是来自一个可信VPN源。当您的VPN设备收到这个假冒数据包,将试图解密它。当然,结果是不成功的并且把这个假冒数据包丢掉。然而,您的设备会浪费CPU的运转时间来执行这个过程。

因为可能出现数据包的损害或者数据包的欺骗,某些VPN实施给您一个执行数据包完整性检查的选择,或者某些人通常所说的数据包验证。使用数据包验证时,签名附着在数据包上。签名是通过将数据包的内容和一个共享密钥等信息通过一个散列函数运算而产生的,产生的是一个固定的输出,称为数字签名。这个签名会被添加到原始的数据包的后面,并将这个修改后的数据包发送给目的地。目的地会验证这个签名,如果签名是有效的,目的地会解密这个数据包的内容。验证一个散列的签名与解密过程相比,需要非常少的CPU运转时间。

用于数据包完整性检查的两种更通用的散列函数是SHA和MD5。散列函数会在第2章深入讨论。

我已经提到有3种VPN的部件都使用密钥:验证、加密和散列函数。在VPN连接中管理密钥是非常重要的。例如,密钥是如何产生的?是静态配置的还是随机产生的?多长时间密钥会重新产生来增加安全性?

例如,假设您的安全策略要求用于加密和数据包完整性检查的密钥至少每隔8小时改变一次。如果您对不同的站点使用静态密钥,如果有100个站点,每次手动修改密钥的时候,您需要花上约一个小时的时间。因此,在许多情况下,需要一个动态的密钥管理过程。当选择一个VPN实施方案时,您应当认真评估这是如何处理的。第3章将讨论对于VPN,用IPSec标准实施VPN方案时,是如何处理的。

所谓抵赖就是您不能证明一个事物,例如连接的建立,或者购买一件东西确实发生了。抗抵赖是相反的过程:您能证明一个事物在两方发生了。攻击者通常试图执行抵赖攻击。

在金融界,抗抵赖是非常重要的。例如,如果我准备到Internet的在线商店,比如Amazon.com,使用我的信用卡购买一本书,在Amazon(亚马逊)能够成功地让我用信用卡付费之前,将会证明就是我购买了这本书。他们在我填写订单时,会收集我的个人信息,例如我的名字、付费的地址、电话号码和信用卡的信息,并且使用这些信息向我的信用卡公司验证我的身份。当然,亚马逊会保留交易的记录:我输入的是什么信息、日期和时间,以及我的IP地址,来跟踪我是否正在使用其他人的信用卡来实施欺诈。

抗抵赖可以是VPN实施中的一个组件。在VPN的世界中,抗抵赖包括两个组件:验证和计费。我已经在1.3.1小节中讨论了验证,计费是记录VPN的会话。这可以包括两台建立连接的设备的身份,连接使用了多长时间,通过它传输了多少信息,哪些类型的信息穿过了连接,等等。这些信息以后可以用于检测访问攻击,也可以用于管理的目的,例如确定基价和查找带宽的问题。

当选择一种VPN实施类型时,您需要首先决定什么类型的流量需要被保护。例如,如果在您的网络中只有IP流量,许多VPN实施类型都适用于您;然而,如果您需要同时保护IP和IPX流量,适用于您的VPN实施的种类数量就会快速缩小其范围。同样地,也许您只需要保护特定应用程序的流量,例如Web和E-mail流量,这同样会影响您对VPN方案的选择,比如SSL、还是PPTP或者IPSec。记住VPN的实施对它所封装的协议和应用程序是有限制的,该问题我已在1.3.2.小节中讨论过。

地址管理只在远程访问连接中是一个问题。正如我在1.2.3小节“远程访问”部分中提到的,一个远程访问客户端通常会被分配一个内部地址。跟踪哪个内部地址分配给哪个远程访问的客户是个很大的问题。

参见图1-7中关于这个问题的一个例子。在这个网络中,客户端为建立VPN的会话有两种选择:VPN网关A和VPN网关B。也许网络管理员对远程访问用户连接哪个网关没有控制,或者也许只是随机的。让我们假设客户属于一个组,该组中的地址池分配给客户的地址来自172.16.254.0/24。这意味着如果客户连接到VPN网关A时,被分配的IP地址为172.16.254.1,那么VPN网关B必须知道这一点,它不能使用这个地址并把它分配给一个不同的客户。而且,内部网络的设备同样也必须知道当它们想发送流量给172.16.254.1时,它们应当把流量转发给VPN网关A,而不是网关B。另外,如果远程访问用户想要拆除它的VPN连接,而重新建立到达网络的连接,但是通过VPN网关B时,VPN网关A也需要知道这一点来更新其地址池的信息。VPN网关A也需要更新它的路由选择信息来到达172.16.254.1。

图1-7 远程访问地址例子

对于这种情况,除了路由选择的问题外,实际上有许多方法来解决地址/分配的问题。关于地址分配,通常的解决方案就是使用一个外部的DHCP服务器或者AAA(验证、授权和计费)服务器来给用户分配一个地址。使用AAA服务器来分配地址通常用于客户总是要求将相同的IP地址分配给他的情况;否则,由DHCP服务器或者VPN网关给客户分配IP地址。关于内部设备到达远程访问用户的路由选择问题,VPN网关可以在它们的本地路由选择表中建立静态主机路由,并将该信息通过动态路由选择协议进行重分发。在处理IPSec时,Cisco通常将这个过程称为反向路由注入(RRI)。对于与VPN网关处于同一段的设备来说,VPN网关可以使用代理ARP来告诉直接相连的设备如何正确地到达远程访问客户端。

注意:


当一个被分配的IP地址来自VPN网关的本地接口子网时(图1-7所示的内部网络),可以使用代理ARP。当分配的IP地址来自一个非本地子网时,对于本地设备来说,这个地址必需被路由到VPN网关。这可以通过使用动态路由选择过程来完成。另一个选项是,在内部路由器上对这个子网添加一条静态路由指向VPN网关的内部接口;然而,这只在只有一个VPN网关的时候是管用的。当您有两个或更多个网关的时候,您将需要一个动态路由选择进程来发现哪个客户连接到哪个VPN网关上。

在选择一个VPN实施类型时,您也需要权衡这个因素。某些VPN实施可能缺少地址管理,或者地址管理很差,它会影响您对VPN实施类型的选择。

当您对VPN实施权衡了需要的VPN组件后,您需要看看您的VPN设计的布局:什么设备需要VPN功能(服务器、路由器、防火墙、PC等)、需要什么类型的VPN功能,以及需要什么样的连接。这些信息将会极大的帮助您挑选一种合适的VPN实施类型,并且在做出最终选择之前,有助于您考虑设计方面必须考虑的任何问题。

下面的小节讨论了某些VPN设计,以及在您的网络中使用VPN时,必须要考虑的问题。具体地说,这些小节涵盖了下面的内容:

从设计的角度来看,本小节将会讨论VPN使用的不同的基本连接类型。这些连接包括点对点、星型拓扑(hub and spoke)和全网状(fully meshed)。

一、点对点

有两种基本类型的VPN点对点的连接:

1.设备对设备连接

设备对设备VPN连接就是一种用户对用户的VPN类型,在这里只有两台设备参与到VPN中。这种连接类型通常用于在两台设备之间只有某种特定类型的流量需要保护的时候。关于设备到设备连接的例子包括将Cisco路由器上的配置文件备份到TFTP服务器上,从一台被管理的设备上发送SNMPv2的流量,例如一台Catalyst交换机,给一台SNMP管理服务器发送流量,或者从一种PIX安全设备上将系统日志流量发送给一台系统日志服务器。

关于设备对设备连接的一种担心就是它对VPN端点设备带来了极大的负荷。例如,想象您有一台系统日志服务器,它需要处理来自200台设备的日志信息。在这种情况下,系统日志服务器不得不终结200台VPN的设备对设备连接,这对它可能是一种不可承载的压力。如图1-8的上部分所示。

图1-8 设备对设备和网络对网络连接

2.网络对网络连接

网络对网络VPN连接可以被认为是L2L VPN类型的连接。使用网络对网络连接,两个VPN网关可以在两个或者更多个网络之间提供流量保护。这种点对点连接类型与设备对设备连接类型相比,其好处是从不止一台设备来的流量可以被相同的VPN连接保护。而且,您可以选择一台适当的VPN网关设备来控制VPN流量的开销和处理负荷,这就减轻了端点客户机的压力。图1-8的中间部分显示了一个网络对网络连接的类型。

我将会再次审视上面谈到的一种担忧,即200台设备正在向一台中心日志服务器发送系统日志消息,这次不是在系统日志服务器上面终结VPN的连接,相反,您可以在系统日志服务器的前面放置一台VPN的网关设备,并且对这个VPN网关建立远程访问连接,由它负责处理来自远端设备的VPN流量。这将是一个混合的点对点的连接,图1-8的底部显示了这一过程(设备对网络)。

二、全网状

全网状的VPN网络将每台VPN设备或者网络都连接到其他的VPN设备或者网络上。图1-9的左半边显示了一个全网状设计的例子,将多个网络彼此互连。

图1-9 全网状和部分网状的VPN网络设计

这种设计的一个好处是,每一台设备或者网络都可以直接通过VPN发送流量到远端的设备,而无需通过一个中介的VPN连接。然而,这种方案的主要缺点就是扩展性。例如,在图1-9中,当您增加更多的站点时,您在每一个站点的设备上就需要增加更多的VPN连接。这将增加VPN设备上的处理负荷而且扩展性很差。

三、部分网状

一个部分网状的VPN设计解决的是全网状VPN设计的缺点。在部分网状的设计中,并不是每一台设备都需要和其他的VPN设备有一台VPN的连接。这种设计的一个例子就是中星型拓扑的设计,如图1-9的右边所示。这在公司网络中是一台非常普遍的设计。中心点通常位于总部,而分支点通常位于远程办公室。这种设计在当分支点需要和位于总部的资源通信时工作的非常好;然而,这种设计当一个分支点向另外一个分支点发送数据时,工作得不是很好。在这种情况下,流量必须被保护两次,而且必须经过额外的一跳,这增加了流量的延迟,并对中心设备增加了额外的负荷。您可以在两个经常需要彼此通信的分支之间增加一个点对点的VPN连接来轻易地解决这个问题。

当设计一个VPN解决方案时,为给您的网络建立一个合适的解决方案有许多因素需要考虑,其中一些因素如下所示:

下面的小节将会讨论这些因素。

一、被保护的流量与非保护的流量

您需要考虑的其中因素之一就是在两台设备之间当前已经建立一个VPN连接的情况下,它们之间发送的流量是否需要被保护。需要考虑的事情有需要被保护的流量的数量,以及是否有必要保护这些信息(信息的安全敏感性)

例如,假设您的VPN设备支持VPN的处理能力为5 Mbit/s。然而,发送到您设备的VPN流量为6 Mbit/s。不幸的是,在您的VPN设备上将存在很大的性能问题。为了解决这个问题,您可以建立一个称为“分离隧道”的特性,它会发送一些被保护的流量,和一些明文的流量。

在上述例子仅1 Mbit/s的性能差异中(5 Mbit/s是处理极限,但是6 Mbit/s是接收的流量),您必须重新评估什么样的流量真正需要被保护。也许2 Mbit/s的流量是Web流量,而且您决定没有必要保护这种流量。您应当建立一个分离隧道的策略,对于VPN连接,它会保护除Web流量以外的所有的流量。因此,您的VPN设备只需要保护4 Mbit/s的流量,对于您的设备5 Mbit/s的VPN性能来说,这是可以管理的。

提示:


为了确定什么流量需要保护,什么流量不需要保护,您需要重新检查您公司的安全策略。对于远程访问的客户来说,我强烈建议使用一个客户端的软件防火墙来防止与未保护流量相关的攻击。

二、碎片

当我查看和VPN实施相关的性能问题时,我要看的第一件事情就是碎片问题。管理员通常都会忘记将VPN添加到数据包中的开销这一因素,并且由于这种开销而导致了碎片的问题。

例如,假设您有一个数据库应用程序通过一个VPN连接发送数据。参与的设备使用的MTU的大小为1 500字节。通常来说,发送数据时最多使用这么大。在这之上,VPN添加了另外的80字节开销,这通常会导致必要的MTU大小将达到1 580字节。然而,VPN设备在它所连接的以太网段上支持的最大的大小为1 500字节。在这种情况下,VPN设备不得不将原来的数据包切割成两个数据包。

许多人可能认为这个过程将会给VPN设备引入一些开销,但不是很大。然而,在许多情况下,它会扼杀设备的性能,因为VPN设备现在不得不处理两倍的数据包。

因此,当了解一个您将使用的特定的VPN设计和VPN类型时,您需要考虑碎片的问题。为了防止碎片,您需要检查VPN的实施来查看它给数据包增加的开销量,并且要了解客户端设备原来正在使用的MTU的大小。您要么需要使用一个动态的MTU发现过程,例如路径MTU发现(PMTUD),它会动态的调整MTU的大小到一个适当的值来防止碎片,要么手动调整MTU的大小。例如,如果客户端的MTU的大小是1 500字节,而VPN设备的开销是80字节,您需要确保始发数据的客户端设备将它们的MTU大小减小为1 420字节。我会在第19章中更深入的讨论对碎片问题的故障诊断与排除。

令人吃惊的碎片

我曾经受雇于一家公司帮助他们解决当前的VPN实施。他们告诉我,当他们将VPN实施就位以后,其性能降低到一个不可接受的级别。当他们删除VPN的配置后,问题就消失了。他们认为安装在3620路由器上的VPN网络模块(NM)对于保护流量的处理能力削弱了3620路由器的能力。我了解到他们仅想保护2 Mbit/s的流量,而VPN-NM应当能很轻松的处理这个数量的流量。我的直接反应就是问题并不是出现在VPN保护功能上,而是碎片的问题。很明显,站点的客户端正在使用的MTU大小为1 500字节,而许多通过VPN传输的数据是相当大的,当您给这些数据添加VPN的开销时,大约60%的数据包被碎片分割了,这意味着3620路由器不仅要执行碎片和重组装,它还不得不去保护额外的碎片数据包的流量。当检查路由器的CPU的周期时,完全确定这一问题就是和碎片有关。我让管理员手动调整了客户端的MTU大小到一个小一点的值,因此清除了任何碎片的问题。这件事让管理员非常高兴,因为他们曾担心怎么向老板解释他们购买了一台性能差的路由器,还得花钱买一台性能更优的路由器。

三、应用程序的类型

我在前面已提到过“被保护的流量与非保护的流量”,基于您正在传输的流量数量,您可能不想保护某些类型的流量。像我前面提到的,您需要检查您的安全策略来决定您将要保护什么类型的流量。

某些应用程序类型通常并不需要保护,例如HTTPS和SSH。它们不需要保护,是因为保护功能已经内置在协议里面了。因此,保护这种流量只是再次增加了对VPN设备的额外处理负担。因为这一点,您可能想防止这种流量和其他被保护的流量穿过您的VPN。

另外一件需要考虑的事情就是您所选择的VPN实施是否能够真正地保护您需要保护的流量。例如,SSL VPN保护Web流量(HTTP)非常好,但是并没有设计用来保护其他类型的流量,例如SMTP、TFTP、FTP、Telnet等。SSL会在1.5节中讨论。当决定什么样的流量需要保护之后,您需要选择一种VPN实施来正确的保护流量。

四、流量保护

当您已经决定什么样的流量需要被保护之后,您需要决定它怎样被保护。该信息应当在您公司的安全策略中已定义了。例如,如果您公司的策略阐述了您应当对通过公网的敏感信息实施加密和数据包完整性检查,您需要决定您的VPN应当使用的加密算法和散列函数。在某些情况下,您实施的方案越安全,就越会给您的VPN设备增加更多的处理开销。与因VPN特性提高的安全性相比,必须更关注该特性增加的处理开销和处理延迟——总会有一个折衷。例如,对于延迟敏感的流量例如语音和视频,您可能需要花费一些时间来挑选和测试不同的VPN保护方法,以确保对您的多媒体流量不会造成连接性问题。对于保护类型的更多信息,参看第2章。

五、地址转换和防火墙

某些VPN实施在试图将信息通过地址转换或者防火墙设备传输时会出现问题。下面将讨论这两种情况,从地址转换开始。

1.地址转换问题

使用地址转换,地址转换设备可以将一个IP地址转换成另外一个地址,而且很可能会将一个端口号转换成另外一个端口号。将一个IP地址映射到另外一个IP地址通常被称为网络地址转换(NAT);将多个IP地址映射到一个IP地址,并且用不同的源端口号来区分它们通常被称为端口地址转换(PAT)或者地址超载。

我将使用IPSec来解释这个问题,即如果您的VPN流量必须穿过一台地址转换设备时可能遇到的问题。IPSec有两种协议可以用来将数据通过VPN设备进行传输:验证头(AH)和封装安全负载或者协议(ESP)。不要担心这些协议的实际细节,因为我会在第3章中进行讨论。这里,我只讨论这些协议和地址转换有关的部分。

AH只提供了数据包的完整性检查——它并不执行加密。使用数据包完整性检查,会基于IP数据包里几乎所有的字段,包括源和目标IP地址字段来产生一个散列值。想象该数据包通过一个有地址转换设备的网络,当地址转换设备对该数据包执行NAT或者PAT时,它会破坏含在这个包里的数据包完整性的签名。使用NAT,地址转换设备改变了IP报头中的地址,使用PAT,它改变了在TCP或者UDP段头里的端口号。因此,当任何类型的地址转换对AH的数据包执行转换时,AH都被破坏了。

ESP同时提供了加密和数据包完整性检查;然而,数据包完整性检查的计算方式和AH是不一样的。当对数据包完整性检查的值产生数字签名时,外部的IP报头是不参与计算的,因此该数据包可以被地址转换设备执行NAT的处理。但是,ESP和AH有一个相同的问题,这两种协议都是第3层的协议。对于执行PAT的地址转换设备来说,它需要将信息封装在TCP或者UDP的段头里,地址转换设备不能处理AH或者ESP的数据包(它们没有端口号!);因此,PAT转换对这两种协议也存在问题。

注意:


某些地址转换设备现在也有能力来对没有端口号的协议执行PAT的转换功能,例如ICMP和ESP。然而,这是厂商特定的功能,并不总是保证能够有效。

某些VPN实施通过将VPN的信息封装在一个TCP或者UDP的段里来处理这种地址转换问题。对于AH,还是依旧不能工作,这是因为AH数据包完整性检查值将在它的计算中包含这个信息;然而,对于ESP来说,这将解决NAT和PAT的地址转换问题。就像您在IPSec中看到的,Cisco支持这个过程的3种方法,虽然并不是所有的Cisco设备都支持这3种机制。这3种方法如下:

我将在第3章深入探讨这3种解决方案。记住VPN实施对于地址转换可能会有问题。

2.防火墙问题

VPN在穿越有状态过滤防火墙的时候也可能会出现问题。一个有状态防火墙会跟踪连接的状态,默认情况下,只允许外出连接的返回流量进入。有状态功能是基于跟踪设备之间的会话建立的。在许多情况下,这只包括TCP和UDP的会话。这是因为可以非常容易的通过检查源和目标IP地址,源和目标端口号来跟踪TCP和UDP的会话——如果这些值改变了,该变化就代表一个不同的连接。

然而,并不是所有类型的流量都使用一种传输层的协议。我还是用IPSec作为一个例子。当用IPSec传输数据时,使用AH或者ESP。就像TCP和UDP一样,这两种协议都是第3层协议,但是没有上层的信息,例如端口号。然而,AH和ESP,在它们的报头中确实有一个特殊的字段称为安全参数索引(SPI)。这个值用于独立的标识在一台设备上的VPN连接。一台防火墙,如果被厂商适当的作了编码,当实施一个有状态防火墙的功能时,是可以利用这个值来区分VPN连接的。

然而,实际跟踪不同的IPSec连接比我所描述的要困难得多。对IPSec来说,这是非常困难的,因为IPSec对数据并不使用双向连接;相反,它使用的是两个单向的连接:

记住一个有状态防火墙允许外出连接以及它们的返回流量,但是通常拒绝从外面始发的连接,例如外边访问内部设备的连接。防火墙厂商必须对特殊类型的检查进行编码来处理这种情况。因此,并不是每一个防火墙厂商都能够处理您想要使用的VPN实施方案。您需要仔细的审视您想要使用的VPN实施方案,并且决定对于VPN来说,是否地址转换或者防火墙设备会对它产生问题。

注意:


如果想了解有状态防火墙的更多信息,可以参阅我编写的图书Cisco Router Firewall Security(Cisco路由器防火墙安全性),由Cisco Press出版,或者是Cisco PIX Firewall(Cisco PIX防火墙),由McGraw-Hill出版。

另外VPN设计的一个重要的组成部分就是冗余。例如,如果您观察图1-9中的星型拓扑网络,您会注意到这个例子缺乏冗余性。例如,如果中心路由器失效了,那么每一个站点都将丢失与其他站点的连接性。因此,您需要认真地考虑您的网络,如果需要的话,实施一个有效的冗余的设计。

为了解决星型拓扑的冗余问题,您可能会使用类似图1-10所示的一些做法。在这个设计中,中心网络(站点A)有两台VPN路由器来做冗余,每一台分支路由器都和站点A有两个VPN连接——每一台中心路由器各一条连接。当然,这在每一台分支路由器上需要进行一

图1-10 星型拓扑冗余设计

些特殊的配置。例如,您可能不想让所有的分支路由器都使用同一台中心路由器来做主要的VPN连接;否则,会导致主VPN路由器超负荷工作。或者您想从分支到中心,两条VPN连接都同时使用,这就需要您在中心和分支路由器上能正确的配置路由选择来执行负载均衡。

在此之上,您甚至可能需要在分支路由器上增加额外的冗余,需要双路由器。同样的,这会增加您设计的复杂性。需要认真地规划以确保您的设计功能和期望的是一样的。

到目前为止,我都在不停的说“VPN实施”,但是我并没有定义到底什么是VPN实施。首先,我将讨论什么是VPN及其包含什么。具体地说,下面的小节将会讨论这些常见的VPN实施方法,包括它们是如何实施的及其基本的优点和缺点。

本书的其他章节将会扩展这些VPN实施方法的具体内容,所以您看到的下面的小节只是一个基本的概述。

通用路由封装(GRE)最早是由Cisco开发的一种VPN技术,后来写进了Internet工程任务组(IETF)的两个RFC里——1701和2784。Cisco将GRE作为一种封装方法开发,使得一个协议的数据包可以封装进IP数据包中,并且将封装后的数据包通过IP骨干传输。

图1-11解释了GRE隧道的使用。在许多早期的网络中,公司在不同的网络站点之间传输流量,而网络的骨干,或者说广域网的连接,和站点用的不是一种协议,这时流量传输会存在问题。在图1-11中,两个Novell IPX的网络需要彼此通信。在这个例子中,它们是通过Internet连接的,而Internet是基于IP的。如果没有GRE,那么Novell的设备不得不同时使用IP和IPX:IPX用于访问内部的服务,而IP用于远端站点的服务。Cisco特别为这种情况开发了GRE。GRE允许用户将一种协议(如IPX)的数据包封装进入一个IP数据包(这里IP协议号是47,代表被GRE封装的信息)。

图1-11 GRE的例子

在图1-11中,两个站点的边缘路由器执行这个封装/解封装的过程。从Internet的角度来看,它只看见了IP数据包。从总公司和区域办公室的角度来看,只看见IPX的数据包——这使得每一个人都很高兴。

GRE也可以用于通过基于IP的骨干来连接某个特定协议的小数据包,而无需配置骨干也能运行这个特定的协议。GRE是一个第3层的协议,可以封装下面的这些协议:

从它可以封装许多协议的灵活性来看,您可能会想GRE将是一个极好的VPN解决方案。至少和得到有限的支持协议的其他VPN方案相比,是这样的。然而,GRE有两个主要的缺点:

因为这两种限制,GRE通常不能用做一个完整的VPN解决方案;然而,它可以和其他的解决方案结合在一起,例如IPSec,来产生一个极强大的、具有扩展性的VPN实施方案。

就像GRE一样,IPSec(IP Security的缩写)是一个第3层的协议。然而,这两个协议之间的相同点很少。GRE比IPSec的一个优点就是IPSec只支持TCP/IP协议——它本身不能传输像IPX或者AppleTalk这样的流量。然而,因为GRE本身是IP协议,您可以在一个IPSec VPN的连接之上部署GRE的隧道来保护非TCP/IP的流量。

IPSec实际上是定义在IETF RFC里的标准的合并。由于GRE不提供任何安全性,IPSec被特别设计用来处理在非安全的网络上传输敏感的数据。IPSec框架处理下面3种主要的问题:

数据机密性负责保护数据免受窃听攻击。这是通过加密算法实现的。IPSec支持DES、3DES和AES的加密算法。数据完整性负责检验数据包的内容是否被损害。这是通过使用散列函数,例如MD5和SHA来实现的。数据验证用于执行数据包和设备的验证。散列函数用于检验发送IPSec数据包的设备的身份。设备验证用于控制哪一台远端设备允许建立到本地设备的IPSec的连接。支持3种类型的设备验证:预共享密钥、RSA加密的随机数和RSA签名(数字证书)。对于远程访问连接,通常都会采用用户验证。

和其他的VPN实施方案相比,IPSec是最广泛和最普遍采用的——不是因为IPSec易于建立和故障诊断与排除,而是您将在本书后面会看到的原因,是因为它是一组开放的标准,当这个标准被首次认可后,就被许多网络厂商持续地推动。许多网络厂商,当提供VPN解决方案时,都会最低限度的支持IPSec。例如,所有的支持VPN功能的Cisco的设备都会支持IPSec。我会在第3章中深入地讨论IPSec。

点对点隧道协议(PPTP)原先是由Microsoft开发的。它的操作公布在RFC 2637中。Microsoft开发PPTP的目的是对基于窗口的系统,例如Windows 95、98、ME、NT、2000和XP提供一个VPN的解决方案。不像IPSec,它可以支持所有的VPN连接类型,这包括站点对站点和远程访问。PPTP开发的目的是允许Windows PC客户端安全的访问网络接入服务器,例如Windows远程访问服务器(RAS)。因此,PPTP主要是用于远程访问协议,但是它确实支持站点到站点的连接。

PPTP实际上是两个标准的组合:

不像IPSec,它只支持TCP/IP协议,PPTP支持多种协议:TCP/IP、IPX和NetBEUI。许多Cisco的产品,包括IOS路由器、PIX防火墙和VPN3000集中器都支持PPTP。我将在第4章中深入讨论PPTP。

使用PPTP的一个问题是,即使这个过程后来在IETF RFC中定义了,PPTP仍是一个半开放的标准。换句话说,如果您工作在一种Microsoft的环境中,或者是一个和Microsoft紧密合作的厂商环境中,PPTP可正常运行。然而,PPTP通常不能在一个混合厂商的网络环境中运行。

当时,其他厂商也有半开放的VPN类型,这也包括Cisco。Cisco的VPN类型被称为第2层转发(L2F)。为了提供可以替代IPSec的更好的、应用于小型的基于Windows PC环境下的解决方案,Microsoft、Cisco和其他的厂商联合在一起工作,开发了一个VPN的标准,这使得所有的网络厂商都可以生产出兼容的VPN产品。

理论上,L2TP(第2层隧道协议)是Cisco L2F和Microsoft的PPTP的组合。L2TP将PPP通过公网进行隧道传输,提供如数据机密性的服务。和GRE一样,L2TP支持多种第3层协议。L2TP包含有一个修改版的多机箱多链路PPP,它允许一个客户端堆叠VPN网关,使得它们看起来像一台虚拟的VPN网关设备。L2TP可以使用MPPE来做保护,但是像PPTP一样,这和IPSec的保护机制相比,能力较弱。因为这一点,L2TP通常使用IPSec来做传输保护,而同时提供Windows环境下可能需要通过PPTP才能得到的某些相同的服务。

Cisco不再支持L2F,但是当前在路由器上,PIX和集中器平台上支持L2TP。我将在第4章深入讨论L2TP。

多协议标签交换(MPLS)指定了数据包是如何通过一种有效的方式送到一个目的地的,类似于在帧中继和ATM网络中流量是如何管理的,后者需要支持需要QoS。MPLS VPN有时被称为是MPLS的增强;然而,术语“MPLS VPN”非常模糊,这是因为MPLS VPN不是加密的,实际的数据电路甚至不会穿过公网,例如Internet。

MPLS电路通常被称为是一个VPN,IPSec通过公网建立一个安全的连接(隧道),而MPLS使用虚拟电路(VC)通过私网来仿真VPN的功能。如果您考虑术语“虚拟专用网”,在帧中继和ATM网络中的PVC或者SVC仿真这种类型的功能。使用MPLS,添加到数据里的MPLS标签中的标记信息提供了分离的功能。MPLS甚至可以在以太网骨干中提供这种功能。换句话说,在MPLS的网络中,您的流量和其他人的流量是分开的。因此,在运营商网络中您的流量可以被认为是“私有的”。当然,如果您担心运营商是否会窃听您的流量,MPLS解决方案是不能解决这个问题的,您需要利用其他的VPN解决方案来补充MPLS,例如MPLS上的IPSec。

MPLS类似于以太网络中的VLAN标记。然而,不像以太网的VLAN,MPLS支持多种协议。换句话说,您可以使用MPLS来标记IP数据包、以太帧、IPX的数据包等。不像VLAN的标记,MPLS支持广泛的QoS能力。不像本章中探讨的其他信息,MPLS和MPLS VPN的内容超出了本书的范围。

安全套接字层(SSL)是一种现有的技术,可以用来加密通过Web浏览器连接发送的数据。直到最近,它才被独立的用来安全传输Web连接和事务。然而,网络厂商已经加强了SSL来提供基于SSL的VPN。SSL VPN用做一种远程访问VPN的解决方案。其他类型的VPN如IPSec、PPTP、L2TP/IPSec)的一个问题是,它们需要特殊的客户端软件安装在远程访问用户的机器上,这需要特殊的配置和额外的管理。

使用无客户端软件的SSLVPN,用户可以使用Web浏览器作为客户端的软件。因为许多用户已经在他们的PC上安装了Web浏览器,而且也已经习惯于使用Web浏览器的应用程序,本质上不需要特殊的客户端软件或者学习后才能使用SSLVPN。然而,SSLVPN有一种限制:因为它们是实施在应用层之上的,只有基于Web的应用程序(通过Web浏览器的)才可以被保护。默认情况下,其他应用程序是不被保护的。在某些情况下,一个SSL VPN的厂商可以在SSL VPN的网关设备上写一些特殊的代码来处理其他的应用程序。但是具体什么样的应用程序被支持,这就随厂商的不同而不同了。在这种情况下,一个第3层的VPN解决方案,例如IPSec或者L2TP/IPSec就会更好,这是因为它们保护的是所有网络层之上的流量;换句话说,这些VPN不是专用的。SSL VPN会在第5章中深入讨论。

就像您在1.5节中看到的,实际上有很多VPN解决方案可供选择。在对您公司的网络选择正确的VPN解决方案时,您应当采用几个标准。它可能会不止一个解决方案,例如IPSec和SSL,或者是IPSec和L2TP/IPSec。

为了简化这个过程,在选择一个VPN解决方案时,我评估了下面的这些标准:

下面的小节将更深入的讨论这些标准。

VPN解决方案中我考虑的第一件事情就是安全性。为了这个目标,我问了下面这些问题:

就像前面列出的,我首先需要决定什么样的流量需要被保护。我是否需要保护特定的应用程序的流量,例如E-mail、数据库访问、文件传输,还是其他的?我需要保护某些特定主机的流量吗?我需要保护来自某个特定的网段的流量吗?如果我只需要保护某个特定的应用程序的流量,我将会首先看一下SSL VPN是否可以提供对这个应用程序或者其他需要保护的应用程序的解决方案。否则的话,我将会查看其他的VPN解决方案。

其次,需要什么类型的保护?流量需要加密吗?我需要执行数据包完整性检查吗?去核实一台设备的身份到底有多重要?一旦我回答了这些问题,我就可以锁定在某些更特定的VPN解决方案上了。例如,如果我需要加密,我可以立刻排除GRE。

最后,需要保护到什么程度?例如,如果我需要加密来提供数据的机密性,那么这个加密算法需要有多强?我可以使用DES,还是必须使用一个更强大的加密算法,例如3DES。对于设备验证,我可以使用预共享密钥,还是我应当使用数字签名?我还是通过这些问题来缩小我对更适合的VPN解决方案的选择范围。

网络管理员在选择一个VPN解决方案时,经常忘记了将实施、管理和维护考虑进去。例如,如果将SSL VPN和IPSec相比,我发现建立、管理和故障诊断与排除SSL VPN会比IPSec更容易。

作为一个例子,您可能只需要保护HTTP的流量。SSL和IPSec VPN都可以完成这件事情;然而,IPSec解决方案会比SSL解决方案在实施、管理和维护方面做更多的工作,SSL是一个费用更低,更具有扩展性的解决方案。这种区别会在您看完本书的集中器、路由器以及PIX和ASA安全设备上的IPSec和SSL的组件后,您就会更加清楚了。

就像1.4.3小节中所提到的,冗余可能是在您的VPN实施中所期望的或者是所需要的组成部分。某些VPN实施对冗余支持得非常好,而某些却不能。当评估一个冗余的解决方案时,您需要决定您所需要的冗余类型(机箱冗余和/或者连接冗余),以及您的VPN实施如何处理您的冗余类型。在此之上,一个网络厂商可能有特殊的私有的冗余特性,例如Cisco的虚拟簇代理(VCA),它并没有和某一个特定的VPN实施绑定到一起,所以您可能想了解网络厂商在他们的VPN解决方案中所提供的冗余的好处。

总之,您需要熟悉冗余解决方案的好处和限制。例如,Cisco的VCA特性,将在第10章中讨论,第22章所讨论的内容只支持Cisco的3000集中器和ASA安全设备。VCA可以用来负载均衡远程访问VPN连接,它不能用于站点到站点的连接。

当选择VPN实施方案时,您需要确保您所选择的方案是可扩展的和灵活的。这个方案需要具备扩展性以便适应将来网络的增长,而灵活性是能处理您的网络内发生变化的一种能力。

换句话说,如果您需要在您的VPN设计中增加3个或者更多的站点,您需要做多少工作来适应这种变化?您需要配置或重新配置多少台设备?在这些设备上您需要做多少配置?这会在现有的设备上额外增加多少开销?一种好的设计方案会解决这些问题。我在第17章中将讨论一种Cisco的站点到站点的连接方案,叫做动态多点VPN(DMVPN)。

当然,您不会忘记一种VPN解决方案将会耗费多少公司的金钱。需要评估的费用有:

在许多情况下,您将会使用VPN来替代现有的私有广域网,例如帧中继、ATM或者专用租赁电路。所以将您对私有WAN方案的完全所有权和您正在考虑的VPN实施方案进行比较。

这一章给用户介绍了虚拟专用网的概念。就如我在本章的介绍中谈到的,我会在后续章节中扩展我在这里讨论过的许多主题和问题。

在第2章中,我会更深入地研究VPN所使用对数据提供保护的技术,例如密钥、加密算法、散列函数和验证方法。


相关图书

Kali Linux渗透测试全流程详解
Kali Linux渗透测试全流程详解
Cisco Firepower威胁防御(FTD)设备的高级排错与配置
Cisco Firepower威胁防御(FTD)设备的高级排错与配置
Cisco ASA设备使用指南(第3版)
Cisco ASA设备使用指南(第3版)
Cisco防火墙
Cisco防火墙
网络安全体系结构
网络安全体系结构
MPLS和VPN体系结构(第2版•修订版)
MPLS和VPN体系结构(第2版•修订版)

相关文章

相关课程