outlan-rt02(config-isakmp)#lifetime 300
在一个Site-to-Site的路由器配置中,我们需要定义的最后一个ISAKMP参数是认证参数。IOS支持3种认证:RSA签名、RSA现时标记和预共享密钥。使用RSA签名认证要配置路由器使用X.509基于证书的认证。这是最安全的方式,但它需要部署和管理一个证书制授权服务器。因为它有这个额外需求,这是一个最少用的方法。更多关于RSA签名的信息可以查询Cisco的网站。
RSA现时标记同样可以使用,一个RSA现时标记是一个由IKE发起者产生的随机数,并用接收者的公钥加密。使用RSA现时标记的好处是它们非常安全;而且它们不需要证书服务器。但是其缺点是节点需要拥有与其通信的所有节点的公钥。这意味着使用这个方法会出现大量的工作量。
最后一个是预共享密钥。预共享密钥是用于同时支持Site-to-Site和Client-to-Site VPN的。虽然预共享的密钥是最不安全的方法,但它们却是最常用于网关节点的认证。这是因为它们速度快并且容易设置,而且通过适当的安全性配置,在主机之间使用一个通用密钥的风险会很小。在一个IPsec客户端配置中,预共享密钥是用IKE Extended Authentication(Xauth)来管理的,这是一个使用一个用户密码加组密码的二元认证方法。组密码功能上是作为预共享密钥使用的,它是一个所有客户端和网关使用的公用值,而用户密码是唯一用于具体用户的。
我们将在后面更深入地看看如何为网关和客户端配置RSA现时标记和共享密钥配置。让我们先举例说明预共享密钥的配置方法,下面是标准的配置:
outlan-rt02(config-isakmp)#authentication pre-share
We are done with our ISAKMP configuration. Here is what our policy statement looks like:
crypto isakmp policy 10
encr 3des
hash sha
lifetime 300
authentication pre-share
group 2
!
crypto isakmp keepalive 20 5
crypto isakmp nat keepalive 30
注意除了我们的ISAKMP策略,这里多了两个keepalive语句。这是必须作为全局加密配置命令而增加的,因为默认的IOS加密配置把keepalive服务禁用了。ISAKMP的keepalive是通过全局配置命令<crypto isakmp keepalive {10-3600 sec}{2-20 sec}>配置的。当ISAKMP的keepalive激活后,路由器会每隔10到3600秒发送Dead Peer Detection (DPD)消息。如果没有收到DPD的响应,路由器就会以更高频率地发送DPD消息——在2到60秒之间。如果节点路由器在高频探测激活后还不能响应,发送消息的路由器会删除这个节点的SA。<crypro isakmp nat keepalive {5-3600}>命令就是在路由器支持IPsec客户端连接时使用的。如果没有收到从客户端发来的流量,一个keepalive数据包会在间隔时间到达前而流量没有发出时被发送出去。
IKE模式配置
关于IPsec客户端支持,我们来接着看IKE模式配置安装。为了支持Client-to-Site的IPsec配置,客户端要求有一个安全的IP身份。然后IPsec客户端的IP地址将被用于所有与其他由IPsec网关保护的安全主机的IP通信。IP地址分配,以及其他全部的客户端配置参数(如域名、子网掩码、DNS服务器)都定义在IKE模式策略中。IKE客户端配置依赖于ISAKMP策略定义。
outlan-rt04#config t
Enter configuration commands, one per line. End with CNTL/Z.
outlan-rt04(config)#crypto isakmp policy 1000
outlan-rt04(config-isakmp)# encr 3des
outlan-rt04(config-isakmp)# hash md5
outlan-rt04(config-isakmp)# authentication pre-share
outlan-rt04(config-isakmp)# group 2
outlan-rt04(config-isakmp)#exit
outlan-rt04(config)#
IKE模式配置有三个部分。第一部分是ISAKMP客户端组。这是使用命令<crypto isakmp client configuration group {group name}>创建的。这个命令定义了大多数的客户端配置和组策略信息,这些信息是用于支持IPsec客户端连接的。第二部分是一个客户端IP地址池的创建,IP地址是客户端配置组分配IP给客户端的地方。它是通过使用全局配置命令<ip local pool {pool-name} {start-ip} {end-ip}>来创建的。最后一部分是半隧道的客户端访问策略访问控制列表(ACL)。ACL定义了可以通过IPsec客户端IP接口访问的网络。如果没有定义ACL,客户端会使用一个catch-all访问策略,它表示所有网络都应该通过IPsec客户端IP接口访问。半隧道的意思是一个IPsec客户主机可能想要通过一个“非安全”的环境访问一些IP节点,而其它的客户主机则通过一个“安全的”环境访问。这个方法的好处是通过激活半隧道,用户可以同时访问本地LAN设备和因特网,比如,使用客户端的LAN接口访问LAN服务,而不需要通过IPsec VPN网关。而它的缺点是当VPN客户端激活时,主机是同时连接到非安全和安全网络的。这会带来安全资源暴露的风险。ISAKMP客户端组需要五个必要的参数来正确工作。除了基本的配置参数外,客户端组策略还可以定义许多客户端条件参数,但这根据你的IOS版本不同而有所不同。我们将在后面的Client-to-Site拓扑配置中讨论这些附加的属性。下面是客户端组定义使用的五个基本参数: