广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 3929 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
upside 手机 葫芦墩家族
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖 社区建设奖 优秀管理员勋章
头衔:反病毒 反诈骗 反虐犬   反病毒 反诈骗 反虐犬  
版主
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[资讯教学] 9种方法诊断Windows 2003的IPsec问题
9种方法诊断Windows 2003的IPsec问题
作者:杜莉 来源:赛迪网 发布时间:2006.09.06

【原创翻译,版权所有,如欲转载,请注明原创翻译作者,及文章出处(赛迪网)。违者,赛迪网将保留追究其法律责任的权利!】

在你的局域网内实现用IPsec保护网路通信后,尽管你每一步都是认真按照技术文档来进行的,你还是不确信自己在网路上的通信没有被监听。怎样才能确定IPsec已经真正将你的电脑的网路通信资讯加密了呢?


让我们来看看怎样确定一切运转正常,然后-你应当在进程中发现问题-查看检修IPsec的大图-相关的认证问题。在进程中,我会指出一些Windows Server 2003中内置的工具。当你确实发现网路通信资讯没有被加密的时候,可以用这些工具来诊断出IPsec出现的问题。(但是注意,文中我讲到的技术并不适用于一些特殊的IPsec设备,比如IPsec卡以及基于IPsec的VPN。)


1.检查IPsec是否在工作


即使你已经成功地配置了IPsec,它也可能出现很多错误。当Windows XP或者Windows Server 2003连不上网的时候,你可以确定是出了什么问题。不幸的是,没有什么类似的情况可以让你知道IPsec的状态。根据IPsec的配置,出问题的时候,你或者会连不上网或者是-这种情况更普遍也更不容易察觉-网路可以照常使用,但是资讯没有加密。当你确信你的网路通信资讯已经被加密时,却发现它完全处在不安全的状态,想像一下,这将多么令人震惊。


检查IPsec是否在工作的最快方法就是用网路监视器捕捉到达以及发出电脑的数据包,检查它们是否有被加密。Windows 2003自带网路监视器,你可以打开控制面板的添加/删除程式来安装它以及访问windows组件。安装网路监视器之后,选择捕捉功能表中的“开始”来开始捕捉数据包。然后,执行一些普通的操作,比如浏览另一台电脑上的共用文件夹等,通过类似操作来生成网路活动并产生数据。最后,选择捕捉功能表中的“停止”和“查看”。




图1显示了在电脑没有使用IPsec情况下对两个数据包的捕捉结果。在协议栏你可以看到很多协议。右边是电脑使用IPsec情况下的捕获情况


。可以看到,列表中只有一项协议:压缩安全负载(ESP)。当windows 2003 电脑使用默认IPsec政策时,载数据包捕获过程中只会出现ESP和互联网控制资讯协议(ICMP)。ICMP会出现是因为默认IPsec策略允许ICMP 通信。因此,如果捕捉数据包的时候看到很多协议,你就有理由断定IPsec没有正常起作用。


几乎所有的IPsec问题都是因为在互联网密钥交换(IKE)认证阶段出现了认证问题而引起的。当两台电脑试图建立安全连接(SA)的时候,他们通过特定的过程来授予对方身份识别凭证。IKE是协商SA形式的演算法。身份识别认证可以是事先共用的密钥,数字证书或者Kerbero安全认证。Windows 2003默认的IPsec策略使用Kerberos安全认证。绝大多数情况下,检修IPsec故障就意味着检修认证的进程。


2.重新启动IPsec服务


一旦你确定IPsec没有工作,你应当首先重新启动IPsec服务。这将完全清零IKE协商的状态。IPsec在策略有重大更改后不起作用的这种情况下,该措施通常都能够恢复IPsec的功能。该方案有两个优点:一是不需要重启伺服器,另一个是用很短的时间就可以实现。通过执行如下Net命令,你可以在Windows 2003电脑上立刻重启IPsec服务。


net stop policyagent

net start policyagent


现在,再次执行捕捉数据包的程式,或者运行我下文要讲到的Netsh命令测试。


3.在时间日志中诊断IKE问题


如果重启IPsec服务不能解决故障,你可以继续检查安全时间日志。网路登录日志监听各个SA的建立和删除。如果你启用了监听登录事件策略的成功失败监听,这些事件就会被记录在日志中。一切运转正常的时候,成功代码显示为541,542和543。然而,我们讨论的是IPsec不工作的时候该怎么办,所以我们要找失败代码,表1中显示了各个失败代码。图2显示的是失败事件547。






SA事件记录有一个问题是这些事件很快会填满你的日志。如果你只是要监听登录事件而不想让安全事件填满IKE条目的话,你可以创建 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Audit\DisableIKE Audits subkey然后把它的值设为1来停止IKE监听。


4.使用共用密钥认证


由于它是依靠共用字符串而不是诸如Kerberos或者证书那样更复杂的方法,共用密钥认证方法能够很有效的使IPsec工作起来。当然,如果你已经使用共用密钥,但还是出现故障的话,你应该核实一下每台电脑上事先共用的密钥是否匹配。如果你的事先共用密钥有错误,IPsec是不会工作的。


如果用共用密钥认证方法可以使IPsec工作,你就会知道该检查Kerberos或者证书认证机制了。在默认的IPsec策略中,从共用密钥认证方式切换到Kerberos安全认证方式需要执行以下几个步骤:

1.关闭所有的IPsec可能应用到的Active Directory(AD)服务

2.点击“开始”,“运行”,然后输入gpedit.msc来开始编辑本地策略。

3.进入路径 电脑配置\系统设置\安全设置\IP安全策略的组策略对象编辑节点。

