伙计们,
我正在尝试为Windows事件日志查看器制作自定义XML / Xpath过滤器,以从安全日志的视图中排除无数的“系统”登录.我已经在Technet blog on XML filtering的帮助下成功实现了这一目标:
<QueryList> <Query Id="0" Path="Security"> <Select Path="Security"> *[System[(EventID=4624)]] and *[EventData[Data[@Name='TargetUserSid'] and (Data!='S-1-5-18')]] </Select> </Query> </QueryList>
但是出乎所有人的意料,我仍然在视图中有这样的事件(当然还有其他事件):
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event"> <System> <Provider Name="Microsoft-Windows-Security-Auditing" Guid="{54849625-5478-4994-A5BA-3E3B0328C30D}" /> <EventID>4624</EventID> <Version>0</Version> <Level>0</Level> <Task>12544</Task> <Opcode>0</Opcode> <Keywords>0x8020000000000000</Keywords> <TimeCreated SystemTime="2013-07-18T15:12:55.797049800Z" /> <EventRecordID>199135861</EventRecordID> <Correlation /> <Execution ProcessID="496" ThreadID="3028" /> <Channel>Security</Channel> <Computer>SBS.domain.local</Computer> <Security /> </System> <EventData> <Data Name="SubjectUserSid">S-1-0-0</Data> <Data Name="SubjectUserName">-</Data> <Data Name="SubjectDomainName">-</Data> <Data Name="SubjectlogonId">0x0</Data> <Data Name="TargetUserSid">S-1-5-18</Data> <Data Name="TargetUserName">SBS$</Data> <Data Name="TargetDomainName">DOMAIN</Data> <Data Name="TargetlogonId">0x684af79a</Data> <Data Name="logonType">3</Data> <Data Name="logonProcessName">Kerberos</Data> <Data Name="AuthenticationPackageName">Kerberos</Data> <Data Name="WorkstationName"> </Data> <Data Name="logonGuid">{9D5E970C-928D-E3FD-8D96-09044670F33E}</Data> <Data Name="TransmittedServices">-</Data> <Data Name="LmPackageName">-</Data> <Data Name="KeyLength">0</Data> <Data Name="ProcessId">0x0</Data> <Data Name="ProcessName">-</Data> <Data Name="IpAddress">fe80::cc18:cb50:1710:c2a7</Data> <Data Name="IpPort">6413</Data> </EventData> </Event>
我无法理解为什么视图中包含了具有S-1-5-18的TargetUserSid属性的事件,而不应该包含该事件.它也适用于另一个方向 – 如果我将过滤器定义为* [EventData [Data [@ Name =’TargetUserSid’]和(Data =’S-1-5-18′)]],我会看到不同的TargetUserSid“滑倒”.
从域对象中选择一个不同的(长)SID似乎按预期工作,并给我一个视图,其中只有相应地设置了TargetUserSid的事件.
我也尝试过滤其他属性,如TargetUserName,但只是遇到类似的问题.
试试这个:
<QueryList> <Query Id="0" Path="Security"> <Select Path="Security">*[System[(EventID=4608)]]</Select> <Suppress Path="Security">*[EventData[Data[@Name="TargetUserSid"] = "S-1-5-18"]]</Suppress> </Query> </QueryList>