NAP IPSEC配置与管理详解

说明:版权所有,若要转载请与作者联系!

好久没有写文章了,呵呵,惰性啊,今天一起聊聊Windows Server 2008中NAP的IPSEC的配置与实现等东东,首先我们了解下IPSEC NAP大致的工作过程,首先看以下简图:

图表 1

图表 2

一、对应的文字阐述如下:

1、 IPSEC EC发送当前健康状态至HRA(健康注册颁发机构);

2、 HRA发送客户端的健康状态至NAP 健康策略服务器(NPS);

3、 NAP 健康策略服务器评估客户端的当前健康状态信息,以决定其是否符合健康策略,并把结果发回给SHA,如果不符合,在发回的消息中也包含健康Remediation 的指令;

4、 如果符合健康策略,则HRA为客户端分发健康证书,则客户端可以使用此证书与其他符合健康策略的计算机开始初始化IPSEC连接;

5、 如果不符合健康策略,HRA通知NAP客户如何校正其健康状态并不发给客户端健康证书,因此客户端不能初始化IPSEC连接,但是客户端可以与补救服务器通信,以校正客户端的健康状态;

6、 NAP 客户端发送相关的更新请求至补救服务器;

7、 补救服务器提供符合健康策略的更新给NAP 客户端,NAP客户端更新其健康状态;

8、 NAP客户端发送其更新过的健康状态信息至SHA,SHA发送客户端的健康状态信息至NAP健康策略服务器;

9、 假设其符合健康状态策略,则发送结果至SHA,并颁发健康证书给客户端,客户端可以使用此证书开始IPSEC通信。

二、配置过程如下:

1、必须要把NYC-DC-01的计算机提升为域woodgrovebank.com的DC,并在此计算机上安装证书服务,用来颁发证书,并创建一个全局组为IPSEC NAP Exemption,因为在IPSEC NAP的网络环境中把网络可以从逻辑上划分为三个网络,安全网络(有健康证书且要求IPSEC安全通信的计算机所在的网络,如CA)、边界网络(有健康证书但是不要求IPSEC安全通信的计算机所在的网络,如HRA,补救服务器),、受限网络(没有健康证书的计算机所在的网络),通常全局组IPSEC NAP Exemption的成员就为边界网络中的计算机,这样不管当前计算机的健康状态是什么,都能够获得一个健康证书,并能够与网络中的任何一台计算机进行通信。所以呢,我们在此次测试中就应该把NYC-SRV-01这台计算机添加为此全局组的成员。

2、在DC上面安装CA并配置CA。此CA用来向 HRA和IPSEC NAP Exemption组成员发布健康证书。所以安装企业根CA,配置CA证书模板,并发布至活动目录中:证书颁发机构 右键选择“证书模板” 管理 复制“WorkStation Authentication”模板,设置以下参数:模板名称为:System Health Authentication,并选中下面的“发布证书至活动目录中”,如下图所示:

 

切换至“扩展”选项卡,定位于“应用程序策略”,并点击“编辑”按钮,再单击“添加”按钮,找到system Health Authentication,其值为1.3.6.1.4.1.311.47.1.1 (有二个System Health Authentication,通常是下面一个);再切换至“安全”选项卡,给全局组IPSEC NAP Exemption“读取、注册、自动注册”权限,这样,全局组IPSEC NAP Exemption中的成员就不管其健康状态是什么,都能够自动获取此证书。关掉证书模板对话框。为了具有权限的用户能够申请此证书必须把它发布出来:在“证书颁发机构”右击“证书模板”,新建 要颁发的证书模板 System Health Authentication。如下图所示: 

 

3、配置默认域策略,允许自动颁发证书。组策略管理 默认域策略 计算机配置 Windows设置 安全设置 选中“公钥策略” 右边详细窗格中,选择“证书服务客户端――自动注册” 启用,并选中下面两个复选框;在计算机NYC-SRV-01上面使用命令gpupdate /force强制刷新组策略,打开MMC,并选择“证书”,选择“计算机”,在证书下面验证已经成功获得上面的的证书。