4.右键点击导致故障的策略然后选择”属性“

5.在规则标签中,选择过滤列表中“所有IP通信”,并点击“编辑”。

6.在“编辑规则属性”对话方块中,选择“认证方法”标签然后单击“添加”来添加新的认证方法。

7.选择“使用该字符串发报”按钮并输入一个事先共用的密钥。然后单击“确定”。

8.使用“认证方法”标签中的“上移”按钮来把事先共用密钥移到列表顶端。


这些说明是假设你没怎么定制IPsec策略的。总的来说,你应当总是创建新的策略而不要编辑已经存在的策略。但是,在当前这种情况下,你只是添加一种认证方法,解决故障之后,可以将它降级。变换到共用密钥认证方法会显着的简化认证过程,所以它很有可能使IPsec对你的网路起作用。


5.确定哪种IPsec策略是有效的


IPsec不工作很有可能是因为网路上的电脑被指定了互补相容的策略。例如,一个策略可能试图使用证书认证,然而其他策略则只接受共用密钥认证。有两种方法来确定当前主导的是哪种IPsec策略。第一种方法是用IP安全监听器。如图3所示,内置的微软管理平台(MMC)IP安全监听器替代了Windows2000的Ipsecmon.exe功能。它能确定当前电脑上哪种策略是起作用的。




第二种方法是运行Netsh命令 netsh ipsec dynamic show all|more 从命令行得到相同的资讯。该命令将所有的IPsec资讯放到剪切板上。你可以把该资讯粘贴到文本文档中,如图4所示。在文本中,可以看到一个策略应用到了本地级别(例如,客户端:只响应)以及通过AD应用(例如,伺服器:安全请求)。一旦你得到了这些资讯,你就可以很快发现IPsec不工作的原因是:或者电脑没有指定策略,或者指定了不相容的策略。解决策略不相容问题之后,IPsec可能就正常工作了。




6.检查Kerberos认证的问题


Kerberos认证依靠AD。如果产生了Kerberos问题,很可能跟电脑帐户的问题有关。你可能需要重置电脑帐户的密码或者重启电脑帐户。如果继续有故障,可能就需要将Kerberos网路通信与域控制器(DC)上的IPsec隔离。运行命令 netsh ipsec dynamic set config ipsecexempt value=0Win2000容许Kerberos认证通信,但是Windows2003不容许。该Netsh命令强制Windows2003如Win2000一样操作。


7.检查证书认证的问题


如果基于证书的认证系统有问题,很大可能是如下三种情况之一:没有安装证书,证书过期,或者证书撤销列表(CRL)不完整。默认的IPsec证书有效期是2年,这对大多数忘了该有效期的组织来说都足够长了。不像一些证书模板,默认情况下,IPsec证书模板没有设置成自动注册模式。


确定证书认证到底是上述哪种问题的最简便方法就是打开本地电脑的证书记忆体。你也可以使用内置MMC证书工具来请求一个新的IPsec证书。当你创建了内置MMC证书来检查已安装的IPsec证书的过期数据时,需要确认你选择了“电脑帐户”选项,如图5所示。如果选择的是“我的用户帐户”或者“伺服器帐户”选项的话,你就无法在定位到该找的IPsec 证书。




从长远角度来看,最好的解决方法是创建一个支援自动注册(仅限于Windows2003 企业版)的新的IPsec模板。这样,IPsec证书就可以自动更新,并且只要你选择了自动更新选项你就不需要记住IPsec证书有效期是2年了。


证书正在使用时,IPsec检查CRL来确定证书是否已被废除。IPsec要花一定的时间来做这个检查,并且很有可能在得到结果之前,系统就被关闭了。可以运行 netsh ipsec dynamic set config strongcrlcheck 0 来取消CRL检查。


8.检查是否所有人都使用客户端策略


IPsec的新的管理员有时候对网路上的所有电脑都应用客户端(只响应)策略,然后纳闷为什么没有加密任何资讯。对开始生效的IPsec来说,搭档中的一个需要请求使用IPsec的策略。如果所有的主机都指定的是客户端(只响应)策略,那么没有主机会请求使用IPsec。要解决该问题,可以在电脑上激活各种伺服器策略中的一个,然后运行GPU更新。


9.检查IKE日志


如果所有的前述措施都没有解决IKE问题,你就不得不按照更详细的步骤来决定方案。这种情况下,你需要有互联网安全连接和密钥管理协议RFC 2408和IKE RFC 2409(ISAKMP)方面的更进一步的知识。运行 netsh ipsec dynamic set config ikelogging 1来开始追踪IKE的协商。可以将ikelogging的值增加至7(记录所有可能的数据)来增加记录下来的资讯量。IKE跟踪日志位于\%systemroot%\Debug\Oakley.log,可以用文本编辑器来查看。需要注意的是,记录文档的内容很密集,刚接触IPsec的人很可能很快就受不了了。


慎用自定义


Windows2003带的IPsec策略是可以直接使用的。只有你自定义它们使用基于证书或者基于共用密钥的认证系统的时候,才会产生问题。如果需要修改IPsec的认证方法,你应该创建新策略而不是对已存在的策略进行修改。只要遵从这个建议,在调查各种突然出现的问题时,都能够迅速切换到起作用的配置上。


===================================================


文章链结:http://www.windowsitpro.com/WindowsSecurity/Article/ArticleID/92907/WindowsSecurity_92907.html

作者:Orin Thomas



爸爸 你一路好走
献花 x0 回到顶端 [楼 主] From:台湾 和信超媒体宽带网 | Posted:2006-11-05 03:53 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.051340 second(s),query:15 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言