由于在台式机上升级到Windows 7,我开始有一个病毒检查的问题。 特别是 – 在(托pipe文件的)CIFS共享上执行重命名操作时。 病毒检查程序似乎在文件pipe理器上触发一组消息:
[filerB: auth.trace.authenticateUser.loginTraceIP:info]: AUTH: Login attempt by user server-wk8-r2$ of domain MYDOMAIN from client machine 10.1.1.20 (server-wk8-r2). [filerB: auth.dc.trace.DCConnection.statusMsg:info]: AUTH: TraceDC- attempting authentication with domain controller \\MYDC. [filerB: auth.trace.authenticateUser.loginRejected:info]: AUTH: Login attempt by user rejected by the domain controller with error 0xc0000199: STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT. [filerB: auth.trace.authenticateUser.loginTraceMsg:info]: AUTH: Delaying the response by 5 seconds due to continuous failed login attempts by user server-wk8-r2$ of domain MYDOMAIN from client machine 10.1.1.20.
这似乎是特别触发rename所以我们认为是病毒检查正在看到一个“新”的文件,并试图做一个访问时扫描。 病毒检查程序 – 以前以LocalSystem身份运行,因此发送null因为它的身份validation请求现在看起来更像DOS攻击,并导致文件暂时黑名单。 这个5slocking每个“访问尝试”在大多数情况下是一个小的麻烦,对于一些操作真的非常重要 – 例如大文件传输,每个文件需要5s
做了一些挖掘,这似乎与NLTMauthentication有关:
Symptoms Error message: System error 1808 has occurred. The account used is a computer account. Use your global user account or local user account to access this server. A packet trace of the failure will show the error as: STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT (0xC0000199) Cause Microsoft has changed the functionality of how a Local System account identifies itself during NTLM authentication. This only impacts NTLM authentication. It does not impact Kerberos Authentication. Solution On the host, please set the following group policy entry and reboot the host. Network Security: Allow Local System to use computer identity for NTLM: Disabled Defining this group policy makes Windows Server 2008 R2 and Windows 7 function like Windows Server 2008 SP1.
所以我们现在已经有了一些解决方法,不是特别好 – 一个是改变这个安全选项。 一种是禁用病毒检查,或者免除部分基础设施。
这里是我向我请求ServerFault帮助的地方 – 最好的方法是什么? 我缺乏Windows的经验,以确定我所看到的。
我不完全确定为什么NTLM首先是这个图像的一部分 – 我以为我们正在使用Kerberos身份validation。 我不知道如何开始诊断或解决这个问题。 (我们正在跨域 – 工作站计算机帐户是在一个单独的AD和DNS域到我的文件pipe理器。然而,正常的用户身份validation工作正常。
如果没有这个,任何人都可以提出其他的问题? 我想避免一个网站广泛的安全选项的变化,或者如果我这样做,我需要能够提供详细的推理。 同样,禁用病毒检查是一个短期的解决方法,应用排除可能有帮助…但我宁愿不,也不认为解决了潜在的问题。
编辑:在AD ldap Filers有SPNs:
nfs/host.fully.qualified.domain nfs/host HOST/host.fully.qualified.domain HOST/host
(对不起,必须混淆这些)。
难道是没有“cifs / host.fully.qualified.domain”它不会工作? (或其他一些SPN?)
编辑:作为我一直在做的search的一部分,我发现: http : //itwanderer.wordpress.com/2011/04/14/tread-lightly-kerberos-encryption-types/
这表明在Win7 / 2008R2中默认禁用了几种encryptiontypes。 这可能是相关的,因为我们肯定与Keberized NFSv4有类似的问题。 有一个隐藏的选项可能会帮助一些未来的Keberos用户:选项nfs.rpcsec.trace(虽然这还没有给我任何东西,所以可能只是NFS特定的)。
编辑:进一步挖掘让我跟踪它跨域validation。 它看起来像我的Windows 7工作站(在一个域中)没有获得其他域的Kerberos票据,其中我的NetApp文件pipe理器已joinCIFS。 我已经单独对独立服务器(Win2003和Win2008)做了这个,并没有得到这些Kerberos门票。
这意味着我认为 Kerberos可能会被破坏,但我不知道如何排除故障。
编辑:进一步更新:它看起来像这可能是Kerberos门票不被发出跨域。 然后触发NTLM回退,然后运行到这个问题(自Windows 7以来)。 第一个停靠点将是调查Kerberos方面的事情,但是在任何情况下我们都没有指向Filer的根本原因。 就像这个存储工程师一样,它已经不在我的手中了。
但是,如果任何人都可以指向我跨两个Windows AD域(Kerberos领域)的Kerberos故障排除的方向,那么将不胜感激。
我们将要考虑解决的选项:
我会修改您的防病毒策略,不扫描通过networking共享的文件。 您可能会有十几个客户端试图通过networking同时扫描同一个文件。
所以在Windows 2000,2003,Windows XP,Vista和2008中,默认行为是这样的:
但在Windows 7和2008 R2及更高版本中,默认行为已更改为:
来源: http : //technet.microsoft.com/en-us/library/jj852275.aspx
你说你想避免整个网站的安全选项的变化,但是当你把所有的客户端升级到Windows 7时,你已经做了一个。
至于你为什么不首先使用Kerberos,这是一个完全不同的问题,你没有给我们足够的数据来回答。 要使Kerberos正常工作,CIFS服务需要与域和已注册的服务主体名称build立信任关系,并且客户端必须使用主机名或FQDN(而不是IP地址)来对服务进行寻址。
你的文件pipe理器域join了吗? 如果是的话,他们有CIFS / * SPN吗?
我已经走到了这一轮的最后,现在知道为什么发生了。
综上所述:
自Windows 7/2008以来,客户端计算机上“LocalSystem”的默认行为已更改。 在使用“空”login之前,它使用NTLM的计算机帐户。
因为我们要在两个AD林之间,Kerberos没有被使用。 这是devise。 http://technet.microsoft.com/en-us/library/cc960648.aspx“Kerberos身份validation使用林中域之间的透明传递信任,但无法在单独的林中的域之间进行身份validation”
Sophos正在扫描由“重新命名”触发的“访问”文件。 出于安全策略的原因,这包括networking驱动器。
由于Sophos以LocalSystem身份运行,它将通过NTLM将计算机帐户呈现给Filer。 这个帐户然后被拒绝,STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT和10重试后,文件pipe理器触发locking。
由于这种locking,随后的病毒扫描尝试将每次尝试停顿5秒。 这是我们问题的根源,因为我们的过程复制并重命名了数百个文件,在第10个之后,每个文件将花费5s。
这给我们留下了以下解决scheme:
如上所述修改安全策略选项:networking安全:允许本地系统使用NTLM的计算机标识:已禁用
在networking驱动器的病毒检查器中应用排除
合并你的单独的域到相同的森林,所以Kerberos的工作。(另一个选项概述在这里: http : //xitnotes.wordpress.com/2012/03/29/kerberos-in-an-active-directory-forest-trust- vs-external-trust /涉及升级域之间的关系,使Kerberos再次工作。
使用vfiler,CIF将其join到其他域。
filer上还有一个选项,在发生这种locking之前重新启动重试次数 – 这是一个隐藏的选项,我没有精确的语法。