九 经典实用技术详解-VPN

IPSEC
IPSEC是一种由IETF设计的端到端的确保基于IP通讯的数据安全性的机制 。IPSEC支持对数据加密,同时确保数据的完整性 。按照IETF的规定,不采用数据加密时,IPSEC使用验证包头(AH)提供验证来源验证(source authentication),确保数据的完整性;IPSEC使用封装安全负载(ESP)与加密一道提供来源验证,确保数据完整性 。IPSEC协议下,只有发送方和接受方知道秘密密钥 。假如验证数据有效,接受方就可以知道数据来自发送方,并且在传输过程中没有受到破坏 。
可以把IPSEC想象成是位于TCP/IP协议栈的下层协议 。该层由每台机器上的安全策略和发送、接受方协商的安全关联(security association)进行控制 。安全策略由一套过滤机制和关联的安全行为组成 。假如一个数据包的IP地址,协议,和端口号满足一个过滤机制,那么这个数据包将要遵守关联的安全行为 。
协商安全关联(NegotiatedSecurityAssociation)
上述第一个满足过滤机制的数据包将会引发发送和接收方对安全关联进行协商 。ISAKMP/OAKLEY是这种协商采用的标准协议 。在一个ISAKMP/OAKLEY交换过程中,两台机器对验证和数据安全方式达成一致,进行相互验证,然后生成一个用于随后的数据加密的个共享密钥 。
验证包头
通过一个位于IP包头和传输包头之间的验证包头可以提供IP负载数据的完整性和数据验证 。验证包头包括验证数据和一个序列号,共同用来验证发送方身份,确保数据在传输过程中没有被改动,防止受到第三方的攻击 。IPSEC验证包头不提供数据加密;信息将以明文方式发送 。
封装安全包头
为了保证数据的保密性并防止数据被第3方窃取,封装安全负载(ESP)提供了一种对IP负载进行加密的机制 。另外,ESP还可以提供数据验证和数据完整性服务;因此在IPSEC包中可以用ESP包头替代AH包头 。
用户治理
在选择VPN技术时,一定要考虑到治理上的要求 。一些大型网络都需要把每个用户的目录信息存放在一台中心数据存储设备中(目录服务)便于治理人员和应用程序对信息进行添加,修改和查询 。每一台接入或隧道服务器都应当能够维护自己的内部数据库,存储每一名用户的信息,包括用户名,口令,以及拨号接入的属性等 。但是,这种由多台服务器维护多个用户帐号的作法难以实现及时的更新,给治理带来很大的困难 。因此,大多数的治理人员采用在目录服务器,主域控制器或RADIUS服务器上建立一个主帐号数据库的方法,进行有效治理 。
RAS支持
微软的远程接入服务器(RAS)使用域控制器或RADIUS服务器存储每名用户的信息 。因为治理员可以在单独的数据库中治理用户信息中的拨号许可信息,所以使用一台域控制器能够简化系统治理 。
微软的RAS最初被用作拨号用户的接入服务器 。现在,RAS可以作为PPTP和L2TP协议的隧道服务器(NT5将支持L2TP) 。这些第2层的VPN方案继续了已有的拨号网络全部的治理基础 。
扩展性
通过使用循环DNS在同属一个安全地带(securityperimeter)的VPN隧道服务器之间进行请求分配,可以实现容余和负荷平衡 。一个安全地带只具有一个对外域名,但拥有多个IP地址,负荷可以在所有的IP地址之间进行任意的分配 。所有的服务器可以使用一个共享数据库,如NT域控制器验证访问请求 。
RADIUS
远程验证用户拨入服务(RADIUS)协议是治理远程用户验证和授权的常用方法 。RADIUS是一种基于UDP协议的超轻便(lightweight)协议 。RADIUS服务器可以被放置在Internet网络的任何地方为客户NAS提供验证(包括PPP PAP,CHAP,MSCHAP和EAP) 。另外,RADIUS服务器可以提供代理服务将验证请求转发到远端的RADIUS服务器 。例如,ISP之间相互合作,通过使用RADIUS代理服务实现漫游用户在世界各地使用本地ISP提供的拨号服务连接Internet和VPN 。假如ISP发现用户名不是本地注册用户,就会使用RADIUS代理将接入请求转发给用户的注册网络 。这样企业在把握授权权利的前提下,有效的使用ISP的网络基础设施,使企业的网络费用开支实现最小化 。

推荐阅读