客户端访问中间层不时提示远程服务器不存在或不可用
19人赞赏了该文章
2.1万次浏览
编辑于2014年03月18日 14:25:59
此问题一般是发生在WIN7客户端+中间层为WIN2008 R2系统,一般是中间层启用guest引起:
a. 从Windows Vista以后, Negotiate (http://msdn.microsoft.com/en-us/library/windows/desktop/aa378748(v=vs.85).aspx) authentication 启用了 ISC_REQ_INTEGRITY。这会在认证中启用特殊的数字签名。
b. 在Win7 DCOM 通信建立的过程中, 如果在一个链接上产生多次认证时, 除了第一次认证, 后面的认证都会使用额外的数字签名。
c. 当使用Guest账户并且启用数字签名认证的时候,如果Win7客户端无法提供正确的用户名和密码,那么数字签名的Session Key就没有办法解出,会导致数字签名认证直接失败,就是我们在本案例中遇到的情况。
d. 由此可见,这是新系统下安全加强情况下的行为。
要解决此类问题,我们需要:
1. 不使用Guest账户,修改中间层本地账户的共享和安全模式(修改为经典),禁用guest用户,直接提供两边一致的用户名和密码或者中间层和客户端同一个域;
2. 启用Anonymous账号拥有Everyone的权限。这个在gpedit.msc管理工具里面改动即可:“网络访问:将everyone 权限应用于匿名用户”设置为启用。
3、组策略-本地安全策略-用户权限分析,从网络访问此计算机中增加Guest用户
4、拒绝从网络访问这台计算机中去掉Guest用户;
a. 从Windows Vista以后, Negotiate (http://msdn.microsoft.com/en-us/library/windows/desktop/aa378748(v=vs.85).aspx) authentication 启用了 ISC_REQ_INTEGRITY。这会在认证中启用特殊的数字签名。
b. 在Win7 DCOM 通信建立的过程中, 如果在一个链接上产生多次认证时, 除了第一次认证, 后面的认证都会使用额外的数字签名。
c. 当使用Guest账户并且启用数字签名认证的时候,如果Win7客户端无法提供正确的用户名和密码,那么数字签名的Session Key就没有办法解出,会导致数字签名认证直接失败,就是我们在本案例中遇到的情况。
d. 由此可见,这是新系统下安全加强情况下的行为。
要解决此类问题,我们需要:
1. 不使用Guest账户,修改中间层本地账户的共享和安全模式(修改为经典),禁用guest用户,直接提供两边一致的用户名和密码或者中间层和客户端同一个域;
2. 启用Anonymous账号拥有Everyone的权限。这个在gpedit.msc管理工具里面改动即可:“网络访问:将everyone 权限应用于匿名用户”设置为启用。
3、组策略-本地安全策略-用户权限分析,从网络访问此计算机中增加Guest用户
4、拒绝从网络访问这台计算机中去掉Guest用户;
推荐阅读