4、在NYC-SRV-01服务器上安装角色“Network Policy Server”,并添加角色服务“Health Registration Authority”,打开Health Registration Authority”控制台 右键选中“Certificate Authority” 添加证书颁发机构 选择前面安装的CA证书;选择Certificate Authority”的属性 确保在此选择的CA类型与前面的相同,因为前面安装的是企业CA,所以在此也选择企业CA,并指定经过身份验证的与匿名都使用“System Health Authentication”证书模板,如下面图所示:

 

因为HRA必须要为符合健康策略的计算机颁发证书,所以HRA必须有“请求、发布与管理证书”的权限,同时如果HRA颁发的健康证书过期了HRA必须要从对应计算机的证书存储中删除证书,所以HRA还必须有“管理CA”的权限。如果HRA与CA在不同的计算机,则必须在CA的属性“安全”选项卡,给HRA这台计算机帐户赋予以上的权限,如果HRA与CA在同一台计算机,则只需要给“Network Service”赋予以上的权限,因为在此例当中,我们把HRA与CA安装在不同的计算机上,所以在此,赋予计算机帐户NYC-SRV-01以上的权限,如下图所示:

 

5、打开“网络策略服务器”控制台,在右边详细窗格中选择“配置NAP”,选择“IPSEC with Health Registration Authority(HRA)”,接下来在本例中都以默认的值进行设置就OK了,不用做过多的其他设置。在“网络策略服务器”控制台中选择“网络访问保护” 系统健康校验 双击右边详细空格中选择条目 点击“配置”按钮,只选择“启用自动更新”,清除其他所有的选择。在“网络访问保护”下面右键选择“补救服务器组”选择添加并把NYC-SRV-01添加进去,当客户端计算机不符合健康策略要求的时候,将会连接到此计算机进行补救,至此服务器相关的设置已经配置完毕,接下来的过程将会配置客户端。如下图所示:

6、在NYC-CLI-01与NYC-CLI-02的两台客户端计算机上都进行如下操作:输入gpedit.msc 计算机配置 管理模板 Windows组件 系统中心,选择右边窗格中的“开启安全中心(仅域PC)”并启用它,关闭此窗口;接着输入napclcfg.msc,选择“强制客户端”并启用右边详细窗格中的“IPSEC Relying Party”,再选择左边的“健康注册设置” 受信任的服务器组,在受信任的服务器组中添加如下两项内容:http://nyc-srv-01.woodgrovebank.com/domainhra/hcsrvext.dll

http://nyc-srv-01.woodgrovebank.com/nondomainhra/hcsrvext.dll

设置的结果如下所示:

打开服务控制台,并把服务”Network Access Protection Agent“设置为自动为启用它。

最后的结果可以参考下图所示,当我把客户端的自动更新关闭的时候,就会马上在任务栏的右下角显示出不符合安全策略的要求,并会连接到补救服务器进行补救:

 

 

如果此时你打开计算机的证书控制台,会发现从HRA那里获得了一个健康证书,如下图所示:

最后,来做一个IPSEC测试,仅仅允许NYC-CLIENT-01至NYC-CLIENT-02的安全通讯,在此以命令ping做为测试的例子。在NYC-CLIENT-01至NYC-CLIENT-02上启用防火墙,默认的情况下,会拒绝ping的数据包通讯,如果此时从NYC-CLIENT-01 ping 会出现“请求超时”,在NYC-CLIENT-01至NYC-CLIENT-02新建一个入站规则,安全规则仅允许安全的入站ping通讯,创建好的结果如下图所示:

再在连接安全规则下面创建一个规则,规则名取为”allow secure connection”,如下图所示,注意一定要选中“仅接受健康证书”:

在两台计算机上都做好了相应规则后,我们在NYC-CLIENT-01上ping 192.168.1.12结果如下,除了第一个包进行安全协商,其他连接都正常,如果此时删除证书存储中的“健康证书”,则又会返回“Request timed out”,这就是大家可以看到下面两行的情形。

至此,本次实验测试就先告一段落,有时地方没有详细写具体操作过程,如果大家有什么疑问,欢迎交流指正,谢谢!冲凉了!