IPsec VPN路由器配置:ISAKMP策略
易管天下 www.egtx.net 来源:网摘
简介:前一篇文章中讨论了IPsec协议和基本的IPsec VPN连接模型。现在我们将学习如何使用IKE实现ISAKMP协议来保证安全的VPN配置。 部署一个使用IPsec的IOS路由器要从配置ISAKMP策略和路由器的ISAKMP认证密钥数据开始。 ...
前一篇文章中讨论了IPsec协议和基本的IPsec VPN连接模型。现在我们将学习如何使用IKE实现ISAKMP协议来保证安全的VPN配置。
部署一个使用IPsec的IOS路由器要从配置ISAKMP策略和路由器的ISAKMP认证密钥数据开始。如果路由器仅仅与Site-to-Site拓扑中的另外一个路由器相连,那么ISAKMP配置就完成了。然而,如果路由器也要支持Client-to-Site,就还需要一个额外的IKE模式配置。在我们进行ISAKMP策略配置之前,我们先看一些安全性技巧:
对于初学者,IOS可交换地在配置模型和EXEC模型中使用ISAKMP和IKE。记住IKE是一个支持ISAKMP的协议——ISAKMP是规则,IKE执行规则。
IKE监听500端口,使用UDP来协商发送和接收报文。如果你在VPN路由器前部署了一个防火墙,或者你正在尝试建立一个穿越防火墙的IPsec客户端连接,这就可能出现问题。而且除非你使用UDP的500端口,否则传统的IKE将不能正常工作。
IKE不像Network Address Translation (NAT)。当两个IPsec节点之间使用NAT时,基于IP地址绑定的预共享密钥认证将无法工作。NAT转换修改了源地址和目标地址,结果会造成密钥与发送或接收主机的不匹配。在大多数基于有状态的防火墙使用的Port Address Translation (PAT)也会破坏IPsec连接。然而,IOS的后续版本将使用IPsec Nat透明及Cisco 通道控制协议 (cTCP)解决IPsec和NAT/PAT之间的操作问题。这两种解决方案都在IKE协商阶段中使用。NAT透明在IKE第一阶段增加了一个NAT发现阶段原件以及在第二阶段增加了一个NAT穿越工具。操作上,IPsec NAT透明将IKE移到UDP端口4500,而且在需要时将IPsec数据包封装到UDP帧中。
虽然NAT透明解决了一些问题,但它不能解决所有问题。即使有NAT透明,IPsec客户端连接也不能在有严格防火墙规则的环境中工作。如果在1024之上的UDP端口访问对原始连接关闭,客户端就不能与网关建立连接。为了解决这种环境的问题,Cisco开发了通道控制协议(Tunnel Control Protocol,cTCP)。cTCP接管NAT透明所不能解决的工作,为IKE和ESP数据包提供了TCP封装。通过cTCP的配置,IPsec网关和客户端就能够使用具体的TCP服务端口发送IPsec数据。这使得通过TCP端口80或443发送IPsec数据成为可能。这也使得我们能够更容易地打开只允许有限的网络服务穿越的网络环境中的IPsec客户端连接。
NAT透明默认是激活的,并且它也被整合成为支持这个功能的IOS版本的IKE协商过程的一部分。Cisco通道控制协议需要经过配置,它也是路由器全局加密策略的一部分。下面我们将学习将cTCP配置成为IKE模式配置的一部分的方法。
配置一个ISAKMP策略
接下来让我们看看配置一个ISAKMP策略的各个细节。我们从最基本步骤开始:激活路由器上的ISAKMP(和IKE):
outlan-rt02(config)#crypto isakmp enable
outlan-rt02(config)#
Oct 13 15:09:27 EST: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
outlan-rt02(config)#
一旦ISAKMP被激活,我们需要为每一个策略实体定义五个策略参数。如果没有定义策略,一个使用所有默认值的策略将会被使用。当创建一个策略时,如果没有显式定义策略参数,默认的参数将会被使用。策略的参数及其默认值如下:
1. IKE策略加密,默认值为数据加密标准(Data Encryption Standard,DES)
2. IKE策略哈希,默认值为Secure Hash Standard-1 (SHA-1)
3. IKE密钥交换,默认值为Diffie-Hellman Group 1 (768-Bit)