网管理员必看-IPsec全功略
作者: 严华
责任编辑: 阚智
来源: 中小企业IT采购
时间: 2006-11-27 14:34
关键字: IPsec
浏览: 0
点赞: 0
收藏: 0
Windows中有很多有用的技术,尽管对于普通用户来说无法如此深的应用,但是对于网络管理员来说,则要对其中的技术有更深的把握。比如,IPSec。
IPSec可以提供访问控制、无连接完整性、数据源鉴别、载荷机密性和有限流量机密等安全服务,弥补由于TCP/IP协议体系自身带来的安全漏洞。IPSec不是一种协议而是由IKE(Internet Key Exchange,互联网密钥交换)、AH(Authentication Header,鉴定包头)和ESP(Encapsulation Security Payload,负载安全封装)等组件组成。如图1所示。 而当用户在企业局域网中应用了Windows 2003的IPsec后,如何确认网络通信信息已经加密了呢?
检查IPsec是否在工作
即使用户已经成功地配置了IPsec,它也可能出现很多错误。
而检查IPsec是否在工作的最快方法就是用网络监视器捕捉到达以及发出计算机的数据包,检查它们是否有被加密。Windows 2003自带网络监视器,网管可以打开控制面板的添加/删除程序来安装它以及访问windows组件。安装网络监视器之后,选择捕捉菜单中的“开始”来开始捕捉数据包。然后,执行一些普通的操作,比如浏览另一台电脑上的共享文件夹等,通过类似操作来生成网络活动并产生数据。最后,选择捕捉菜单中的“停止”和“查看”。
图2显示了在计算机没有使用IPsec情况下对两个数据包的捕捉结果。在协议栏可以看到很多协议。右边是计算机使用IPsec情况下的捕获情况。可以看到,列表中只有一项协议:压缩安全负载(ESP)。当Windows 2003 计算机使用默认IPsec政策时,载数据包捕获过程中只会出现ESP和互联网控制信息协议(ICMP)。ICMP会出现是因为默认IPsec策略允许ICMP 通信。因此,如果捕捉数据包的时候看到很多协议,就有理由断定IPsec没有正常起作用。
几乎所有的IPsec问题都是因为在互联网密钥交换(IKE)认证阶段出现了认证问题而引起的。当两台计算机试图建立安全连接(SA)的时候,他们通过特定的过程来授予对方身份识别凭证。IKE是协商SA形式的算法。身份识别认证可以是事先共享的密钥,数字证书或者Kerbero安全认证。Windows 2003默认的IPsec策略使用Kerberos安全认证。绝大多数情况下,检修IPsec故障就意味着检修认证的进程。
重新启动IPsec服务
一旦确定IPsec没有工作,应当首先重新启动IPsec服务。这将完全清零IKE协商的状态。IPsec在策略有重大更改后不起作用的这种情况下,该措施通常都能够恢复IPsec的功能。该方案有两个优点:一是不需要重启服务器,另一个是用很短的时间就可以实现。通过执行如下Net命令,你可以在Windows 2003计算机上立刻重启IPsec服务。
net stop policyagent
net start policyagent
现在,再次执行捕捉数据包的程序,或者运行我下文要讲到的Netsh命令测试。
在时间日志中诊断IKE问题
如果重启IPsec服务不能解决故障,可以继续检查安全时间日志。网络登录日志监听各个SA的建立和删除。如果启用了监听登录事件策略的成功失败监听,这些事件就会被记录在日志中。一切运转正常的时候,成功代码显示为541,542和543。
使用共享密钥认证
由于它是依靠共享字符串而不是诸如Kerberos或者证书那样更复杂的方法,共享密钥认证方法能够很有效的使IPsec工作起来。所以要检查Kerberos或者证书认证机制了。在默认的IPsec策略中,从共享密钥认证方式切换到Kerberos安全认证方式需要执行以下几个步骤:
1.关闭所有的IPsec可能应用到的Active Directory(AD)服务
2.点击“开始”,“运行”,然后输入gpedit.msc来开始编辑本地策略。
3.进入路径 计算机配置\系统设置\安全设置\IP安全策略的组策略对象编辑节点。
4.右键点击导致故障的策略然后选择”属性“
5.在规则标签中,选择过滤列表中“所有IP通信”,并点击“编辑”。
6.在“编辑规则属性”对话框中,选择“认证方法”标签然后单击“添加”来添加新的认证方法。
7.选择“使用该字符串发报”按钮并输入一个事先共享的密钥。然后单击“确定”。
8.使用“认证方法”标签中的“上移”按钮来把事先共享密钥移到列表顶端。
这些说明是假设没怎么定制IPsec策略的。总的来说,应当总是创建新的策略而不要编辑已经存在的策略。但是,在当前这种情况下,只是添加一种认证方法,解决故障之后,可以将它降级。变换到共享密钥认证方法会显著的简化认证过程,所以它很有可能使IPsec对你的网络起作用。
确定IPsec策略是否有效
IPsec不工作很有可能是因为网络上的计算机被指定了互补兼容的策略。例如,一个策略可能试图使用证书认证,然而其他策略则只接受共享密钥认证。有两种方法来确定当前主导的是哪种IPsec策略。第一种方法是用IP安全监听器。内置的微软管理平台(MMC)IP安全监听器替代了Windows的Ipsecmon.exe功能。它能确定当前计算机上哪种策略是起作用的。
第二种方法是运行Netsh命令 netsh ipsec dynamic show all|more 从命令行得到相同的信息。该命令将所有的IPsec信息放到剪切板上。可以把该信息粘贴到文本文档中。一旦你得到了这些信息,你就可以很快发现IPsec不工作的原因是:或者计算机没有指定策略,或者指定了不兼容的策略。解决策略不兼容问题之后,IPsec可能就正常工作了。
检查Kerberos认证
Kerberos认证依靠AD。如果产生了Kerberos问题,很可能跟计算机帐户的问题有关。可能需要重置计算机帐户的密码或者重启计算机帐户。如果继续有故障,可能就需要将Kerberos网络通信与域控制器(DC)上的IPsec隔离。运行命令 netsh ipsec dynamic set config ipsecexempt value=0Win2000容许Kerberos认证通信,但是Windows2003不容许。该Netsh命令强制Windows2003如Win2000一样操作。
检查证书认证
如果基于证书的认证系统有问题,很大可能是如下三种情况之一:没有安装证书,证书过期,或者证书撤销列表(CRL)不完整。默认的IPsec证书有效期是2年,这对大多数忘了该有效期的组织来说都足够长了。不像一些证书模板,默认情况下,IPsec证书模板没有设置成自动注册模式。
确定证书认证到底是上述哪种问题的最简便方法就是打开本地计算机的证书存储器。
从长远角度来看,最好的解决方法是创建一个支持自动注册(仅限于Windows2003 企业版)的新的IPsec模板。
证书正在使用时,IPsec检查CRL来确定证书是否已被废除。IPsec要花一定的时间来做这个检查,并且很有可能在得到结果之前,系统就被关闭了。可以运行 netsh ipsec dynamic set config strongcrlcheck 0 来取消CRL检查。
检查客户端策略
IPsec的新的管理员有时候对网络上的所有计算机都应用客户端(只响应)策略,然后纳闷为什么没有加密任何信息。对开始生效的IPsec来说,搭档中的一个需要请求使用IPsec的策略。如果所有的主机都指定的是客户端(只响应)策略,那么没有主机会请求使用IPsec。要解决该问题,可以在计算机上激活各种服务器策略中的一个,然后运行GPU更新。
检查IKE日志
如果所有的前述措施都没有解决IKE问题,就不得不按照更详细的步骤来决定方案。这种情况下,需要有互联网安全连接和密钥管理协议RFC 2408和IKE RFC 2409(ISAKMP)方面的更进一步的知识。运行 netsh ipsec dynamic set config ikelogging 1来开始追踪IKE的协商。可以将ikelogging的值增加至7(记录所有可能的数据)来增加记录下来的信息量。IKE跟踪日志位于\%systemroot%\Debug\Oakley.log,可以用文本编辑器来查看。需要注意的是,记录文档的内容很密集,刚接触IPsec的人很可能很快就受不了了。
最后,笔者要强调的是,尽管IPsec是Windows自带的很有效的安全技术,但是由于其是现有IP协议的一种加密,在一定程度上会增加网络负荷,所以对于广域网或着对信息保密要求比较高的企业网络很适用,而对于普通局域网则可参考使用。而上述讲的技术并不适用于一些特殊的IPsec设备,比如IPsec卡以及基于IPsec的VPN。
IPSec可以提供访问控制、无连接完整性、数据源鉴别、载荷机密性和有限流量机密等安全服务,弥补由于TCP/IP协议体系自身带来的安全漏洞。IPSec不是一种协议而是由IKE(Internet Key Exchange,互联网密钥交换)、AH(Authentication Header,鉴定包头)和ESP(Encapsulation Security Payload,负载安全封装)等组件组成。如图1所示。 而当用户在企业局域网中应用了Windows 2003的IPsec后,如何确认网络通信信息已经加密了呢?
检查IPsec是否在工作
即使用户已经成功地配置了IPsec,它也可能出现很多错误。
而检查IPsec是否在工作的最快方法就是用网络监视器捕捉到达以及发出计算机的数据包,检查它们是否有被加密。Windows 2003自带网络监视器,网管可以打开控制面板的添加/删除程序来安装它以及访问windows组件。安装网络监视器之后,选择捕捉菜单中的“开始”来开始捕捉数据包。然后,执行一些普通的操作,比如浏览另一台电脑上的共享文件夹等,通过类似操作来生成网络活动并产生数据。最后,选择捕捉菜单中的“停止”和“查看”。
图2显示了在计算机没有使用IPsec情况下对两个数据包的捕捉结果。在协议栏可以看到很多协议。右边是计算机使用IPsec情况下的捕获情况。可以看到,列表中只有一项协议:压缩安全负载(ESP)。当Windows 2003 计算机使用默认IPsec政策时,载数据包捕获过程中只会出现ESP和互联网控制信息协议(ICMP)。ICMP会出现是因为默认IPsec策略允许ICMP 通信。因此,如果捕捉数据包的时候看到很多协议,就有理由断定IPsec没有正常起作用。
几乎所有的IPsec问题都是因为在互联网密钥交换(IKE)认证阶段出现了认证问题而引起的。当两台计算机试图建立安全连接(SA)的时候,他们通过特定的过程来授予对方身份识别凭证。IKE是协商SA形式的算法。身份识别认证可以是事先共享的密钥,数字证书或者Kerbero安全认证。Windows 2003默认的IPsec策略使用Kerberos安全认证。绝大多数情况下,检修IPsec故障就意味着检修认证的进程。
重新启动IPsec服务
一旦确定IPsec没有工作,应当首先重新启动IPsec服务。这将完全清零IKE协商的状态。IPsec在策略有重大更改后不起作用的这种情况下,该措施通常都能够恢复IPsec的功能。该方案有两个优点:一是不需要重启服务器,另一个是用很短的时间就可以实现。通过执行如下Net命令,你可以在Windows 2003计算机上立刻重启IPsec服务。
net stop policyagent
net start policyagent
现在,再次执行捕捉数据包的程序,或者运行我下文要讲到的Netsh命令测试。
在时间日志中诊断IKE问题
如果重启IPsec服务不能解决故障,可以继续检查安全时间日志。网络登录日志监听各个SA的建立和删除。如果启用了监听登录事件策略的成功失败监听,这些事件就会被记录在日志中。一切运转正常的时候,成功代码显示为541,542和543。
使用共享密钥认证
由于它是依靠共享字符串而不是诸如Kerberos或者证书那样更复杂的方法,共享密钥认证方法能够很有效的使IPsec工作起来。所以要检查Kerberos或者证书认证机制了。在默认的IPsec策略中,从共享密钥认证方式切换到Kerberos安全认证方式需要执行以下几个步骤:
1.关闭所有的IPsec可能应用到的Active Directory(AD)服务
2.点击“开始”,“运行”,然后输入gpedit.msc来开始编辑本地策略。
3.进入路径 计算机配置\系统设置\安全设置\IP安全策略的组策略对象编辑节点。
4.右键点击导致故障的策略然后选择”属性“
5.在规则标签中,选择过滤列表中“所有IP通信”,并点击“编辑”。
6.在“编辑规则属性”对话框中,选择“认证方法”标签然后单击“添加”来添加新的认证方法。
7.选择“使用该字符串发报”按钮并输入一个事先共享的密钥。然后单击“确定”。
8.使用“认证方法”标签中的“上移”按钮来把事先共享密钥移到列表顶端。
这些说明是假设没怎么定制IPsec策略的。总的来说,应当总是创建新的策略而不要编辑已经存在的策略。但是,在当前这种情况下,只是添加一种认证方法,解决故障之后,可以将它降级。变换到共享密钥认证方法会显著的简化认证过程,所以它很有可能使IPsec对你的网络起作用。
确定IPsec策略是否有效
IPsec不工作很有可能是因为网络上的计算机被指定了互补兼容的策略。例如,一个策略可能试图使用证书认证,然而其他策略则只接受共享密钥认证。有两种方法来确定当前主导的是哪种IPsec策略。第一种方法是用IP安全监听器。内置的微软管理平台(MMC)IP安全监听器替代了Windows的Ipsecmon.exe功能。它能确定当前计算机上哪种策略是起作用的。
第二种方法是运行Netsh命令 netsh ipsec dynamic show all|more 从命令行得到相同的信息。该命令将所有的IPsec信息放到剪切板上。可以把该信息粘贴到文本文档中。一旦你得到了这些信息,你就可以很快发现IPsec不工作的原因是:或者计算机没有指定策略,或者指定了不兼容的策略。解决策略不兼容问题之后,IPsec可能就正常工作了。
检查Kerberos认证
Kerberos认证依靠AD。如果产生了Kerberos问题,很可能跟计算机帐户的问题有关。可能需要重置计算机帐户的密码或者重启计算机帐户。如果继续有故障,可能就需要将Kerberos网络通信与域控制器(DC)上的IPsec隔离。运行命令 netsh ipsec dynamic set config ipsecexempt value=0Win2000容许Kerberos认证通信,但是Windows2003不容许。该Netsh命令强制Windows2003如Win2000一样操作。
检查证书认证
如果基于证书的认证系统有问题,很大可能是如下三种情况之一:没有安装证书,证书过期,或者证书撤销列表(CRL)不完整。默认的IPsec证书有效期是2年,这对大多数忘了该有效期的组织来说都足够长了。不像一些证书模板,默认情况下,IPsec证书模板没有设置成自动注册模式。
确定证书认证到底是上述哪种问题的最简便方法就是打开本地计算机的证书存储器。
从长远角度来看,最好的解决方法是创建一个支持自动注册(仅限于Windows2003 企业版)的新的IPsec模板。
证书正在使用时,IPsec检查CRL来确定证书是否已被废除。IPsec要花一定的时间来做这个检查,并且很有可能在得到结果之前,系统就被关闭了。可以运行 netsh ipsec dynamic set config strongcrlcheck 0 来取消CRL检查。
检查客户端策略
IPsec的新的管理员有时候对网络上的所有计算机都应用客户端(只响应)策略,然后纳闷为什么没有加密任何信息。对开始生效的IPsec来说,搭档中的一个需要请求使用IPsec的策略。如果所有的主机都指定的是客户端(只响应)策略,那么没有主机会请求使用IPsec。要解决该问题,可以在计算机上激活各种服务器策略中的一个,然后运行GPU更新。
检查IKE日志
如果所有的前述措施都没有解决IKE问题,就不得不按照更详细的步骤来决定方案。这种情况下,需要有互联网安全连接和密钥管理协议RFC 2408和IKE RFC 2409(ISAKMP)方面的更进一步的知识。运行 netsh ipsec dynamic set config ikelogging 1来开始追踪IKE的协商。可以将ikelogging的值增加至7(记录所有可能的数据)来增加记录下来的信息量。IKE跟踪日志位于\%systemroot%\Debug\Oakley.log,可以用文本编辑器来查看。需要注意的是,记录文档的内容很密集,刚接触IPsec的人很可能很快就受不了了。
最后,笔者要强调的是,尽管IPsec是Windows自带的很有效的安全技术,但是由于其是现有IP协议的一种加密,在一定程度上会增加网络负荷,所以对于广域网或着对信息保密要求比较高的企业网络很适用,而对于普通局域网则可参考使用。而上述讲的技术并不适用于一些特殊的IPsec设备,比如IPsec卡以及基于IPsec的VPN。
©本站发布的所有内容,包括但不限于文字、图片、音频、视频、图表、标志、标识、广告、商标、商号、域名、软件、程序等,除特别标明外,均来源于网络或用户投稿,版权归原作者或原出处所有。我们致力于保护原作者版权,若涉及版权问题,请及时联系我们进行处理。