利用证书实现IPSEC

利用证书建立IPSEC安全通讯

在讲解IPSEC策略之前,首先必须了解微软预定义的IPSEC策略

1. Client : 这种方式用一句不恰当的比喻:中国在任何情况下不首先谋求使用核武器,即发起通讯的计算机在任何情况下不首先谋求IPSEC通讯,如果对方需要IPSEC,则启用IPSEC
2.  Server :首先谋求使用IPSEC,如果对方不接受,则转而采用普通的通讯方式。
3.  Secure server: 在任何情况下都谋求使用“核武器”
见下图:
original.aspx
这三种方式各自有各自得使用范围,比如,在高安全环境中,需要使用安全服务器方式,但在另外的环境中,则需要其他的方式:比如两台域控制器分列在企业防火墙的两端,需要进行安全的活动目录复制,我们可以考虑采用IPSEC,但每个服务器又需要接受本地的客户机的安全验证审核,本地的计算机之间并没有采用IPSEC,则在两台服务器上可以采用SERVER方式的IPSEC策略。这样即可实现DC间复制采用IPSEC,而本地的安全通讯采用普通通讯方式。
 

windows网络中,建立IPSEC的方法有3种:

1.  利用ADkerberos协议,自动的建立IPSEC的安全隧道
2.  利用预共享密钥的方式建立IPSEC的安全通信
3.  利用CA颁发的证书来建立安全隧道
这三种方式各自有各自得特征
首先,第一种方式最为简便,只需要在本地策略或通过组策略,即可实现一组计算机采用相同的IPSEC策略安全通讯。注意,这也是Windows系统默认的IPSEC默认的响应规则。
original.aspx
 
这种方式设置最为简单,只需要在域内要求安全通讯的计算机上选择此项,则立刻实现安全通讯。但是其局限性也很大:只能是同一个AD内(注意不是同一个域内,是整个森林范围内)的计算机才可以采用该项方式。
 
2.第二种方式采用预共享密钥,这种方式使用灵活,可以在不是同一个AD内的计算机之间实现IPSEC通讯安全,这种灵活的方法甚至可以扩展到非微软的产品上去:路由器或其他设备之间和微软的产品进行安全通讯。
其缺点是安全性差:本质上,预共享密钥只能防重放,不能防偷窥,而且其设置的密钥通过IPSEC策略窗口是可见的:
 
original.aspx
 
 
 
 
 
 
 
 
 
 
 
 

3种方式就是本次讨论的重点:采用证书实现IPSEC的安全通讯,这种方式的灵活性不亚与预共享密钥,但安全性却非常让人放心。

 
首先,要使用证书进行IPSEC,要先申请证书,安装和设置证书服务的操作不在此次讨论的范围,我们先假设在一台Windows 2003服务器上已经完成了证书服务的安装,然后用户计算机连接到证书申请网页申请证书:
original.aspx
选择高级申请:
original.aspx
在证书申请页面中,除了将证书的用途设置为IPSEC外,关键的地方有两个:一个是make keys as exportable,该项使得我们可以导出证书的私钥,否则将不能导出私钥,我建议首先导出私钥,保存在一个安全的地方,然后再将证书导入,这次设定不允许导出,以保证安全性。另一个是store certificate in local computer certificate store,证书被保存成计算机证书,如果我们不选择该项,则该证书成为用户证书,不适合IPSEC使用。
 
CA审核批复了证书申请后,即可安装该证书:
original.aspx
安装证书后,可以通过MMC证书管理控制台核实证书已经安装在计算机上了,注意不是安装在用户上了。
 
下一步,如果我们申请证书的CA不是微软预设的国际公认的“流氓老大”,则在IPSEC的设置界面中,将不出现我们申请的CA,所以我们还需要将CA的证书导入到受信任的CA列表当中去,才可以采用该CA申请的证书:
首先,在证书申请WEB页中下载CA的证书文件,然后将其导入受信任的根证书中:
original.aspx
 
original.aspx
观察导入成功:
original.aspx
 
然后,再IPSEC的策略设置中,选择该CA作为IPSEC审核的方法,这样,从同一个CA申请证书的计算机之间就建立起了安全可靠的IPSEC通讯。
original.aspx
 
 
参考资料:
KB841798
KB816514
 
祁清华   [email]qiqinghua@snda.com[/email]    pt2368
2005-11-2