IBM Support

安全连接

Technical Blog Post


Abstract

安全连接

Body

 

原文地址: http://www.ibmsystemsmag.com/ibmi/december02/features/7833p1.aspx

 

虚拟专用网(VPN)是业界广泛应用的技术,用以确保公共互联网、内联网或外联网之间的安全连接。安全是一个关键词,它要求iSeries系统在接受来自Internet用户的telnet请求时,必须确保其连接是安全的。虚拟专用网还可以帮助不同的实体建立和维护其连接。用户通过VPN一个连接就可以连接到互联网,并访问您的系统,而不是为每个连接建立一个独立的线路。

 

VPN可以为远程连接问题提供解决方案。例如,您可以通过VPN使远程用户访问公司局域网。这些远程用户就好像是在使用本地网络。贸易伙伴之间也可以建立VPN连接,确保数据传输的安全性。与帧中继连接或专用线路相比,通过VPN连接到互联网相对省钱。

 

VPN 也可以用于拥有iSeries系统的公司总部与其分公司之间的连接。我们可以使用已经存在于互联网的连接,并在两端服务器上实现VPN就可以提供安全、低成本的连接。此外,VPN连接也可以用于正常的互联网传输,例如如e - mail和网页浏览。我将在下面的文章说明这个例子。

VPN技术采用隧道的方式,确保端到端之间数据传输的安全性。隧道所连接的两个系统之间的数据传输是加密的,并且其中一个端点就是隧道的逻辑结束点。在隧道中有两种可用的端点类型:

l        连接端点可以对连接进行认证,并对通信本身进行加密和解密。连接端点还负责为动态连接管理因特网密钥交换(IKE)的协商。

l        数据端点标识和确定两个系统之间的连接。

VPN连接的建立必须包括以下工作:

l        数据加密

l        数据验证

l        数据源或发送者的认证

l        建立、维护和提供加解密算法的密钥信息

 

VPN协议

不同的VPN或隧道使用不同类型的协议。目前安全的HTTP连接广泛使用SSL协议。事实上,如果你在互联网上购买产品,你就可能已经使用了SSL。如果使用了SSL协议,您的浏览器窗口会出现一个标识,表明建立了安全连接。并非所有的应用程序都可以使用SSL作为隧道机制。例如,虽然iSeries  AccessClient Access)可以使用SSL提供安全的交互式(Telnet)会话,但FTP是不可以使用SSL的。SSL的另一个问题是它不是Internet标准。如果你特别在意供应商之间的互操作性,这一点可能会是个问题。

 

一旦服务器已经启动,所有到目的地的连接都将通过VPN隧道进行传输。不需要改变应用程序,也不需要使用TelnetWeb浏览器这些与SSL兼容的应用程序。

 

另一个潜在的供应商之间互操作性的问题是新兴的传输层安全(TLS)协议,它是基于SSL的。尽管目前TLS可以与SSL进行交互,但以后这种交互将从TLS中移除。由于TLS是一个发展中的协议,厂商可能会坚持用不同的协议规范。

 

点对点隧道协议(PPTP)是建立VPN时广泛使用的协议。PPTPMicrosoft 的协议,用于Windows 个人电脑与Windows服务器之间的连接。虽然PPTP被广泛使用,但它也不是Internet标准。

现在有哪些是符合Internet标准的VPN协议?因特网协议安全(IPSec),第二层隧道协议(L2TP)和因特网密钥交换(IKE)。我将概述这三个协议:

l        IPSec是由互联网工程任务组(IETF)开发的多种协议的集合,它可以使IP层的数据传输更为安全。IPSec支持两种加密模式:传输和隧道。传输模式只对每个IP数据包的数据包体进行加密,不包括IP数据包头。隧道模式是更为安全的模式,因为它对IP数据包头和数据包体都进行了加密。在接收端, IPSec兼容的设备对数据包进行解密。使用IPSec时,发送设备和接收设备必须共享一个公共密钥。这一环节是通过互联网安全关联和密钥管理协议/OakleyISAKMP / Oakley)实现的,在该协议下接收方通过数字证书获得公共密钥并对发送方进行认证。

l        L2TP是点对点协议(PPP)的扩展,它可以保证在第2层,即网络层更安全地进行信息传输。L2TP协议衍生于微软的PPTPCiscos的第二层转发(L2F)协议。

l        IKE是一个IETF协议集,对VPN连接中的系统所使用的加密密钥和协议进行协商。

(注:感谢Webopedia提供相关的定义,www.webopedia.com )。

 

iSeries上的VPN

OS/400 V4R4 开始, iSeries引入了VPNOS/400支持IPSecL2TPIKE这些互联网标准协议。OS/400还支持手工连接(预定义加密密钥)及动态连接(协商加密密钥)。(注:如果选择动态连接,就必须使用IKE。对于远程用户,还可以选择L2TP作为第2层隧道协议。

 

iSeries实现支持IPSecVPN需要的产品有:

l        IBM Cryptographic Access Provider (5722-AC3 or AC2)

l        Digital Certificate Manager (5722-SS1 option 34)

 

最好使用操作导航器中VPN设置向导建立初始的VPN连接。当您更好地了解VPN连接组建时,您可能希望手动配置连接。我发现向导是很有帮助的。

 

(注:只有安装了5722 - AC25722 - AC3VPN设置选项才会出现在操作导航器中。这两种产品虽然不是OS/400标准安装组件,但都是IBM免费提供的产品。这些产品都是加密产品,被美国商务部分类为军用品,所以他们的发行受到控制。您可以通过联系IBM或您的业务伙伴得到这两个产品。您的iSeries不一定安装了数字证书管理器(OS/400的选项34)。如果没有安装,找到您的安装光盘,在GO LICPGM菜单选项通过安装许可程序进行安装。同时确保您的系统是基于最新的PTF)。

 

使用iSeries VPN 向导

 

VPN向导提供了一步一步创建新VPN连接的方法。为了使您的iSeries系统参与动态VPN会话,您必须执行多项任务:

l        首先您需要建立因特网密钥交换策略,它可以激活动态VPN连接。

l        由于IKE密钥协商分两个阶段:密钥安全关联和IPSec安全关联,因此需要执行两个独立的任务:

l        定义每个端点密钥组之间的特性,创建安全连接。

l        建立策略过滤器。

VPN向导可以自动创建这些对象。您可以在向导创建之后手动进行修改。                                                          

 

首先,打开操作导航器。选择您想要创建VPN连接的iSeries系统。在操作导航器中打开iSeries系统,展开网络(Network)”,展开“IP 策略(IP Policies)”,右击虚拟专用网络(Virtual Private Networking)”,(见图1),会出现一个下拉菜单。

图像

1  

点击新建连接(New Connection)” 2显示的内容是在VPN向导中将被执行的任务。记住:你可以在这些对象创建之后对他们进行修改。你也可以基于这些对象创建新的对象。点击“下一步(Next)”继续操作。在下一步中(图3)要求你输入连接名称(Name)和描述(Description)。(注意:连接名称只能包含大小写字母和数字,不允许有特殊字符。)点击“下一步(Next)”需要您决定配置什么类型的连接?你可以选择以下类型:

l        本地网关连接远程网关(Connect your gateway to another gateway)

l        本地网关连接远程主机(Connect your gateway to another host)

l        本地主机连接远程网关(Connect your host to another gateway)

l        本地主机连接远程主机(Connect your host to another host)

图像  

  2

图像  

3

 

VPN连接类型取决于VPN服务器在网络环境中所承担的角色。如果连接端点和数据端点相同,VPN服务器就承担了主机的角色。如果连接端点和数据端点不同,VPN服务器就承担了网关的角色。我们这一例子中的VPN连接是两个VPN服务器之间的连接,所以选择本地主机连接远程主机(Connect your host to another host)(如图4)。点击“下一步(Next)”。

图像  

4

5是因特网密钥交换策略选择。这里你将选择连接加密水平。有三种选择可以使用:

l        最高安全性,最低性能(Highest security,lowest performance)。这种方式以性能为代价提供了最高水平的密钥加密。密钥加密算法十分消耗处理器。如果安全性很重要,并且您有强大的处理器,.就可以选择这种方式。

l        平衡安全性与性能(Balance security and performance)。这可能是最常用的选择,它提供了较好的密钥加密,同时又没有给CPU带来过重的负荷。

l        最低安全性,最高性能(Minimum security,highest performance)。我不推荐这种方式,除非处理器的性能非常有限,以至于正常的操作也会受到影响。

你也可以选择已创建的因特网密钥交换策略。因为我们正在创建一个新连接,所以我们选择平衡安全性与性能的方式。点击“下一步(Next)”继续。

 

图像  

 5 

6是确定本地密钥服务器。需指明标识(通常是IP地址或主机名)和本地主机的IP地址(IP address)。在这种选择中,本地主机作为密钥服务器和VPN连接的连接端点。 

图像  

  6

点击“下一步(Next)”设置远程密钥服务器(如图7)。第一个参数,标识类型(Identifier type),一般使用密钥服务器的IP地址。也可以在标识参数中指明远程密钥服务器的IP地址。预先共享密钥(Pre-sharedkey)是本地密钥服务器和远程密钥服务器的共享密钥。预先共享密钥在密钥加密开始时使用。这一密钥必须与远程密钥服务器中所指明的密钥值完全一致。(注意:这是一个重要的参数-保护这个参数值,不能泄露。)

图像  

  7

点击“下一步(Next)”配置数据服务(如图8)。在这一图中提供了3个参数-本地端口(Local port),远程端口(Remote port)与协议(Protocol)。这一步可以限制只有你所选择的服务或协议可以使用系统之间的VPN连接。例如,如果你只想通过VPN连接在系统之间进行Telnet传输,你可以指明Local port的参数值为“任何端口”(你无需在意是哪个本地系统使用Telnet),指明远程端口的参数值为“23”(你只允许Telnet访问已知的23端口),并且将协议参数设为“TCP”(这样保证了只能使用TCP传输)。如果你希望所有的本地端口可以通过任何协议访问所有的远程端口,就使用默认值任何端口(Any port)和任何协议(Any protocol)。

图像  

8

点击“下一步(Next)”显示的是数据策略(如图9)。和选择因特网密钥交换策略一样,我们必须选择数据策略。和之前一样,选择平衡安全性和性能。此外,可以选择普遍使用的RC4加密算法。您也可以使用已存在的数据策略。

图像  

  9

点击“下一步(Next)”显示的是适用接口界面(如图10)。你可以在这里选择系统中可以使用VPN连接的接口。在图10中,有两个接口与线路相关。以太网线路(ETHLINE)包含两个IP地址-192.168.123.55和192.168.200.55。虚拟线路(VirtualIP)与IP地址192.168.123.13相关。在这个系统中没有配置PPP 线路。选择ETHLINE接口,指定VPN仅能通过这一接口进行传输。点击“下一步(Next)”显示的是新建连接总结(如图11和图12—向下拖动右侧的滚动条就可以看到所有创建的对象)。这些对象是:

l        用于远程密钥服务器(192.168.123.56)的因特网密钥交换策略

l        数据策略(HighlandVPN

l        用于动态密钥交换的动态密钥组(HighlandVPN

l        动态密钥连接(HighlandVPN:L1

点击“完成(Finish)”,在本地系统的QUSRSYS库中创建这些对象。然后新建连接导航器会提示你是否需要现在在适用接口激活这些新创建的策略过滤器。激活这些策略过滤器会重写接口中已生效的其他策略。如果你选择不激活这些策略,你必须之后在操作导航器中激活他们。我这次选择激活过滤器。(注意:因为我正在激活这些过滤器,所以我可以决定如何处理不符合策略的传输。这里选择“允许所有其他传输”,如果你选择“拒绝所有其他传输”,使用这一接口的其他连接可能会失败。)

 

这一步对通过PC上的Client Access配置VPN连接的接口很重要。如果你拒绝所有其他传输,正在进行的Client Access连接将立即终止。一旦创建了VPN连接,我们需要确保访问该接口的所有连接都能使用VPN。然后在iSeries系统上为该接口启动VPN服务器。这样就在本地系统完成了VPN的设置。VPN 设置的目的在于保证本地系统与远程系统连接时的安全性。这是通过在远程系统上执行相同的步骤完成的。你最好使用不同的IP地址和策略名,但是在建立远程系统的远程密钥服务器时请记住预先共享密钥的参数值。实际上你可以以相反的方式考虑这些参数。定义VPN连接的双方-可以根据远程系统的信息决定本地系统的信息,反之亦然。

 

另一个考虑因素是OS/400的系统值,QRETSVRSEC。这一系统值决定了服务器是否需要安全数据通过客户-服务器接口验证目标系统上的用户,它可以保留在主机系统上,但必须设为1。对这一系统值的修改会立即生效。QRETSVRSEC的默认值是0。改变这一系统值需要*ALLOBJ 和 *SECADM的特殊权限。

 

V5R2之前的版本中,我们可以通过操作导航器更新OS/400 IP 包过滤规则,进行IPSec传输。(注意:V5R2中增加了"隐式因特网密钥交换" 这意味着操作导航示意图中自动增加了IKE。)我们必须更新包过滤规则,允许入栈和出栈IKE可以使用UDP端口500。IPSec需要新的过滤规则,这些规则与线路相关联,并且加载了新的过滤规则。

 

开始使用VPN

iSeries 上VPN服务器的启动和其他任何TCP/IP应用的启动一样,可以通过TCP/IP服务命令(STRTCPSVR)启动。STRTCPSVR SVR(*VPN)命令将启动子系统QSYSWRK中控制VPN活动的两个任务- 为连接管理启动任务QTOVMAN,为密钥管理和IKE服务启动任务QTOKVPNIKE。

图像  

 
  10 

图像

 
11
 
图像  

12

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG60","label":"IBM i"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB57","label":"Power"}}]

UID

ibm11146250